Home | Les couches OSI | Avaya P33X | Cisco 2960 | Zone Linux | Espace membre

Haute-disponibilité pour serveur Linux



Heart-beat

Heart-beat est un logiciel pour Linux du monde libre. Heart-beat signifie battement de coeur, qui symbolise le test de présence des maîtres esclaves. Heart Beat propose une architecture cluster, selon la technologie « IP Adress Takeover ». L’un des nœuds est maître, l’autre esclave. Lorsque le maître rencontre un incident, l’esclave prend le relais en récupérant l’adresse IP du serveur maître.


Les commandes de gestion de Heart Beat :
#Pour lancer le service
service Heart Beat start
#Pour stopper le service
service Heart Beat stop
#Pour recharger les fichiers de configuration
service Heart Beat reload

Fonctionnement de Heart Beat :
Le fonctionnement de Heart Beat doit être fait de telle sorte que :
1. Le serveur maître s’arrête.
2. Le serveur esclave monte l’adresse IP de la gateway de sortie.
3. Le serveur esclave diffuse des trames ARP pour signaler aux serveurs de la DMZ que l’adresse MAC de la passerelle par défaut a changé.
4. Le serveur maître est à nouveau disponible.
5. Le serveur maître signale sa présence à l’esclave.
6. Le serveur esclave descend l’interface virtuelle.
7. Le serveur maître remonte l’interface virtuelle avec l’adresse IP de la passerelle de sortie. On retrouve la situation de départ.
L’adresse IP de la passerelle de sortie est une VIP (Virtual IP). Elle se déplace entre les 2 serveurs. Mais attention, il s’agit d’une adresse IP supplémentaire car les interfaces ont leurs propres adresses.

Remarque :
Heart Beat nécessite pour son fonctionnement une liaison dédiée (câble zéro modem ou câble croisé).

Dessin avec lien dédié

Configuration


Dans cet exemple, Heart Beat utilise l’interface eth0 pour envoyer des tests UDP sur le port 694. Les variables keepalive, initdead et deadtime gouvernent la rapidité de réaction de Heart Beat en cas de problème sur S1.

Le fichier authkeys pour le Serveur 1 (S1) et le serveur 2 (S2) :
#Ce fichier precise le mode d’authentification
auth 1
1 crc

Le fichier haresources pour s1 et s2 :
#Ce fichier precise le service a surveiller et l’adresse VIP (160.133.100.254), httpd est le service en cluster pour notre exemple
S1.domain 160.133.100.254 httpd
s2.domain 160.133.100.254 httpd

Le fichier ha.cf pour s1 :
debugfile /root/fw/log/ha-debug
logfile /root/fw/log/ha-log
keepalive 5
initdead 30
deadtime 10
#Si on utilise la liaison serie
#serial /dev/ttyS0
#baud 19200
udpport 694
#interface de heartbeat
bcast eth0
nice_failback off
node s1.domain
node s2.domain

Le fichier ha.cf pour s2 :
debugfile /ha-debug
logfile /ha-log
keepalive 5
initdead 30
deadtime 10
udpport 694
#interface de heartbeat
bcast eth0
nice_failback on
node s1.domain
node s2.domain
Exemple :
HeartBeat n’est pas en service, voici ce que donne un ifconfig sur l'interface cluster du maître.
eth1 Lien encap:Ethernet HWaddr 00:04:76:21:8C:0D
inet adr:160.133.100.250 Bcast:160.133.100.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:14
collisions:0 lg file transmission:100
RX bytes:0 (0.0 b) TX bytes:840 (840.0 b)
Interruption:9 Adresse de base:0x7800
HeartBeat est en service, il a monté l’interface virtuelle avec l’adresse virtuelle 160.133.102.254.
eth1 Lien encap:Ethernet HWaddr 00:04:76:21:8C:0 inet adr:160.133.100.250 Bcast:160.133.100.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:14
collisions:0 lg file transmission:100
RX bytes:0 (0.0 b) TX bytes:840 (840.0 b)
Interruption:9 Adresse de base:0x7800

eth1:0 Lien encap:Ethernet HWaddr 00:04:76:21:8C:0D
inet adr:160.133.100.254 Bcast:160.133.100.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:9 Adresse de base:0x7800



Précédent - Haute disponibilité sous Linux - Suite



© 2010 adm4net.com