La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 La Haute Disponibilité Ph. Sèvre le 26/10/2012

2 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

3 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 dune machine maître et dune 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)

4 La reprise sur incident (Fail-Over) Cest le procédé qui permet à un serveur de prendre le relais dun 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 lautre machine (ex service httpd start)

5 La reprise sur incident : Fail-Over permet de prendre le relais en 10 s maxi fonctionne sous Linux (package heartbeat)

6 Terminologie : le Split-Brain Se produit quand plusieurs éléments dun cluster essaient de prendre le contrôle du cluster Peut produire des effets catastrophiques (p.e. écriture simultanée sur un même volume)

7 Terminologie : Fencing Consiste à dresser une barrière pour empêcher un nœud devenu incontrôlable daccéder aux ressources du cluster. Utilisation de STONITH : Shoot The Other Node In The Head (p.e. piloter londuleur de lautre nœud)

8 Terminologie : le Quorum Permet de déviter le split-brain en sassurant quun seule partition est active à un moment donné

9 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)

10 La HA Maitre mot : REDONDANCE

11 Lapplication HeartBeat Existe depuis des années (1998) Plus de en production Très fiable Développeur principal embauché par IBM Version 2 : avec Gestionnaire de Resources Cluster (CRM) et interface graphique

12 Laccès aux données - 1 problème : laccè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é

13 Laccè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 daccè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 dun temps

14 Présentation Lapplication 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, …)

15 Exemple : cluster à haute disponibilité avec Samba

16 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 lautre machine Les deux serveurs disposent chacun dune adresse IP (!) et dun alias IP quils se partagent : à un moment donné lalias nest activé que sur une machine. Le serveur actif écoute sur lalias 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

17 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 à lalias et il active lalias 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

18 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

19 La Configuration de heartbeat 3 fichiers : –/etc/ha.d/ha.cf –/etc/ha.d/haresources –/etc/ha.d/authkeys

20 Le fichier ha.cf serial /dev/ttyS0 # pour le heartbeat série udp eth1 # indique linterface du heartbeat. keepalive 2 # délai entre les heartbeats deadtime 10 # un nœud est considéré comme mort après 10 s. baud # 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 jusquau failover, at which time the slave takes over. Q uand le maître revient en ligne, il récupère tout de lesclave 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

21 Le fichier haresources Haresources doit être identique sur les 2 nœuds Exemple de haresources linuxha1.linux-ha.org httpd smb La ligne ci-dessus spécifie : Au démarrage le serveur linxha1.linux-ha.org utilise ladresse et lance apache et samba. Lors de larrêt, heartbeat coupe dabord samba, puis apache, et libère ladresse IP. Note: httpd et smb sont les scripts de démarrage dApache 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 dutiliser tous les services possibles du moment quils respectent les informations ci-dessus.

22 Le fichier authkeys Il comporte les clés dauthentification (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 [ ] 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 !

23 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, lesclave prend lalias IP et prend le relias du maître

24 La synchronisation des données Heartbeat nassure 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

25 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

26 La synchronisation avec rsync – 2 Mise en œuvre : –Rsync peut être lancé périodiquement avec une commande cron –Le plus simple est dutiliser un tunnel ssh pour le transfert des données (on créera une clé publique sur le client que lon 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

27 La synchronisation avec rsync – 3 Remarque : –Il sera également nécessaire de prévoir des scripts pour synchroniser le maître depuis lesclave : –En effet quand le maître sera à nouveau en ligne, il devra récupérer les nouveaux fichiers depuis lesclave.

28 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

29 HA et PRA HA Peu cher Contraintes géographiques Temps de basculement court PRA Tres cher Temps de basculement long

30 Informations Linux-ha.org : une mine dor

31 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


Télécharger ppt "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."

Présentations similaires


Annonces Google