![Page 1: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/1.jpg)
La Haute Disponibilité
Ph. Sèvre le 26/10/2012
![Page 2: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/2.jpg)
Quelques chiffres
• 99% de dispo : 3,6 j HS /an
• 99,9 % de dispo : 8,76 h HS /an
• 99,99 % de dispo : 52 mn HS /an
• 99,999 % de dispo : 6 mn HS /an
• 99,9999 % de dispo : 30 s HS /an
![Page 3: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/3.jpg)
Les clusters à haute disponibilité (High Availability)
• ce sont des clusters qui permettent un fonctionnement à 100 % : solution de reprise sur incident
• on dispose généralement d’une machine maître et d’une machine de backup disposée à prendre le relais en cas de problème
• à un instant donné la charge de travail est effectuée par la seule machine maître (habituellement fonctionnement actif/passif)
![Page 4: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/4.jpg)
La reprise sur incident (Fail-Over)• C’est le procédé qui permet à un serveur de
prendre le relais d’un autre en cas de panne
• il utilise une liaison ( HeartBeat) qui envoie périodiquement des informations de diagnostic avec le protocole UDP sur une interface dédiée (ethernet ou série)
• en cas de problème de liaison avec le nœud distant, la machine effectue un IP-FAILOVER qui consiste à prendre une adresse IP réservée et à lancer les services qui tournaient sur l’autre machine (ex service httpd start)
![Page 5: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/5.jpg)
La reprise sur incident : Fail-Over • permet de prendre le relais en 10 s maxi
• fonctionne sous Linux (package heartbeat)
![Page 6: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/6.jpg)
Terminologie : le Split-Brain
• Se produit quand plusieurs éléments d’un cluster essaient de prendre le contrôle du cluster
• Peut produire des effets catastrophiques (p.e. écriture simultanée sur un même volume)
![Page 7: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/7.jpg)
Terminologie : Fencing
• Consiste à dresser une barrière pour empêcher un nœud devenu incontrôlable d’accéder aux ressources du cluster.
• Utilisation de STONITH : Shoot The Other Node In The Head (p.e. piloter l’onduleur de l’autre nœud)
![Page 8: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/8.jpg)
Terminologie : le Quorum
• Permet de d’éviter le split-brain en s’assurant qu’un seule partition est active à un moment donné
![Page 9: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/9.jpg)
Terminologie : ressource critique
• Une ressource est dite critique quand sa panne empêche le fonctionnement du système entier
• Appelée SPOF : Single Point Of Failure
• Une bonne conception HA évite les ressources critiques (=> Redondance)
![Page 10: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/10.jpg)
La HA
• Maitre mot : REDONDANCE
![Page 11: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/11.jpg)
L’application HeartBeat
• Existe depuis des années (1998)
• Plus de 30 000 en production
• Très fiable
• Développeur principal embauché par IBM
• Version 2 : avec Gestionnaire de Resources Cluster (CRM) et interface graphique
![Page 12: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/12.jpg)
L’accès aux données - 1• problème : l’accès aux données . Pour que le
schéma précédent fonctionne il est impératif que chacun des nœud puisse disposer des mêmes données :
• quelques solutions – partage NFS : peu recommandé– baie de stockage SCSI externe utilisée par un seul
nœud à un moment donné – SAN avec périphériques FC-AL– solution GFS (Global File System) sur un serveur
dédié
![Page 13: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/13.jpg)
L’accès aux données - 2• Synchronisation logicielle avec
– Rysnc (faisable avec un lien dédié Gigabit)– Ddrbd: (~Raid 1 réseau)
• Attention au problème de cohérence et d’accès simultané de deux programmes à une même ressource : Dual Head
• quelques solutions – Stonith : Shoot The Other Node In The Head – WatchDog : par carte matérielle ou interruption noyau
: arrête/redémarre le système si non désarmé au bout d’un temps
![Page 14: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/14.jpg)
Présentation
• L’application HeartBeat permet de mettre en œuvre un cluster à haute disponibilité sous Linux
• Heartbeat permet à une seconde machine de prendre le relais presque instantanément en cas de problème sur la machine active
• HeartBeat est utilisable pour tous les protocoles classiques (www, ftp, mail, pop3, smb, DNS, …)
![Page 15: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/15.jpg)
Exemple : cluster à haute disponibilité avec Samba
![Page 16: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/16.jpg)
Le fonctionnement - 1• Les deux serveur sont reliés par un ou deux liens dédiés
appelé heartbeat (Ethernet ou série) qui vont permettre de détecter une interruption de service sur l’autre machine
• Les deux serveurs disposent chacun d’une adresse IP (!) et d’un alias IP qu’ils se partagent : à un moment donné l’alias n’est activé que sur une machine. Le serveur actif écoute sur l’alias partagé et non pas sur son adresse propre
• Le serveur passif polle en UDP le serveur actif toutes les 10 s sur le lien heartbeat
![Page 17: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/17.jpg)
Le fonctionnement - 2• Si le serveur inactif ne reçoit pas de réponse sur le
heartbeat, il envoie un paquet ARP gratuit pour informer les clients de la nouvelle adresse MAC associée à l’alias et il active l’alias puis lance le ou les services associés (httpd, smb, ftp, …)
• Les clients vont alors être en liaison avec le serveur qui a pris le relais
• Remarque : si le protocole est un protocole orienté connxion (smb , smtp, pop3, etc) : le client devra alors se reconnecter.Attention aux informations de session (cookies) en http
![Page 18: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/18.jpg)
Le fonctionnement – 3
• Heartbeat peut fonctionner maintenant en mode Actif/Actif
• Il gère également avec ipfail la connectivité avec les autres machines/routeurs du réseau et peut déclencher le basculement automatique sur l'esclave
![Page 19: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/19.jpg)
La Configuration de heartbeat• 3 fichiers :
– /etc/ha.d/ha.cf– /etc/ha.d/haresources– /etc/ha.d/authkeys
![Page 20: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/20.jpg)
Le fichier ha.cfserial /dev/ttyS0 # pour le heartbeat série
udp eth1 # indique l’interface du heartbeat.
keepalive 2 # délai entre les heartbeats
deadtime 10 # un nœud est considéré comme mort après 10 s.
baud 19200 # débit du heartbeat série.
udpport 694 # N° port 694 pour udp. Le standard. auto_failback off # Optionnel. L e maître garde les ressources jusqu’au
failover , at which time the slave takes over. Q uand le maître revient en ligne, il récupère tout de l’esclave si la valeur est à On,. La vaeleur off empêche le maître de reprendre les ressources après un failover.
node linuxha1.linux-ha.org # nœud correspond à ‘uname –a’
node linuxha2.linux-ha.org # idem
![Page 21: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/21.jpg)
Le fichier haresourcesHaresources doit être identique sur les 2 nœuds
• Exemple de haresources
linuxha1.linux-ha.org 192.168.85.3 httpd smb
• La ligne ci-dessus spécifie :
• Au démarrage le serveur linxha1.linux-ha.org utilise l’adresse 192.168.85.3 et lance apache et samba. Lors de l’arrêt, heartbeat coupe d’abord samba, puis apache, et libère l’adresse IP. Note: httpd et smb sont les scripts de démarrage d’Apache et Samba . Heartbeat cherche les scripts dans les répertoires suivants : /etc/ha.d/resource.d puis /etc/rc.d/init.d
• Les scripts doivent lancer les services avec «nomscript start" et les arrêter avec "nomscript stop". Il est possible d’utiliser tous les services possibles du moment qu’ils respectent les informations ci-dessus.
![Page 22: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/22.jpg)
Le fichier authkeys• Il comporte les clés d’authentification (3 méthodes : crc, md5 et
sha1)• Si le réseau est sécurisé (câble croisé) on peut utiliser CRC. La
méthode standard est MD5, SHA1 est pour les paranoïaques.• Format du fichier :
auth <number> <nombre> <méthode> [<clé>]
• Par exemple, pour sha1 : auth 1 1 sha1 « valeurdelaclé »
• Pour md5, il suffit de rmplacer sha1 par md5. • Pour crc, on aura :
auth 2 1 crc
• Les permissions doivent être en 600 pour root !
![Page 23: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/23.jpg)
Lancements et tests • Lancer heartbeat : service heartbeat start
• Arrêter heartbeat : service heartbeat stop
• Tests :– Une fois le heartbeat lancé, la commande ifconfig
doit donner la configuration de eth0 et de eht0:0 (Alias)
– Pour tester il suffit de couper le serveur maître et de voir ce qui se passe , l’esclave prend l’alias IP et prend le relias du maître
![Page 24: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/24.jpg)
La synchronisation des données• Heartbeat n’assure pas la synchronisation des données,
il faudra donc envisager une solution pour que le nouveau serveur dispose des données utilisateur
• Quelques pistes :– Partage NFS (peu recommandé : fiabilité moyenne)– Utilisation de DRBD : Distributed Data Block Device (RAID
1 réseau) – Baie ou disque SCSI partagé (1 seul accès en écriture à un
moment donné)– SAN avec switch FC-AL (cher !)– Synchronisation logicielle au moyen de rsync– Solution GFS (Global File System) avec un serveur de
stockage
![Page 25: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/25.jpg)
La synchronisation avec rsync - 1• Rsync est une solution open-source très efficace pour
effectuer de la synchronisation de données• Rsync permet de mettre à jour des fichiers/répertoires
ayant changé sur deux machines mais il ne transfère que les parties de fichiers ayant changé et non la totalité du fichier => ce qui diminue la BP utilisée
• Il est très utilisé pour les miroirs de site web et FTP• Il est disponible en rpm pour toutes les distributions• Il existe une version Win32 de rsync
![Page 26: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/26.jpg)
La synchronisation avec rsync – 2• Mise en œuvre :
– Rsync peut être lancé périodiquement avec une commande cron
– Le plus simple est d’utiliser un tunnel ssh pour le transfert des données (on créera une clé publique sur le client que l’on exportera sur le serveur maître)
– Exemple : rsync -az -e ssh master:/home/ /home– Remarque : pour Samba, il faudra également
synchroniser les fichiers /etc/passwd, /etc/group et smbpasswd
![Page 27: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/27.jpg)
La synchronisation avec rsync – 3
• Remarque :– Il sera également nécessaire de prévoir des scripts
pour synchroniser le maître depuis l’esclave : – En effet quand le maître sera à nouveau en ligne, il
devra récupérer les nouveaux fichiers depuis l’esclave.
![Page 28: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/28.jpg)
Les tests
• Ils sont stratégiques mais complexes :
• Tester la panne de chaque nœud
• Tester la panne de chaque ressource
• Tester également dans toutes les conditions de charge
![Page 29: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/29.jpg)
HA et PRA
• HA
• Peu cher
• Contraintes géographiques
• Temps de basculement court
• PRA
• Tres cher
• Temps de basculement long
![Page 30: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/30.jpg)
Informations
• Linux-ha.org : une mine d’or
![Page 31: La Haute Disponibilité Ph. Sèvre le 26/10/2012. Quelques chiffres 99% de dispo : 3,6 j HS /an 99,9 % de dispo : 8,76 h HS /an 99,99 % de dispo : 52 mn](https://reader036.vdocuments.fr/reader036/viewer/2022062318/551d9db4497959293b8d915d/html5/thumbnails/31.jpg)
TP
• Sur 2 machines virtuelles, mettre en oeuvre un cluster HA Apache à contenu statique
• Tester et examiner les logs
• Puis modifier pour utiliser une BD et une replication de la BD
• DRBD