28
Exposé Système, Année 2006- 2007 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

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

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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

Université de Marne La ValléeInformatique et Réseaux3ème année

Jérémie LEGRAND

La haute disponibilité via Heartbeat, concepts et exemples pratiques

IR3 2006-2007 - Système - Jérémie Legrand 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 …

Une nouvelle offre d’emploi sortira bientôt dans les journaux spécialisés

Votre directeur financier et votre responsable hiérarchique seront TRES mécontents de vous…

Manque à gagner pour l’entreprise (1/250ème des bénéfices par jour d’arrêt)

Un grand nombre d’entreprises proposent des services à leurs salariés, clients, etc.

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érielRépartition dynamique des données (RAID, etc.)Stockage des données à un emplacement physique différentPlan de secoursFonctionnement 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 écouteSoit 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

S’il faut plusieurs machines (1)

Il faut :Plusieurs serveurs proposant le même servicePouvoir rediriger les requêtes des clients de manière équitable

sur tous les serveurs

1ère approche : ‘Round Robin DNS’

IR3 2006-2007 - Système - Jérémie Legrand 12

S’il faut plusieurs machines (2)

On peut faire mieux : le répartiteur de chargeEn 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-ConnectionWeighted Least ConnectionRound-RobinWeighted Round-RobinLocality-Based Least-ConnectionDestination-HashingSource-HashingShort Expected DelayNever Queue

(Caféine inside)

IR3 2006-2007 - Système - Jérémie Legrand 14

Cela fonctionne mais…

Gestionnaire unique = point de faiblesse

requêtes ?

GestionnaireMachines proposant

le même service

Client

requêtes répartition de charge

Gestionnaires(en haute disponibilité)

Client

Au final :

Machines proposant le même service

IR3 2006-2007 - Système - Jérémie Legrand 15

Comment le gestionnaire redirige les clients ?

Machine active / machine passive

IP normaleIP virtuelle

requête

ClientMachine active

IP virtuelle = xxx

Haute disponibilité

Services

Client

Plusieurs machines actives

Routage Simple Encapsulation IP-IP N.A.T.

IR3 2006-2007 - Système - Jérémie Legrand 16

Exemplesd’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

Exemple : relais de messagerie

Echanges Haute disponibilité

Serveur mail n°1(actif)

Serveur mail n°2(passif)

IR3 2006-2007 - Système - Jérémie Legrand 18

Exemple : serveurs MySQL

Echanges Haute disponibilité

NFS : Accès aux données de MySQL

Serveur de fichiers

Serveur SQL n°1(actif)

Serveur SQL n°2(passif)

IR3 2006-2007 - Système - Jérémie Legrand 19

Exemple : serveurs Web

Echanges Haute disponibilité

Serveur web n°1(actif)

NFS. Accès aux : - pages web - données du site - fichiers de sessions

Serveur web n°2(passif)

Serveur de fichiers

IR3 2006-2007 - Système - Jérémie Legrand 20

Plus dur : serveurs de fichiers

Serveur NFS

Serveur 1

lecture écriture

DRBD

Serveur NFS(inactif)

écriture

Partition

Serveur 2

Réplication

Partition

DRBD

lecture écriture

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 protectioncrc (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)

Et enfin : lancer un service :

pc1 apache2

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 :# 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.htmlhttp://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