Redondance de serveurs sous Linux

Posted by

Je suis en train de réarchitecturer un réseau en haut disponibilité. Pour cela les serveurs vont par paire. Lorsque le maitre lâche, il faut qu’une bascule s’opère vers le second serveur. Pour cela Heartbeat est un outils formidable. Il permet de basculer une ou plusieurs adresses IP d’un serveur à un autre si le premier serveur tombe. Dans le fichier /etc/ha.d/ha.cf, on commence par décrire les noeuds présents dans la grappe. Ce doit être des noms résolvables. On définit également la méthode de communication. Dans mon cas il s’agit du premier port série.

node www1 www2
logfile /var/log/ha.log
logfacility local0

keepalive 2
warntime 5
deadtime 15
initdead 20

auto_failback on

baud 9600
bcast eth0
serial /dev/ttyS0

Dans le fichier /etc/ha.d/authkeys on indique une clé d’authentification :

auth 1
1 md5 "LeMotDePasseDeLaMortQuiTueLaVie"

Enfin dans le fichier /etc/ha.d/haresources on indique les actions à effectuer. Ce fichier commence par la machine maitre sur la grappe, ensuite l’ip virtuelle à commuter. Puis IPaddr défini une action pour commuter une IP virtuelle supplémentaire, enfin on envoi un mail d’alerte.

www1 192.168.1.10 IPaddr::192.168.1.11 MailTo::toto@domaine.exemple

Pour tester il suffit de coupear Heartbeat sur le serveur principal, l’IP virtuelle devrait commuter automatiquement. Le problème qu’il peut se poser ensuite concerne la réplication des données. Dans le cadre d’une redondance de simples routeurs, le problème s’arrête la. Certains services tels que LDAP et MySQL possèdent leur propres mécanismes de réplication. Par contre un serveur Web n’en possède pas. Dans le cas où nous ne disposons pas pas de support de stockage partagé tel qu’un SAN ou un NAS, il faut trouver encore un système de mirroir par réseau. DRBD me semble un bon candidat…

One comment

  1. bonsoir je travail sur la disponibilite d’un service de redondance de messagerie si vous pouvez m’aidé comment implementer ca

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *