Vous êtes sur la page 1sur 11

Livre blanc Haute disponibilit sous Linux

Nicolas Ferre <Nicolas.Ferre@alcove.fr>


29 septembre 2000

Rsum
Ce livre blanc dcrit une solution informatique haute disponibilit. Les technologies mises en oeuvre permettent daugmenter la abilit dun systme informatique de type Linux : elles maintiennent en permanence au moins une machine oprationnelle.

Avec les livres blancs dAlcve, bnciez de lexprience de la premire socit europenne dexpertise sur les logiciels libres.

Copyright
Alcve, tous droits rservs.

www.alcove.fr

TABLE DES MATIRES

Table des matires


1 Les enjeux de la haute disponibilit 1.1 Scuriser le fonctionnement de lentreprise . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Dnition du besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Solutions pour une haute disponibilit 2.1 Ressources critiques dun systme informatique 2.2 Outils et matriels . . . . . . . . . . . . . . . . 2.2.1 Surveillance et rpartition de charge . . 2.2.2 Mcanismes de redondance . . . . . . 2.2.3 Tolrance aux pannes . . . . . . . . . . A Rfrences 1 1 2 3 3 4 4 5 6 9

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr

1. Les enjeux de la haute disponibilit

1 Les enjeux de la haute disponibilit


1.1 Scuriser le fonctionnement de lentreprise
Les ordinateurs composent le systme nerveux de lentreprise. Ils sont indispensables son bon fonctionnement 24 heures sur 24 car des clients, collaborateurs, commerciaux ont besoin en permanence de se connecter au systme dinformation. Habitus aux services que peut rendre le systme dinformation interne, les employs ont besoin dune bonne disponibilit de leur outil de travail. De mme, les clients utilisent rgulirement le portail commerce lectronique de lentreprise prsent sur la toile. . . Donc une panne peut causer une perte de productivit considrable et coter beaucoup dargent. Si le systme informatique est charg de contrler un accs aux btiments, de vrier le bon fonctionnement de processus industriels ou tout autre tche critique, la haute disponibilit est ici indispensable pour des questions de scurit.

Administration systme

Utilisateurs

Services
Rseau

Donnes

Haute Disponibilit

Contraintes
Environnement Logiciels

Matriel

F IG . 1.1 Elments pouvant altrer la disponibilit dun systme informatique. Bien que les logiciels libres soient trs implants dans le monde du service Internet pour les entreprises (Apache est le premier serveur web de lInternet), ils se dveloppent aussi dans dautres domaines : serveurs dapplications, interrogation de bases de donnes, rseau priv virtuel (VPN 1 ), machine de contrle de processus industriels, scurit lectronique des btiments, etc. Les logiciels libres doivent donc proposer des systmes hautes disponibilits de qualit comparable ceux des diteurs propritaires.
VPN (Virtual Private Network) : Rseau priv qui utilise les infrastructures publiques de communication tout en maintenant la condentialit des donnes. Une entreprise peut utiliser cette technique pour construire un rseau intranet entre diffrents sites distants, sans utiliser de liaisons spcialises.
1

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr

1. Les enjeux de la haute disponibilit

1.2

Dnition du besoin

Une conguration haute disponibilit est fortement dpendante du besoin de lentreprise : de la distribution du travail entre plusieurs machines la duplication permanente des donnes dans des btiments gographiquement spars, la solution technologique, la mise en oeuvre et le cot sont diffrents.

Client

Loffre de services

service web

service mail

service donnes

Autre service

F IG . 1.2 Services exigeant une haute disponibilit. Une grappe dordinateurs (plus couramment appele cluster diffrents :

) est employe pour fournir des services

la construction dune machine de calcul parallle (cluster scientiques) ; la mise en place dun systme haute disponibilit ;

la rpartition de charge entre plusieurs machines (load balancing).

Il est frquent de demander un systme de proposer une rpartition de la charge de travail et, en cas de panne, davoir un comportement haute disponibilit. Ces deux derniers points seront donc souvent associs pour garantir une qualit de service optimale. En revanche, notre propos nest pas ici daugmenter la puissance de calcul mais de scuriser le systme : la mise en place dun agrgat de machines parallles, ddies au calcul, nest pas lobjet de ce livre blanc.

2 Cluster : Ordinateurs en grappe qui se partagent le travail et/ou peuvent prendre le relais les uns des autres. Une des ces machines constitue un noeud du cluster.

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr

2. Solutions pour une haute disponibilit

2 Solutions pour une haute disponibilit


2.1 Ressources critiques dun systme informatique
Identier les faiblesses dun systme informatique est laction initiale mener pour pouvoir proposer un fonctionnement able. La solidit du systme dexploitation et des applications a souvent fait lobjet dune tude approfondie, avant le choix dimplmentation dune solution dentreprise. Le systme GNU/Linux 1 2 et les applicatifs implants au coeur dune socit ont assurment dj fait leurs preuves. Ils ne sont que trs rarement en cause lors dun problme informatique. Les causes dun dysfonctionnement logiciel viennent essentiellement dune charge trop importante de travail. Il convient dans ce cas de supprimer le goulet dtranglement en employant les mthodes de rpartition de charge.

Internet/ Intranet

Clients

Rseau de service

Cluster compos de trois serveurs

Liaison de surveillance mutuelle "heartbeat"

disque partag
F IG . 2.1 Terminologie.

Serveur, noeud du cluster

En revanche, le matriel nous met en face dune toute autre problmatique : un composant physique du systme peut tomber en panne. La chute dune seule de ces ressources critiques (Single Point Of Failure) met
GNU (GNUs Not Unix (GNU Nest pas Unix)) : nom du projet initi par Richard Stallman en 1984 qui consiste reprogrammer un systme compatible Unix sous une licence qui en permet la libre distribution (GPL). 2 GPL (General Public License) : licence dutilisation des logiciels du projet GNU qui permet entre autre la libre distribution, et impose que le code source des binaires rendus publics doit tre accessible.
1

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr hors service la totalit du systme informatique : processeur ;

2. Solutions pour une haute disponibilit

carte mre ;

alimentation ;

interface rseau ;

disque dur, contrleur et cble des systmes de stockage de donnes .

En faisant fonctionner plusieurs de ces lments au sein dun mme systme informatique, on supprime leur caractre critique. Lintrt de la redondance apparat alors pour viter larrt total du service. On peut, soit multiplier de tels composants lintrieur dun seul botier ou rack, soit former un ensemble de machines classiques communiquant entre elles. La seconde solution permet dutiliser un matriel standard donc bon march et aisment disponible ; elle permet aussi de modier une installation existante. Si le service peut tre rendu (simultanment ou non) par plusieurs machines, le problme darrt du systme ne se pose plus, pour des raisons de rparation, mise jour ou maintenance. Les autres machines du cluster prennent le relais en effectuant une commutation ou une nouvelle rpartition de la charge de travail. La synchronisation des donnes stockes doit alors tre prise en charge avec soin, cest un point dlicat rsoudre lors de la construction de clusters.

2.2

Outils et matriels

Cest sur larchitecture matrielle que peut se jouer lefcacit mais aussi le cot de la solution haute disponibilit sous GNU/Linux. Il est important de choisir une conguration de son systme adapte aux besoins. La combinaison des outils provenant de divers projets libres permet de rpondre au cas par cas chacune des exigences de lentreprise. On peut gnralement classer les outils et les architectures suivant trois grands axes : surveillance et rpartition de charge, mcanismes de redondance et tolrance aux pannes.

2.2.1 Surveillance et rpartition de charge


Ce sont des clusters employs gnralement dans le monde des services Internet et du commerce lectronique. Ils permettent de rpartir la charge de travail entre les diffrentes machines. Cette charge peut tre celle engendre par lexcution dune application ou par un important trac rseau. Un tel systme est souvent mis en place lorsquun nombre important dutilisateurs demande le mme type de service au systme. Une requte peut alors tre distribue au noeud du cluster le moins occup un moment donn. Certains systmes permettent mme de raffecter dynamiquement, un autre noeud, une demande en cours de traitement. Souvent, les serveurs dapplications rseaux doivent faire face de nombreuses connections simultanes. Ceci les empche de rpondre assez rapidement pour offrir le service attendu par lutilisateur, le client. Le trac est alors drout vers un noeud proposant un service quivalent, dans le cluster. Lensemble est souvent gr par un ordinateur ddi ou par un programme particulier prsent sur toutes les machines ; cette gestion est congurable par ladministrateur. La plupart des solutions fonctionnent sur un cluster compos de machines prsentes sur un rseau local mais certaines solutions, moins performantes, peuvent emprunter des liaisons distantes.

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr

2. Solutions pour une haute disponibilit

Les outils disponibles dans le monde du logiciel libre prennent en charge cette rpartition diffrents niveaux : noyau du systme dexploitation (MOSIX 3 , LVS 4 ) ;

espace utilisateur (Mon 5 , GNUQueue) ; facilits proposes par certaines applications (Apache, Sendmail ).

Client

Serveur rpartiteur de charge (LVS) multiplexage des paquets entrants Rseau de service Trois serveurs effectifs (serveurs web Apache)

Ldirectord permet de sassurer de la bonne sant des serveurs back-end

Service virtuel : pages web (Apache)


F IG . 2.2 Exemple de rpartition de charge entre plusieurs serveurs web. Exemple de conguration permettant de surveiller le trac rseau et de rpartir la charge de travail entre plusieurs serveurs effectifs offrant le mme service virtuel : pages web servies par Apache. Ldirectord est un outil permettant de surveiller la bonne sant des serveurs du back-end. Une autre solution aurait t dutiliser le superviseur de services Mon. Linux Virtual Server (LVS) rpartit les requtes entre les diffrents serveurs web.

2.2.2 Mcanismes de redondance


La mise en place de plusieurs occurrences dun composant critique du systme permet de supprimer les pannes fatales. On emploie souvent le terme de redondance lorsque les applications critiques et le matriel qui les excute sont instancis plusieurs fois et prennent le relais les uns des autres (on parle en anglais de
3 MOSIX : Ensemble logiciel permettant au noyau Linux davoir un comportement coopratif dans un cluster ; chaque machine est alors une partie dun seul systme. La rpartition de la charge de travail est dynamique, optimise et totalement transparente pour lutilisateur. 4 LVS (Linux Virtual Server) ou IPVS (Internet Protocol Virtual Server) : Applicatif permettant le multiplexage des paquets IP destins des serveurs. Ce dispositif permet de faire de la rpartition de charge. 5 Mon : Contrleur de ressources systme qui peut tre utilis pour surveiller la disponibilit dun service rseau, de conditions de fonctionnement (temprature), etc. Si un vnement inattendu survient, une alerte est dclenche.

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr

2. Solutions pour une haute disponibilit

Failover services : FOS). Le cluster se rsume alors une ou plusieurs paires de machines, principales et de secours. A laide dun systme de communication, chaque ordinateur surveille son ou ses jumeaux par lintermdiaire dun canal ddi. Il peut se prsenter sous la forme dun lien srie (avec ou sans protocole PPP 6 ), dun lien Ethernet ou simplement dune liaison spcialise (watchdog 7 ). Cette surveillance rapproche est la garantie de vie dune machine paire (pouls ou heartbeat). Si un noeud du cluster est amen tomber, son second prend le relais dans la seconde (ou mme plus rapidement), il sapproprie son identit et se charge dapporter le service demand par lutilisateur, sans laisser transparatre la faiblesse passagre du serveur matre. Il sagit ici de minimiser le temps de commutation. Lordinateur ayant subit la panne est rinitialis ou rpar pour reprendre, au plus vite, la surveillance attentive dun jumeau en service. On peut donc aisment comprendre que le temps de redmarrage dun serveur doit tre assez court et quune procdure de rcupration des donnes doit tre excute. Dans une redondance efcace, le partage des donnes stockes sur disque (sil y en a) est un point considrer attentivement lors du dveloppement de larchitecture matrielle. Deux solutions permettent de maintenir lunicit (intgrit) des donnes tout en permettant de les prserver si un incident survient : Partage du priphrique de stockage (RAID 8 , bus SCSI 9 partag pour une solution moindre cot) ;

Mise en reet (mirroring) des disques, cest dire copie de leur contenu intervalles rguliers.

Lexemple concret reprsente une paire de serveurs de mail (utilisant Sendmail) redondants. Le client sadresse en temps normal la machine principale. Si cette dernire tombe en panne, son pouls (heartbeat) cesse et la machine de secours sen aperoit. En effet, le processus Heartbeat 10 de la machine de sauvegarde interroge, travers la liaison srie, son processus pair. Ne rpondant pas, ladresse de la machine principale est attribue par Heartbeat la machine de secours via le processus Fake 11 , elle peut ainsi prendre le relais. Les donnes sont partages sur un disque NFS 12 mont alternativement par lune puis lautre des machines.

2.2.3 Tolrance aux pannes


La tolrance la panne est une notion beaucoup plus exigeante car elle implique un fonctionnement normal, quelle que soit la nature de la panne.
PPP (Point-to-Point Protocol) : Protocole de communication entre deux quipements utilisant une ligne srie. Cest le protocole utilis, par exemple, entre un utilisateur et son fournisseur daccs Internet. Dans un contexte de machines redondantes, il peut tre utile pour mettre en place un mcanisme de surveillance mutuelle sur un support RS-232. 7 Watchdog : Chien de garde logiciel ou matriel du systme qui donne lalerte si on ne le caresse pas assez souvent ! Typiquement, une panne matrielle ou logicielle empche de rarmer un compteur qui, arriv chance, dclenche une action de secours. 8 RAID (Redundant Array of Independent Disks) : Moyen de stocker des donnes diffrents endroits sur plusieurs disques durs. Lensemble apparat au systme sous la forme dun seul priphrique de stockage. Selon la conguration (RAID-1, RAID-5), la vitesse de lecture, la tolrance aux pannes, la correction derreurs peut tre amliore. 9 SCSI (Small Computer System Interface) : Standard dcrivant une interface parallle permettant aux ordinateurs de communiquer avec leurs priphriques (de stockage notamment). 10 Heartbeat : Application permettant un ordinateur de prendre le pouls (heartbeat) dautres machines. Si lune dentre elles ne rpond pas un message envoy, elle est considre comme dfaillante ; une mesure de secours est alors prise. 11 Fake : Commutateur de serveurs redondants, Fake permet, un systme de secours, de prendre ladresse IP dune machine tombe en panne dans le rseau local. 12 NFS (Network File System) : Application client / serveur permettant daccder au priphrique de stockage dun ordinateur distant. Le systme de chiers ainsi mont sur sa machine est vu comme nimporte quel disque local.
6

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr

2. Solutions pour une haute disponibilit

Client

Machine principale serveur de mail (Sendmail)

Paire de serveurs redondants

Machine de secours Sendmail + Fake (permet de prendre ladresse du serveur principal sil tombe, sur ordre de heartbeat)

Liaison de surveillance mutuelle, utilisation de heartbeat disque partag (NFS) sur liaison srie
F IG . 2.3 Exemple de mise en oeuvre de la redondance entre plusieurs serveurs de mail.

Les systmes tolrants aux pannes sont typiquement employs dans des applications critiques (transport, arospatiale, etc. ..). Certaines des techniques employes en haute disponibilit proviennent ces environnements. Il faut tout de mme garder lesprit que le cot matriel dun cluster haute disponibilit base de matriel standard est beaucoup moins cher quun serveur tolrant aux pannes. De tels systmes sont caractriss par : la mise en place de matriel spcialis (communications entre sites distants par bre optique, FDDI 13 , Fibre Channel 14 , systme de commutation rseau contrl par ligne srie 15 ) ;

un fonctionnement possible en mode dgrad (systme de chiers tolrant aux pannes) ;

redmarrage et remise en tat rapide du systme aprs panne.

En plus dune architecture massivement redondante, supprimant tous les points critiques du matriel, la mise en place dun systme de chiers rseau tolrant aux pannes est un composant essentiel dune telle solution. Bien que de tels systmes sous licence libre soient encore trs jeunes, ils apportent dj des services de haute qualit : copie conforme des donnes sur plusieurs serveurs ;

conservation des donnes en cas de dgradation du rseau ;

FDDI (Fiber-Distributed Data Interface) : Standard de transmission de donnes par bre optique sur un rseau local pouvant stendre sur 200 km. Le protocole FDDI est bas sur le protocole token ring. Il met en place deux anneaux qui peuvent tre employs en anneau primaire / anneau de secours ou conjointement, ceci augmentant le dbit jusqu 200 Mo/s. 14 Fibre Channel : Technologie de transmission de donnes entre ordinateurs haut dbit (jusqu 1 Go/s). Elle est particulirement employe pour connecter des units de stockages aux serveurs. On peut utiliser le Fibre Channel sur plusieurs supports physiques : bre optique (pour les grandes distances (10 km)), cble coaxial, paire torsade. 15 Ligne srie : Moyen de communication entre quipements lectroniques qui utilise un mode de transmission de donnes les unes la suite des autres (par opposition au mode de transmission en parallle). Sur un PC par exemple, la communication peut se faire par lintermdiaire du port srie suivant la norme RS-232.

13

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr systme scuris, encodage ;

2. Solutions pour une haute disponibilit

connections/dconnections chaud ;

journalisation des transactions16 .

CodaFS 17 , ReiserFS, NFS, lutilisation de Enhanced Network Block Device 18 , de RAID mettent la disposition de la grappe de telles technologies. Le volume de stockage ainsi constitu est robuste et fournit de nombreuses facilits de gestion.
Client

Machine principale serveur de fichiers (FTP)

Mon

Paire de serveurs redondants

Mon Fake WDT

Machine de secours

WDT

Liaison de surveillance mutuelle spcialise : carte watchdog (WatchDog Timer)

Liaison Fibre Channel

volume de stockage distribu (Coda File System)

F IG . 2.4 Serveurs de chiers redondants tolrants aux pannes. Cet exemple met en oeuvre plusieurs techniques de tolrance aux pannes pour scuriser un ensemble de serveurs FTP 19 . La redondance agit ici comme dans lexemple prcdent : permettre de disposer dun serveur de secours si la machine principale tombe en panne. Dans cet exemple, la surveillance locale et de la machine paire est cone une carte spciale WatchDog Timer ICS WDT501-P qui se charge dalerter le systme en cas de panne. Le stockage est distribu sur un rseau Fibre Channel (carte Qlogic QLA2x00) et est gr par le systme de chiers Coda.
Systme de chiers journalis : systme de chiers assurant que toute mise jour des donnes est stocke dans un journal de transactions avant dtre crite sur le disque. Un tel systme de chiers permet de retrouver les donnes intactes, aprs un crash, et il rduit le temps de redmarrage du systme crash. 17 Coda File System : Systme de gestion de chiers rseau, distribu. Permet dimplmenter un volume de stockage tolrant aux pannes, redondant et scuris. 18 ENBD (Enhanced Network Block Device) : Module du noyau Linux permettant de voir un ensemble de blocs (disque dur, partition ou simplement chier) distants comme faisant partie de la machine locale. Les changes de donnes sont journaliss, peuvent tre scuriss et peuvent reprendre aprs une panne. 19 FTP (File Transfer Protocol) : Protocole standard de lInternet permettant dchanger des chiers entre machines. Cest un protocole applicatif qui utilise la pile TCP/IP.
16

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr

www.alcove.fr

A. Rfrences

A Rfrences
Article prsentant une solution haute disponibilit dans Linux Journal (http://www2.linuxjournal. com/lj-issues/issue64/3247.html)

Article prsentant les diffrents types de cluster (http://www.linuxworld.com/linuxworld/ lw-2000-03/lw-03-clustering.html) HOWTO haute disponibilit (http://metalab.unc.edu/pub/Linux/ALPHA/linux-ha/ High-Availability-HOWTO.html) Projet mettant en oeuvre diverses conguration de serveurs haute disponibilit (http://ultramonkey. sourceforge.net) Guide dinstallation de Red Hat High Availability Server (http://www.redhat.com/support/ manuals/RHHAS- 1.0-Manual/) Linux Virtual Server (LVS) (http://www.linuxvirtualserver.org) Linux High Availability (http://www.linux-ha.org) GNU Queue (http://queue.sourceforge.net) Mon : Service Monitoring Daemon (http://mon.sourceforge.net/) Fake : Redundant Server Switch (http://fake.sourceforge.net/) Coda File System (http://www.coda.cs.cmu.edu/) ENBD (http://www.it.uc3m.es/~ptb/nbd/)

153 Boulevard Anatole France 93200 Saint Denis , France, SA au capital de 44.549 SIRET 403 646 342 00028 722Z Tl. : +33 1 49 22 68 00, Fax : +33 1 49 22 68 01 E-mail : alcove@alcove.fr Toile : www.alcove.fr