Serveurs · 2 min read · Oct 21, 2025

Se Défoncer Avec Lenny - Page 5

Après avoir configuré les 2 fichiers ci-dessus, le haresources est l’endroit où nous voulons être pour contrôler le comportement de Heartbeat. Voici un exemple pour 1 Vserver que nous allons configurer plus tard.

nano /etc/ha.d/haresources
node1 drbddisk::r1 LVM::drbdvg1 Filesystem::/dev/drbdvg1/web::/VSERVERS/web::ext3 vserver-web SendArp::123.123.123.125/eth0

Ce qui précède définira par défaut le Vserver nommé web sur node1 et spécifiera les points de montage, le script vserver-web démarrera et arrêtera Heartbeat, le sendarp est pour notifier le réseau que cette IP peut être trouvée ailleurs que précédemment. (J’ai ajouté le SendArp une fois de plus ci-dessous pour un meilleur résultat.)

Le script vserver-web est essentiellement une version démolie de l’agent original de style R2 par Martin Fick ici : http://www.theficks.name/bin/lib/ocf/VServer. Ce que j’ai fait, c’est supprimer la partie supérieure sensible et remplacer “$OCF_RESKEY_vserver” par le nom spécifique du Vserver, j’ai également ajouté un /etc/ha.d/resource.d/SendArp 123.123.123.126/eth0 start à la partie de démarrage car j’avais divers résultats lorsque cela était fait par Heartbeat.

nano /etc/ha.d/resource.d/Vserver-web
#!/bin/sh
#
# License: GNU General Public License (GPL)
# Author:  Martin Fick <[email protected]>
# Date:    04/19/07
# Version: 1.1
#
#    Ce script gère une instance de VServer
#
#    Il peut démarrer ou arrêter un VServer
#
#    utilisation : $0 {start|stop|status|monitor|meta-data}
#
#
#       Les paramètres OCF sont comme ci-dessous
#       OCF_RESKEY_vserver
#
#######################################################################
# Initialisation:
#
#. /usr/lib/heartbeat/ocf-shellfuncs
#
#USAGE="utilisation : $0 {start|stop|status|monitor|meta-data}";
#
#######################################################################
#
#
#meta_data() {
#        cat <
#
#
# 1.0
# 
#Ce script gère une instance de VServer.
#Il peut démarrer ou arrêter un VServer.
# 
# Script VServer conforme à l'agent de ressources OCF.
#
#

#
#

#   
#Le nom du vserver est le nom tel qu'il se trouve sous /etc/vservers
#   
#   Nom du VServer
#    
#   
#
# 
#
# 
#  
#  
#  
#  
#  
# 
#
#END
#}
vserver_reload() {
    vserver_stop || return
    vserver_start
}
vserver_stop() {
  #
  #    Le VServer est-il déjà arrêté ?
  #
    vserver_status
    [ $? -ne 0 ] && return 0
    /usr/sbin/vserver "web" "stop"
    vserver_status
    [ $? -ne 0 ] && return 0
    return 1
}
vserver_start() {
    vserver_status
    [ $? -eq 0 ] && return 0
    /usr/sbin/vserver "web" "start"
    vserver_status
    /etc/ha.d/resource.d/SendArp 123.123.123.125/eth0 start
}
vserver_status() {
    /usr/sbin/vserver "web" "status"
    rc=$?
    if [ $rc -eq 0 ]; then
    echo "en cours d'exécution"
        return 0
    elif [ $rc -eq 3 ]; then
    echo "arrêté"
    else
    echo "inconnu"
    fi
    return 7
}
vserver_monitor() {
  vserver_status
}
vserver_usage() {
  echo $USAGE >&2
}
vserver_info() {
cat - <