Universit de Marne La Valle Informatique et Rseaux

  • Slides: 28
Download presentation
Université de Marne La Vallée Informatique et Réseaux 3ème année Jérémie LEGRAND La haute

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

 Ce que l’on va voir… Généralités sur la haute disponibilité Concepts à maîtriser

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

Principes généraux n « You'd better pump even if nothing happens than risking something

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

 La haute disponibilité, c’est quoi « On appelle « haute disponibilité » toutes

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

 Pourquoi faire ? n Un grand nombre d’entreprises proposent des services à leurs

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

 Comment peut-on agir ? n Le terme « Haute disponibilité » couvre un

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

 Domaine de définition de cet exposé n Un seul point étudié ici :

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

Concepts à maîtriser n « Avant de détruire quelqu'un, l'ordinateur le rend fou. »

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

 Si une seule machine suffit (1) n Une machine active, qui répond aux

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

 Si une seule machine suffit (2) n Une méthode de surveillance : n

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

 S’il faut plusieurs machines (1) n Il faut : n Plusieurs serveurs proposant

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

 S’il faut plusieurs machines (2) n On peut faire mieux : le répartiteur

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

 Algorithmes de load balancing n Pléthore d’algorithmes. n Ceux utilisés par « The

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

 Cela fonctionne mais… n Gestionnaire unique = point de faiblesse nrequêtes ? n.

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

 Comment le gestionnaire redirige les clients ? n Machine active / machine passive

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

Exemples d’applications n « En théorie, il n'y a pas de différences entre la

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

 Exemple : relais de messagerie Echanges Haute disponibilité Serveur mail n° 1 (actif)

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

 Exemple : serveurs My. SQL Echanges Haute disponibilité Serveur SQL n° 1 (actif)

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

 Exemple : serveurs Web Echanges Haute disponibilité Serveur web n° 1 (actif) Serveur

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

 Plus dur : serveurs de fichiers Serveur NFS (inactif) Serveur NFS lecture écriture

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

Heartbeat par la pratique… n « The box said: "install on Windows 95, NT

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

 Sous le capot d’heartbeat (1) n Installation (sous Debian) : # apt-get update

Sous le capot d’heartbeat (1) n Installation (sous Debian) : # apt-get update # apt-get install heartbeat n /etc/heartbeat/ha. cf logfacility keepalive deadtime bcast node auto_failback respawn apiauth local 0 2 10 eth 0 ##nom_pc 1## ##nom_pc 2## no hacluster /usr/lib/heartbeat/ipfail uid=hacluster gid=haclient IR 3 2006 -2007 - Système - Jérémie Legrand

 Sous le capot d’heartbeat (2) n /etc/heartbeat/authkeys auth 3 3 md 5 ###mot_de_passe###

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

 Sous le capot d’heartbeat (3) n /etc/heartbeat/haresources ##nom_pc 1## action 1 action 2.

Sous le capot d’heartbeat (3) n /etc/heartbeat/haresources ##nom_pc 1## action 1 action 2. . . action. N n Pleins d’actions différentes possibles. n Paramètres d’une option séparés par 4 points : “: : ” IR 3 2006 -2007 - Système - Jérémie Legrand

 Sous le capot d’heartbeat (4) n Activer une adresse IP virtuelle : pc

Sous le capot d’heartbeat (4) n Activer une adresse IP virtuelle : pc 1 IPaddr: 192. x. x. x/24/eth 0 n Monter un système de fichiers local : pc 1 Filesystem: : /dev/sda 1: : /mnt/scsi: : vfat n Monter un système de fichiers distant (NFS) pc 1 Filesystem: : 192. x. x. x: /src: : /mnt/dest: : nfs n Monter un système de fichiers distant (NFS) avec des options pc 1 Filesystem: : 192. x. x. x: /src: : /mnt/dest: : nfs: : rsize=8192 IR 3 2006 -2007 - Système - Jérémie Legrand

 Sous le capot d’heartbeat (5) n Et enfin : lancer un service :

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

n Fin de cet exposé. n De plus amples informations sont disponibles sur la

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

 Références / Annexes n Heartbeat : http: //linux-ha. org/Configuring. Heartbeat n Configurer Heartbeat

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