1 / 28

Exposé Système, Année 2006-2007

Jérémie LEGRAND. Université de Marne La Vallée Informatique et Réseaux 3 ème année. La haute disponibilité via Heartbeat, concepts et exemples pratiques. Exposé Système, Année 2006-2007. Ce que l’on va voir…. Généralités sur la haute disponibilité Concepts à maîtriser

shay-cannon
Download Presentation

Exposé Système, Année 2006-2007

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jérémie LEGRAND Université de Marne La Vallée Informatique et Réseaux 3ème année La haute disponibilité via Heartbeat, concepts et exemples pratiques Exposé Système, Année 2006-2007

  2. Ce que l’on va voir… Généralités sur la haute disponibilité Concepts à maîtriser Exemples d’applications Heartbeat par la pratique IR3 2006-2007 - Système - Jérémie Legrand

  3. Principes généraux « You'd better pump even if nothing happens than risking something worse happens if you do not pump.» (The Shadoks) IR3 2006-2007 - Système - Jérémie Legrand

  4. La haute disponibilité, c’est quoi « On appelle « haute disponibilité »toutes les dispositions visant à garantir la disponibilité d'un service et son bon fonctionnement 24H/24. » (www.commentcamarche.net) IR3 2006-2007 - Système - Jérémie Legrand

  5. Pourquoi faire ? • Ces services peuvent pénaliser l’entreprise en cas de défaillances (commandes en ligne par exemple) • Employés au chômage technique • Clients mécontents passant à la concurrence • … • Un grand nombre d’entreprises proposent des services à leurs salariés, clients, etc. • Manque à gagner pour l’entreprise (1/250ème des bénéfices par jour d’arrêt) • Votre directeur financier et votre responsable hiérarchique seront TRES mécontents de vous… • Une nouvelle offre d’emploi sortira bientôt dans les journaux spécialisés IR3 2006-2007 - Système - Jérémie Legrand

  6. Comment peut-on agir ? • Le terme « Haute disponibilité » couvre un grand nombre de domaines : • Manipulations des serveurs « à chaud » : • Reconfiguration des services • Sauvegarde des données, … • Redondance du matériel • Répartition dynamique des données (RAID, etc.) • Stockage des données à un emplacement physique différent • Plan de secours • Fonctionnement en mode dégradé (fournir un service jugé indispensable sans ses ressources habituelles humaines ou matérielles) • … IR3 2006-2007 - Système - Jérémie Legrand

  7. Domaine de définition de cet exposé • Un seul point étudié ici : • la détection automatique d'une défaillance d'un serveur, et la reprise du service qu'il offrait par d'autres machines. • Réalisé par le programme Heartbeat, faisant partie de la suite « The Linux Virtual Server » (LVS) • Question importante : • ai-je besoin d’une seule machine active pour répondre à tous les clients, ou de plusieurs simultanément ? IR3 2006-2007 - Système - Jérémie Legrand

  8. Concepts à maîtriser « Avant de détruire quelqu'un, l'ordinateur le rend fou. » (Anonyme) IR3 2006-2007 - Système - Jérémie Legrand

  9. Si une seule machine suffit (1) • Une machine active, qui répond aux clients • Une machine configurée à l’identique : • service arrêtés • surveillant la première en permanence • Lorsqu’elle détecte une panne : • elle lance ses services • elle répond aux clients à la place de l’autre • Si la première est réparée : • Soit elle se met à son tour en écoute • Soit elle demande à reprendre la main IR3 2006-2007 - Système - Jérémie Legrand

  10. Si une seule machine suffit (2) • Une méthode de surveillance : • la tachycardie (heartbeat) IR3 2006-2007 - Système - Jérémie Legrand

  11. 1ère approche : ‘Round Robin DNS’ S’il faut plusieurs machines (1) • Il faut : • Plusieurs serveurs proposant le même service • Pouvoir rediriger les requêtes des clients de manière équitable sur tous les serveurs IR3 2006-2007 - Système - Jérémie Legrand

  12. S’il faut plusieurs machines (2) • On peut faire mieux : le répartiteur de charge • En Anglais : « load balancer » • Prendre en compte de la puissance des machines, le nombre d’utilisateurs déjà connectés, etc. IR3 2006-2007 - Système - Jérémie Legrand

  13. Algorithmes de load balancing • Pléthore d’algorithmes. • Ceux utilisés par « The Linux Virtual Server » (LVS) : • Least-Connection • Weighted Least Connection • Round-Robin • Weighted Round-Robin • Locality-Based Least-Connection • Destination-Hashing • Source-Hashing • Short Expected Delay • Never Queue (Caféine inside) IR3 2006-2007 - Système - Jérémie Legrand

  14. Au final : répartition de charge requêtes Client Machines proposant le même service Gestionnaires (en haute disponibilité) Cela fonctionne mais… • Gestionnaire unique = point de faiblesse requêtes ? Gestionnaire Client Machines proposant le même service IR3 2006-2007 - Système - Jérémie Legrand

  15. Plusieurs machines actives IP virtuelle = xxx Client Routage Simple Encapsulation IP-IP N.A.T. requête IP normale IP virtuelle Haute disponibilité Client Machine active Services Comment le gestionnaire redirige les clients ? • Machine active / machine passive IR3 2006-2007 - Système - Jérémie Legrand

  16. Exemples d’applications « En théorie, il n'y a pas de différences entre la théorie et la pratique. En pratique, il y en a. » (Chuck Reid) IR3 2006-2007 - Système - Jérémie Legrand

  17. Serveur mail n°2 (passif) Serveur mail n°1 (actif) Exemple : relais de messagerie Echanges Haute disponibilité IR3 2006-2007 - Système - Jérémie Legrand

  18. Serveur SQL n°1 (actif) Serveur SQL n°2 (passif) Serveur de fichiers Exemple : serveurs MySQL Echanges Haute disponibilité NFS : Accès aux données de MySQL IR3 2006-2007 - Système - Jérémie Legrand

  19. Serveur web n°1 (actif) Serveur web n°2 (passif) Serveur de fichiers Exemple : serveurs Web Echanges Haute disponibilité NFS. Accès aux : - pages web - données du site - fichiers de sessions IR3 2006-2007 - Système - Jérémie Legrand

  20. lecture écriture Réplication DRBD DRBD lecture écriture écriture Partition Partition Plus dur : serveurs de fichiers Serveur NFS Serveur NFS (inactif) Serveur 1 Serveur 2 IR3 2006-2007 - Système - Jérémie Legrand

  21. Heartbeat par la pratique… « The box said: "install on Windows 95, NT 4.0 or better". So I installed it on Linux. » (Anonyme) IR3 2006-2007 - Système - Jérémie Legrand

  22. Sous le capot d’heartbeat (1) • Installation (sous Debian) : • /etc/heartbeat/ha.cf # apt-get update # apt-get install heartbeat logfacility local0 keepalive 2 deadtime 10 bcast eth0 node ##nom_pc1## ##nom_pc2## auto_failback no respawn hacluster /usr/lib/heartbeat/ipfail apiauth ipfail uid=hacluster gid=haclient IR3 2006-2007 - Système - Jérémie Legrand

  23. Sous le capot d’heartbeat (2) • /etc/heartbeat/authkeys • 3 méthodes de protection • crc (réseaux sûrs, comme un câble croisé) • md5 (bonne alternative de sécurité) • sha1 (meilleure sécurité, utilise du temps CPU) • Ne pas oublier : auth 3 3 md5 ###mot_de_passe### # chmod 600 /etc/heartbeat/authkeys IR3 2006-2007 - Système - Jérémie Legrand

  24. Sous le capot d’heartbeat (3) • /etc/heartbeat/haresources • Pleins d’actions différentes possibles. • Paramètres d’une option séparés par 4 points : “::” ##nom_pc1## action1 action2 ... actionN IR3 2006-2007 - Système - Jérémie Legrand

  25. Sous le capot d’heartbeat (4) • Activer une adresse IP virtuelle : pc1 IPaddr:192.x.x.x/24/eth0 • Monter un système de fichiers local : pc1 Filesystem::/dev/sda1::/mnt/scsi::vfat • Monter un système de fichiers distant (NFS) pc1 Filesystem::192.x.x.x:/src::/mnt/dest::nfs • Monter un système de fichiers distant (NFS) avec des options pc1 Filesystem::192.x.x.x:/src::/mnt/dest::nfs::rsize=8192 IR3 2006-2007 - Système - Jérémie Legrand

  26. Sous le capot d’heartbeat (5) • Restrictions : • Doit être dans /etc/init.d/ (ou /etc/heartbeat/ressource.d/) • Doit reconnaître les arguments ‘start’ et ‘stop’ • Ne doit PAS être lancé automatiquement au démarrage de Linux : • Et enfin : lancer un service : pc1 apache2 # update-rc.d –f apache2 remove IR3 2006-2007 - Système - Jérémie Legrand

  27. Fin de cet exposé. • De plus amples informations sont disponibles sur la partie ‘web’. • Explications plus fournies et plus complètes • Liens vers des tutoriels complets • Astuces non trouvées dans les liens, etc. IR3 2006-2007 - Système - Jérémie Legrand

  28. Références / Annexes • Heartbeat : http://linux-ha.org/ConfiguringHeartbeat • Configurer Heartbeat (Ubuntu) : http://doc.ubuntu-fr.org/serveur/heartbeat • The Linux Virtual Server (LVS) : http://www.linuxvirtualserver.org/ • Mécanismes de répartition de charges de LVS : http://www.ultramonkey.org/3/lvs.html • Mécanismes de redirection IP de LVS : http://www.linuxvirtualserver.org/how.html http://www.ultramonkey.org/3/lvs.html • Cluster Apache : http://www.howtoforge.com/high_availability_loadbalanced_apache_cluster • Cluster NFS : http://www.howtoforge.com/high_availability_nfs_drbd_heartbeat • Discussions sur la haute disponibilité : http://lea-linux.org/cached/index/Leapro-pro_sys-dispo.html IR3 2006-2007 - Système - Jérémie Legrand

More Related