Download - Formation Cluster
-
8/2/2019 Formation Cluster
1/46
1
-
8/2/2019 Formation Cluster
2/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
2
-
8/2/2019 Formation Cluster
3/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
3
-
8/2/2019 Formation Cluster
4/46
APERU DES DIFFRENTS TYPESDE CLUSTERS
Bref historique sur les clusters
Les clusters hautes performances
Les clusters haute disponibilit
Les clusters de rpartition de charge
4
-
8/2/2019 Formation Cluster
5/46
ARCHITECTURE
DUN ORDINATEUROrdinateur 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
5
-
8/2/2019 Formation Cluster
6/46
DE LORDINATEURAU CLUSTER
Un cluster est un ensemble de ressourcesqui forment un systme qui amliore lescapacit dun nud isolDisponibilit :
Fiabilit combine de tous les nuds.Les services demeurent disponibles mme si unnud 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 autresmembres du cluster
Systmes qui peuvent se dimensionner
6
-
8/2/2019 Formation Cluster
7/46
LES TYPES DE CLUSTERS :HAUTE PERFORMANCE
Problmatique centrale : Amliorer lesperformances des ordinateurs :
utiliser un meilleur algorithme
Utiliser un ordinateur plus puissant
diviser la calcul entre plusieursordinateurs
Serveurs de rpartition de charge
Fourni une rpartition de la charge ainsiquune protection contre la dfaillanceen radiquant les nuds dfaillants.
Linux Virtual Server
7
-
8/2/2019 Formation Cluster
8/46
POINTS DE DFAILLANCE
Infrastructure :Elctricit
Air conditionn
Cblage en gnralUn centre dhbergement
unique
Rseau :
Connexion InternetLiens Intranet
Firewalls
Serveurs :Ventilateurs
Disques
Carte rseauApplications :
Applicatifs
Gestionnaire de cluster
Comptences :Un unique administrateur
Pas de documentation
8
-
8/2/2019 Formation Cluster
9/46
LES TYPES DE CLUSTER :HAUTE DISPONIBILIT
Mettre en commun un groupe dordinateur pour fournir unservice 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 enlocal
! Politique de protection de site : positionnement dans diffrentsbtiments o diffrents continents
9
-
8/2/2019 Formation Cluster
10/46
NOTIONS DE HAUTE DISPONIBILIT : QUEST-CE QUE LA HA PEUT FAIRE POUR VOUS ?
Cela ne permettra pas datteindre 100% de disponibilit : cestimpossible !!
Les clusters HA sont destines assurer la continuit de service en casdUNE 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 perceptibleUn bon systme de cluster HA permet dajouter un 9 votredisponibilit de base : 99 -> 99,9 99,9 -> 99,99
La complexit est l'ennemi de la fiabilit !
10
-
8/2/2019 Formation Cluster
11/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
11
-
8/2/2019 Formation Cluster
12/4612
-
8/2/2019 Formation Cluster
13/46
NOTIONS DE HAUTE DISPONIBILIT :QUELQUES MENSONGES ET DES
STATISTIQUES
La rgle des 9 :
99,9999% 30 secondes
99,999% 5 minutes
99,99% 52 minutes
99,9% 9 heures
99% 3,5 jours
13
-
8/2/2019 Formation Cluster
14/46
NOTIONS DE HAUTE DISPONIBILIT : A QUOILINUX-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 ordinateurslajout 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
-
8/2/2019 Formation Cluster
15/46
NOTIONS DE HAUTE DISPONIBILIT : LESSPCIFICITS DU SYSTME ?
Les cluster HA introduisent des concepts nouveaux :
Cerveau partag : Split-Brain
Quorum
Fencing
Le partage des donnes nest pas un problme avec unseul serveur - cest un problme CRITIQUE pour lesclusters
15
-
8/2/2019 Formation Cluster
16/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
16
-
8/2/2019 Formation Cluster
17/46
NOTIONS SPCIFIQUES :SPLIT-BRAIN
Les erreurs de communication peuvent aboutir partitions spars sur le cluster.
Si chacune de ces partitions essai de prendre lecontrle du cluster, nous arrivons une situation deSplit-Brain
Si cela se produit, des choses dsagrables peuventsurvenir :
Perte de donnes difficilement rversibles
17
-
8/2/2019 Formation Cluster
18/46
NOTIONS SPCIFIQUES :QUORUM
La notion de Quorum est une tentative dviter la situationde split-brain pour la plupart des cas
Typiquement : on sassure quune seule partition du clusterest active un instant t
Le Quorum est le terme qui dfini les mthodes quipermettent de sassurer de cela
La plupart des Quorum sont des systmes de votes qui
permettent de dterminer quel nud peut avoir accs auxressources (par un calcul).
Cela vite un fonctionnement avec 2 nuds
18
-
8/2/2019 Formation Cluster
19/46
NOTIONS SPCIFIQUES :FENCING
Fencing essai de mettre une barrire autour dun ouplusieurs nud perdu afin dviter leur accs aucluster
De cette faon on ne dpend pas de la bonne conduiteou du timing du nud perdu
On utilise STONITH pour cela : Shoot The Other Node InThe Head
Dautres techniques existent aussi :Lockout au niveau des switch FiberChannel
19
-
8/2/2019 Formation Cluster
20/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
20
-
8/2/2019 Formation Cluster
21/46
FONCTIONNEMENT TECHNIQUE DE HA :MEMBRES DUN CLUSTER
Les clusters doivent avoir une vision prcise de quels nudssont 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 dunnud
Difficult de distinguer entre la dfaillance dun lien, dun
nud, si tous les liens sont coups, on arrive un scnario decerveau partag
Parceque les dfaillances ne peuvent tre dtectes que defaon asynchrones, ltat dun cluster nest JAMAIS certain
21
-
8/2/2019 Formation Cluster
22/46
FONCTIONNEMENT TECHNIQUE DE HA :SYSTME DE SIGNAUX DANS LES
CLUSTERS
Les signaux sont transports par le rseau!
k-fiabilit : Pendant un intervalle de temps t: kdysfonctionnement sont tolrs et non retransmis aux couches
suprieures du systme.Ordonnancement : lordonnancement global est privilgi
Ordonnancement total : Tous les nuds voient tous les messagesdans le mme ordre
Ordonnancement causal : un message nest vu que si tous lesmessages dont il dpend sont reus
La cryptographie protge des dfaillances malicieuses
22
-
8/2/2019 Formation Cluster
23/46
FONCTIONNEMENT TECHNIQUE DE HA :LA GESTION DU TEMPS DANS LES
CLUSTERS
Avec des horloges non synchronises, les vnementspeuvent avoir des marquages temporelles totalementalatoires
Des horloges partiellement synchronises (NTP) permettentdtablir que deux horloges ne varient pas de plus que "t
Pour simuler un temps totalement monotone, les systmes
ne doivent jamais produire un marquage temporellesuprieur celui dun vnement reu dun autre nud
Les bases de cette thorie ont t tablies par Leslie Lamport
23
-
8/2/2019 Formation Cluster
24/46
FONCTIONNEMENT TECHNIQUE DE HA :GESTION DES RESSOURCES
Ressource : Encapsulation dune entit physique ou logique quifourni un service
Type de Ressources : Adresse IP, partition monte, SMTP,
Instance de ressources : identifi par type, nom et dautres paramtres
Un script de Gestion des Ressources prends en charge les ressourcesdun 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 vitLes ressources sont grs par groupes
Un ensemble de ressources doivent fournir un service donn
24
-
8/2/2019 Formation Cluster
25/46
FONCTIONNEMENT TECHNIQUE DE HA :ACCS AUX DONNES
Stockage partag par
Fiber Channel
SCSI partag
iSCSI / HyperSCSIRplication logicielle
Fiabilit Hardware
Rplication
Multi-pathRAID
Fiabilit Software
Software RAID
Rplication
Systme de fichiers journaliss
Logical Volume Management(LVM)
Accs concurrents
Systme de fichiers type SAN(GFS, PolyServe, IBM GPFS)
Systmes de fichiers distribus(NFS, Lustre, AFS)
25
-
8/2/2019 Formation Cluster
26/46
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 efficace
Un nud qui est teint ne modifie pas les donnes
Protection des I/O
Les ressources se protgent delle mme en excluant les non-membres
Dconnect le port du switch Fiber-Channel
Contrleur RAID auto-protgs
Rservation SCSI (pas toujours fiable)
26
-
8/2/2019 Formation Cluster
27/46
FONCTIONNEMENT TECHNIQUE DE HA :TYPES DE SYSTMES FAILOVER
A froid
Le HW est prt mais ne fonctionnepas
Les services sont dmarrs
manuellement sur le nouveausystme
Les coupures sont trsremarquables
Tide
Le systme fonctionne, les donnessont synchronises
Les services sont dmarrsautomatiquement
Les petites coupures sontgnralement remarques (Rebootrapide)
A chaud
En tat de marcheTous les systmes sont actifs
Le client communique avec demultiples systmes en mme temps
Pas de coupure remarquable
Pourquoi tout nest-il pas chaud ?
Cot lev
Les logiciels doivent tre adapts
27
-
8/2/2019 Formation Cluster
28/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
28
-
8/2/2019 Formation Cluster
29/46
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 barriredaccs
On procde la r-lection du matre
Lesclave devient matre, les services sont de nouveau allous sur cenud
Qualifi de switchover si cette action nest pas provoque par undfaillance (par exemple remplacer le matre par lesclave pour uneopration de maintenance)
Le failback est soit manuel ou automatique
29
-
8/2/2019 Formation Cluster
30/46
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
-
8/2/2019 Formation Cluster
31/46
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 nombrede nuds N.
Modules STONITH, librairies IPC, librairies PILS
Communication simple et la plupart du temps fiable
Cluster Test System (CTS) inclus
Heartbeat au niveau applicatif, vrification des donnes, !
31
-
8/2/2019 Formation Cluster
32/46
FONCTIONNEMENT DU FAILOVER : LESLIMITES DHEARTBEAT
Gestion des ressources limites deux nuds
Les ressources en elle mme ne sont pas monitors encas de dfaillance
Les configurations ne sont pas automatiquementsynchronises
Peu de support pour les ressources rpliques
32
-
8/2/2019 Formation Cluster
33/46
FONCTIONNEMENT DU FAILOVER : LEFUTUR DHEARTBEAT
Fonctionnalit multi-nuds
Gestion des ressources amliores
Agents de gestion des ressources conformes OCF RAAPI (gestion des ressources tendues)
Configuration auto-rplique (Cluster informationBase)
k-fiabilit, ordonnancement du systme de messagesLa plupart de ces fonctionnalits mises en uvre dansla version 2.x
33
-
8/2/2019 Formation Cluster
34/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
34
-
8/2/2019 Formation Cluster
35/46
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 desAgents de gestion des Ressources
Ecrit sous forme de script shell
Prend en paramtre une simple liste doptions et une actiondtermine
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 ResourcesAgent API
35
-
8/2/2019 Formation Cluster
36/46
ASPECTS DE CONFIGURATION DE HA :AGENTS DE GESTION DES RESSOURCES
IPaddr, IPaddr2
IPsrcaddr
Filesystem
LVM
RAID1
ServeRAID
ICPLinuxSCSI
portblock
xinetd
db2
WAS
La plupart des scriptsinit.d
Il est assez simple decrer ses propres Agents
36
-
8/2/2019 Formation Cluster
37/46
ASPECTS DE CONFIGURATION DE HA :MODULES STONITH
Network powerswitches:
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
-
8/2/2019 Formation Cluster
38/46
ASPECTS DE CONFIGURATION DE HA :IPFAIL
Heartbeat peut grer les nuds externes en tant quepseudo membres du cluster en les pingant
ipfail utilise cette information pour dterminer oplacer les ressources, sur le nud avec la meilleureconnectivit externe
Configuration hyper simple :
Configurer les nuds pinger
Informer heartbeat de dmarrer ipfail
38
-
8/2/2019 Formation Cluster
39/46
ASPECTS DE CONFIGURATION DE HA :ERREURS CLASSIQUES
Ne pas avoir les fichiers de configuration synchroniss entretous les nuds
Contrler les ressources dans les fichiers init du systmes et
pas par lintermdiaire dheartbeatNe 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 redondantAgents de gestion des Ressources qui ne retournent pas ltatcorrectement
39
-
8/2/2019 Formation Cluster
40/46
ASPECTS DE CONFIGURATION DE HA :HA.CF
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 5
initdead 60
udpport 694
baud 9600
serial /dev/cuad1
bcast em1
auto_failback off
node mail1.xxx.fr
node mail2.xxx.fr
debug 1
40
-
8/2/2019 Formation Cluster
41/46
ASPECTS DE CONFIGURATION DE HA :HARESOURCES + AUTHKEYS
haresourcesmail1.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::[email protected]::ClusterMail
Authkeys doivent avoir root:root, mode 0600 commeautorisationauth 1
1 sha1 ClusterMailXXXInstallToDoo
41
mailto:[email protected]:[email protected]:[email protected] -
8/2/2019 Formation Cluster
42/46
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 : donne le statu dun nud donnnodetype : donne les nuds dun type donn (ping | normal)
listhblinks : liste les interfaces rseau utilises par
heartbeat
hblinkstatus : Indique le statu dun lien heartbeat
clientstatus : Montre le statu dun client.
rscstatus : Indique le statu des ressources du cluster (local | foreign |
all | none | transition).
hbparameter -p : Retourne la valeur dun paramtre
donn.
http://www.linux-ha.org/cl_status
42
http://www.linux-ha.org/cl_statushttp://www.linux-ha.org/cl_statushttp://www.linux-ha.org/cl_statushttp://www.linux-ha.org/cl_status -
8/2/2019 Formation Cluster
43/46
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
-
8/2/2019 Formation Cluster
44/46
COMPARAISON DES SYSTMES DECLUSTER : HA & LA REMISE EN UVRE
HA :
Reprise peu coteuse
Le temps de panne se compte en secondes (normalement)
Communication inter-nuds fiable
Remise en uvre standard
Reprise coteuseLe temps de panne se mesure en heures
Communication inter-nuds peu fiable
44
-
8/2/2019 Formation Cluster
45/46
PLAN DE LA PRSENTATION
1. Aperu des diffrents systmes de cluster
2. Notions de haute disponibilit
3. Notions spcifiques aux clusters
4. Fonctionnement technique de HA
5. Fonctionnement spcifique du failover
6. Aspects de la configuration
7. Atelier pratique
45
-
8/2/2019 Formation Cluster
46/46