Vous êtes sur la page 1sur 46

FORMATION

Linux-HA et les systmes de Cluster

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

APERU DES DIFFRENTS TYPES DE CLUSTERS

Bref historique sur les clusters Les clusters hautes performances Les clusters haute disponibilit Les clusters de rpartition de charge

ARCHITECTURE DUN ORDINATEUR


Ordinateur classique : 1 processeur 1 bus de la mmoire Ordinateur architecture SMP (Xon) : N processeurs 1 bus partag de la mmoire Ordinateurs architecture NUMA (SGI) : N processeurs chaque CPU sa propre mmoire chaque process accs lensemble de la mmoire

Schma fonctionnel d'un ordinateur CPU


BUS

Mmoire

Uniform Memory Access ou SMP Cache CPU Cache CPU

BUS

Mmoire

Accs mmoire non uniforme NUMA

Cache CPU Memory


BUS

Cache CPU Memory

DE LORDINATEUR AU CLUSTER
Un cluster est un ensemble de ressources qui forment un systme qui amliore les capacit dun nud isol Disponibilit : Fiabilit combine de tous les nuds. Les services demeurent disponibles mme si un nud isol tombe Les nuds restant prennent le relais Performance : Puissance combine de tous les nuds qui fonctionnent en parallle Distribution de la charge sur les autres membres du cluster Systmes qui peuvent se dimensionner

Cluster symtrique Nud Nud

Utilisateur
Nud Rseau externe / Internet Nud

Cluster asymtrique Nud Nud

Utilisateur

Tte

Nud Rseau externe / Internet Nud

Cluster de type tendu Moniteur NFS Nud Nud

Utilisateur

Tte

I/O Server Rseau externe / Internet I/O Server

Nud Nud

LES TYPES DE CLUSTERS : HAUTE PERFORMANCE


Problmatique centrale : Amliorer les performances des ordinateurs : utiliser un meilleur algorithme Utiliser un ordinateur plus puissant diviser la calcul entre plusieurs ordinateurs Serveurs de rpartition de charge Fourni une rpartition de la charge ainsi quune protection contre la dfaillance en radiquant les nuds dfaillants. Linux Virtual Server

POINTS DE DFAILLANCE
Infrastructure : Elctricit Air conditionn Cblage en gnral Un centre dhbergement unique Rseau : Connexion Internet Liens Intranet Firewalls Serveurs : Ventilateurs Disques Carte rseau Applications : Applicatifs Gestionnaire de cluster Comptences : Un unique administrateur Pas de documentation

LES TYPES DE CLUSTER : HAUTE DISPONIBILIT


Mettre en commun un groupe dordinateur pour fournir un service mme en cas dfaillance dun des composants systme Quand une machine tombe, les autres prennent la relve Ceci implique la reprise des adresses IP, des Services, Les nouvelles tches parviennent la machine qui a pris la relve Pas dimpact sur les performances

! Assurer la reprise en cas de dfaillance dans un datacenter o en local ! Politique de protection de site : positionnement dans diffrents btiments o diffrents continents

NOTIONS DE HAUTE DISPONIBILIT : QUESTCE QUE LA HA PEUT FAIRE POUR VOUS ?


Cela ne permettra pas datteindre 100% de disponibilit : cest impossible !! Les clusters HA sont destines assurer la continuit de service en cas dUNE dfaillance Permet de rduire les temps dinterruption Dune seconde quelques minutes Comme le magicien : Quand cela se passe bien, rien nest perceptible Quand cela se passe pas si bien, cela peut-tre lgrement perceptible Un bon systme de cluster HA permet dajouter un 9 votre disponibilit de base : 99 -> 99,9 99,9 -> 99,99 La complexit est l'ennemi de la abilit !

10

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

11

NOTIONS DE HAUTE DISPONIBILIT : SCHMA DE REPRISE DE CHARGE APRS UN INCIDENT

12

NOTIONS DE HAUTE DISPONIBILIT : QUELQUES MENSONGES ET DES STATISTIQUES

La rgle des 9 :
99,9999% 99,999% 99,99% 99,9% 99% 30 secondes 5 minutes 52 minutes 9 heures 3,5 jours

13

NOTIONS DE HAUTE DISPONIBILIT : A QUOI LINUX-HA RESSEMBLE-T-IL DE CONNU ?

Cela ressemble aux scripts init avec en plus : (de faon optionnel) lajout de paramtres le fait de fonctionner sur plusieurs ordinateurs lajout de politiques pour :
Lordre dans lequel les choses vont se drouler Comment les services interagissent entre eux Quand lancer les services

Les cluster HA ressemble aux scripts init dops

14

NOTIONS DE HAUTE DISPONIBILIT : LES SPCIFICITS DU SYSTME ?

Les cluster HA introduisent des concepts nouveaux : Cerveau partag : Split-Brain Quorum Fencing Le partage des donnes nest pas un problme avec un seul serveur - cest un problme CRITIQUE pour les clusters

15

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

16

NOTIONS SPCIFIQUES : SPLIT-BRAIN


Les erreurs de communication peuvent aboutir partitions spars sur le cluster. Si chacune de ces partitions essai de prendre le contrle du cluster, nous arrivons une situation de Split-Brain Si cela se produit, des choses dsagrables peuvent survenir : Perte de donnes difcilement rversibles

17

NOTIONS SPCIFIQUES : QUORUM


La notion de Quorum est une tentative dviter la situation de split-brain pour la plupart des cas Typiquement : on sassure quune seule partition du cluster est active un instant t Le Quorum est le terme qui dni les mthodes qui permettent de sassurer de cela La plupart des Quorum sont des systmes de votes qui permettent de dterminer quel nud peut avoir accs aux ressources (par un calcul). Cela vite un fonctionnement avec 2 nuds

18

NOTIONS SPCIFIQUES : FENCING


Fencing essai de mettre une barrire autour dun ou plusieurs nud perdu an dviter leur accs au cluster De cette faon on ne dpend pas de la bonne conduite ou du timing du nud perdu On utilise STONITH pour cela : Shoot The Other Node In The Head Dautres techniques existent aussi : Lockout au niveau des switch FiberChannel

19

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

20

FONCTIONNEMENT TECHNIQUE DE HA : MEMBRES DUN CLUSTER

Les clusters doivent avoir une vision prcise de quels nuds sont des membres valides un instant t Les nuds disposent dun systme de contrle de type heartbeat ou sont monitors grace un systme tiers. Labsence de signal heartbeat indique la dfaillance dun nud Difcult de distinguer entre la dfaillance dun lien, dun nud, si tous les liens sont coups, on arrive un scnario de cerveau partag Parceque les dfaillances ne peuvent tre dtectes que de faon asynchrones, ltat dun cluster nest JAMAIS certain

21

FONCTIONNEMENT TECHNIQUE DE HA : SYSTME DE SIGNAUX DANS LES CLUSTERS


Les signaux sont transports par le rseau! k-abilit : Pendant un intervalle de temps t : k dysfonctionnement sont tolrs et non retransmis aux couches suprieures du systme. Ordonnancement : lordonnancement global est privilgi Ordonnancement total : Tous les nuds voient tous les messages dans le mme ordre Ordonnancement causal : un message nest vu que si tous les messages dont il dpend sont reus La cryptographie protge des dfaillances malicieuses

22

FONCTIONNEMENT TECHNIQUE DE HA : LA GESTION DU TEMPS DANS LES CLUSTERS


Avec des horloges non synchronises, les vnements peuvent avoir des marquages temporelles totalement alatoires Des horloges partiellement synchronises (NTP) permettent dtablir que deux horloges ne varient pas de plus que "t Pour simuler un temps totalement monotone, les systmes ne doivent jamais produire un marquage temporelle suprieur celui dun vnement reu dun autre nud Les bases de cette thorie ont t tablies par Leslie Lamport

23

FONCTIONNEMENT TECHNIQUE DE HA : GESTION DES RESSOURCES

Ressource : Encapsulation dune entit physique ou logique qui fourni un service Type de Ressources : Adresse IP, partition monte, SMTP, Instance de ressources : identi par type, nom et dautres paramtres Un script de Gestion des Ressources prends en charge les ressources dun certain type, fournissant une API au Gestionnaire de Ressources Seul un nud peu grer une ressource un instant t, la gestion par de multiple nuds implique une corruption des donnes et doit tre vit Les ressources sont grs par groupes Un ensemble de ressources doivent fournir un service donn

24

FONCTIONNEMENT TECHNIQUE DE HA : ACCS AUX DONNES


Stockage partag par Fiber Channel SCSI partag iSCSI / HyperSCSI Rplication logicielle Fiabilit Hardware Rplication Multi-path RAID Fiabilit Software Software RAID Rplication Systme de chiers journaliss Logical Volume Management (LVM) Accs concurrents Systme de chiers type SAN (GFS, PolyServe, IBM GPFS) Systmes de chiers distribus (NFS, Lustre, AFS)

25

FONCTIONNEMENT TECHNIQUE DE HA : PROTECTION DES I/O ET STONITH


Protection au niveau du nud Tuer lautre machine dans le tte (en Anglais STONITH) Un peu raide, mais assez efcace Un nud qui est teint ne modie pas les donnes Protection des I/O Les ressources se protgent delle mme en excluant les nonmembres Dconnect le port du switch Fiber-Channel Contrleur RAID auto-protgs Rservation SCSI (pas toujours able)

26

FONCTIONNEMENT TECHNIQUE DE HA : TYPES DE SYSTMES FAILOVER


A froid Le HW est prt mais ne fonctionne pas Les services sont dmarrs manuellement sur le nouveau systme Les coupures sont trs remarquables Tide Le systme fonctionne, les donnes sont synchronises Les services sont dmarrs automatiquement Les petites coupures sont gnralement remarques (Reboot rapide) A chaud En tat de marche Tous les systmes sont actifs Le client communique avec de multiples systmes en mme temps Pas de coupure remarquable Pourquoi tout nest-il pas chaud ? Cot lev Les logiciels doivent tre adapts

27

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

28

FONCTIONNEMENT DU FAILOVER : RSUM SUR LE SYSTME DE FAILOVER


Les serveurs coutent le heartbeat rciproquement Le matre nenvoie pas de heartbeat pendant une priode de temps Lesclave dtecte cela et assume une dfaillance On vite les corruptions de donnes en mettant en place une barrire daccs On procde la r-lection du matre Lesclave devient matre, les services sont de nouveau allous sur ce nud Quali de switchover si cette action nest pas provoque par un dfaillance (par exemple remplacer le matre par lesclave pour une opration de maintenance) Le failback est soit manuel ou automatique

29

FONCTIONNEMENT DU FAILOVER : APERU DE HEARTBEAT


Initi par Alan Robertson en 1999 Branche stable 1.2.x Nouvelle branche 2.x 2 nuds chaud pour les ressources de groupe failback manuel ou automatique Simple mettre en place Accent sur la scurit, base de code assez rduite Liens redondant pour le heartbeat et la communication Lien srie + unicast IPv4, broadcast, multicast Des nuds pinger peuvent tre ajouts commme pseudo membres

30

FONCTIONNEMENT DU FAILOVER : APERU DE HEARTBEAT II


Latence minimale grce diffrents systmes Dtection de la mort dun nud infrieur la seconde Contient de nombreux composants intressants Ipfail peu monitorer la connectivit externe Couche Consensus Cluster Membership pour grer un nombre de nuds N. Modules STONITH, librairies IPC, librairies PILS Communication simple et la plupart du temps able Cluster Test System (CTS) inclus Heartbeat au niveau applicatif, vrication des donnes, !

31

FONCTIONNEMENT DU FAILOVER : LES LIMITES DHEARTBEAT

Gestion des ressources limites deux nuds Les ressources en elle mme ne sont pas monitors en cas de dfaillance Les congurations ne sont pas automatiquement synchronises Peu de support pour les ressources rpliques

32

FONCTIONNEMENT DU FAILOVER : LE FUTUR DHEARTBEAT

Fonctionnalit multi-nuds Gestion des ressources amliores Agents de gestion des ressources conformes OCF RA API (gestion des ressources tendues) Conguration auto-rplique (Cluster information Base) k-abilit, ordonnancement du systme de messages La plupart de ces fonctionnalits mises en uvre dans la version 2.x

33

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

34

ASPECTS DE CONFIGURATION DE HA : LES AGENTS DE GESTION DES RESSOURCES


Autorise Heartbeat grer une ressource type Heartbeat supporte aussi lutilisation des scripts init.d comme des Agents de gestion des Ressources Ecrit sous forme de script shell Prend en paramtre une simple liste doptions et une action dtermine Points cls conserver en tte : Les Agents doivent tre capables de grer un redmarrage aprs une extinction brutale Soyez trs prcautionneux lors de leur mise au point Pour plus de dtails se rfrer Open Cluster Framework Resources Agent API

35

ASPECTS DE CONFIGURATION DE HA : AGENTS DE GESTION DES RESSOURCES


IPaddr, IPaddr2 IPsrcaddr Filesystem LVM RAID1 ServeRAID ICP LinuxSCSI portblock xinetd db2 WAS La plupart des scripts init.d Il est assez simple de crer ses propres Agents

36

ASPECTS DE CONFIGURATION DE HA : MODULES STONITH


Network power switches: APC MasterSwitch WTI NPS/TPS BayTech RPC"xxx Night/Ware RPC100S Serial power switches: WTI RPS APC Smart UPS IPMI over ethernet For testing only: ssh meatware (Manual operation)

37

ASPECTS DE CONFIGURATION DE HA : IPFAIL

Heartbeat peut grer les nuds externes en tant que pseudo membres du cluster en les pingant ipfail utilise cette information pour dterminer o placer les ressources, sur le nud avec la meilleure connectivit externe Conguration hyper simple : Congurer les nuds pinger Informer heartbeat de dmarrer ipfail

38

ASPECTS DE CONFIGURATION DE HA : ERREURS CLASSIQUES


Ne pas avoir les chiers de conguration synchroniss entre tous les nuds Contrler les ressources dans les chiers init du systmes et pas par lintermdiaire dheartbeat Ne pas utiliser STONITH quand ncessaire Les noms de nuds sont sensibles la casse Cbles sries de pauvre facture Dploiement de heartbeat sur des mdias non redondant Agents de gestion des Ressources qui ne retournent pas ltat correctement

39

ASPECTS DE CONFIGURATION DE HA : HA.CF


debugfile /var/log/ha-debug logfile /var/log/ha-log logfacility keepalive 2 deadtime 30 warntime 5 initdead 60 udpport 694 baud serial bcast node node debug 1 9600 /dev/cuad1 em1 mail1.xxx.fr mail2.xxx.fr local0

auto_failback off

40

ASPECTS DE CONFIGURATION DE HA : HARESOURCES + AUTHKEYS


haresources
mail1.xxx.fr \ 147.250.1.1 \ Filesystem::/dev/da0s1d::/data::ufs \ Service::named \ Service::postfix \ Service::courier-imap-imapd.sh \ Service::courier-imap-pop3d.sh \ Service::courier-imap-imapd-ssl.sh \ Service::courier-imap-pop3d-ssl.sh \ MailTo::pbinfo@xxx.fr::ClusterMail

Authkeys doivent avoir root:root, mode 0600 comme autorisation


auth 1 1 sha1 ClusterMailXXXInstallToDoo

41

ASPECTS DE CONFIGURATION DE HA : QUELQUES COMMANDES


cl_status script shell qui permet de rcuprer un certain nombre dinformation sur ltat du cluster : hbstatus : indique si heartbeat tourne sur le systme local listnodes : liste les nuds du cluster nodestatus <nom du nud> : donne le statu dun nud donn nodetype <nom du nud> : donne les nuds dun type donn (ping | normal) listhblinks <nom du nud> : liste les interfaces rseau utilises par heartbeat hblinkstatus <nom du nud> : Indique le statu dun lien heartbeat clientstatus <nom du nud> <id du client> : Montre le statu dun client. rscstatus : Indique le statu des ressources du cluster (local | foreign | all | none | transition). hbparameter -p <nom du paramtre> : Retourne la valeur dun paramtre donn. http://www.linux-ha.org/cl_status

42

ASPECTS DE CONFIGURATION DE HA : QUELQUES COMMANDES

hb_takeover : Rcupre les ressources de lautre nud (bascule). Excuter un hb_takeover sur le nud courant quivaut excuter hb_standby sur lautre nud. Shell Script qui permet de provoque un basculement du nud actif vers lautre nud. Cest un script quil peut-tre inrressant de faire excuter par Nagios par exemple. hb_standby [all|foreign|local|failback] Accessible depuis /usr/local/lib/heartbeat/hb_standby Pour obtenir de laide sur la commande --help

43

COMPARAISON DES SYSTMES DE CLUSTER : HA & LA REMISE EN UVRE


HA : Reprise peu coteuse Le temps de panne se compte en secondes (normalement) Communication inter-nuds able Remise en uvre standard Reprise coteuse Le temps de panne se mesure en heures Communication inter-nuds peu able

44

PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster 2. Notions de haute disponibilit 3. Notions spciques aux clusters 4. Fonctionnement technique de HA 5. Fonctionnement spcique du failover 6. Aspects de la conguration 7. Atelier pratique

45

ATELIER PRATIQUE
Linux-HA et les systmes de Cluster

46

Vous aimerez peut-être aussi