SlideShare une entreprise Scribd logo
1  sur  80
Haute disponibilité
Haute disponibilité et Tolérance de
Panne
Date 13 Octobre 2009
Groupe 14
Auteur(s) BOUKHOBZA Elior
Responsable Mr. Alain Stephan
Promo TCOM 2010
Haute disponibilité
Plan
I. Définitions
II. Clustering
III. Load Balancing
IV. Redondance
V. Réplication des données
VI. Conclusion
23/07/2015 2Groupe 14: Boukhobza Elior
Haute disponibilité
Introduction
What is the High Availability?
o A Highly Available material is a material
providing full-time availability even when
failures occurs.
What is the Fault Tolerance?
o The Fault Tolerance is the capacity of a material
to ensure the data availability in case of a failure
occurs. It provides full-time checking and
redundancy devices to perform high availability.
23/07/2015 3Groupe 14: Boukhobza Elior
Haute disponibilité
Introduction
Why high availability?
o In a company, the information system requires to be
fully available 100% (or most) of the time.
o If a failure occurs in the system (device crash,
human error…), or in the building (fire, flooding…),
or even in the region (earthquake, war…), the IS
needs to be available and functional otherwise it
would be fatal for the company.
o That’s why having a material fully available is vital
for a company to ensure its business without fear of
failures or disasters in the IS.
23/07/2015 4Groupe 14: Boukhobza Elior
Haute disponibilité
DÉFINITIONS
23/07/2015 5Groupe 14: Boukhobza Elior
Haute disponibilité
Définitions
Plan
1. Critères DICP
2. Indicateurs de disponibilité
3. Classification en Tiers
23/07/2015 Groupe 14: Boukhobza Elior 6
Haute disponibilité
Définitions
Critères DICP
Critères DICP-R
o On classifie la sécurité d’un système grâce aux « Critères DICP »,
c’est-à-dire:
o D: Disponibilité
 C’est-à-dire que le système doit pouvoir être disponible à toute heure.
o I: Intégrité
 C’est la capacité au système d’assurer que les informations sont exactes.
o C: Confidentialité
 C’est la capacité au système d’assurer que les données ne peuvent être accédées
que par les personnes ayant accès.
o P: Preuve
 La preuve concerne la non répudiation, c’est-à-dire l’impossibilité de nier avoir
effectué telle ou telle action.
o On parle aussi de DICP-R, R pour règlementation. Ce sont les règles
que le système doit respecter.
23/07/2015 Groupe 14: Boukhobza Elior 7
Haute disponibilité
Définitions
Indicateurs de disponibilité (1/3)
MTTF, MTBF, MTTR, MUT, MDT
o MTTF: Mean Time To Failure (Temps Moyen Avant Panne)
 C’est le temps moyen avant l’apparition d’une panne d’un
composant du système. On souhaite que cet indicateur soit le plus
grand possible.
o MTBF: Mean Time Between Failures (Temps Moyen Inter-
pannes)
 C’est le temps moyen entre deux pannes survenant sur un
composant du système. Plus cet indicateur est grand, plus le
système est considéré comme fiable.
o MTTR: Mean Time To Repair (Temps Moyen de Réparation)
 C’est le temps moyen nécessaire à la réparation d’un composant
survenu lors d’une panne. A l’inverse, on souhaite que cet
indicateur soit le plus petit possible.
o MTBF = MTTF + MTTR.
23/07/2015 Groupe 14: Boukhobza Elior 8
Haute disponibilité
Définitions
Indicateurs de disponibilité (2/3)
o MDT: Mean Down Time (Temps Moyen
d’indisponibilité)
 C’est le temps moyen d’indisponibilité d’un
composant lors d’une panne quelconque.
o MUT: Mean Up Time (Temps Moyen de
disponibilité)
 C’est le temps moyen de disponibilité du composant
après sa réparation avant qu’il ne retombe en panne.
o MTBF = MUT + MDT
o Disponibilité = MTTF / MTBF
23/07/2015 Groupe 14: Boukhobza Elior 9
Haute disponibilité
Définitions
Indicateurs de disponibilité (3/3)
Taux de disponibilité Durée d’indisponibilité sur un an
97% 11 jours
98% 7 jours
99% 3 jours et 15 heures
99,9% 8 heures et 48 minutes
99,99% 53 minutes
99,999% 5 minutes
99,9999% 32 secondes
23/07/2015 Groupe 14: Boukhobza Elior 10
Source: Wikipedia
Haute disponibilité
Définitions
Classification en Tier (1/3)
Classification en Tier:
o Une autre définition de la disponibilité est la
classification en Tier, créé par l’Uptime Institute.
o Permet de classifier les datacenter selon un
niveau de disponibilité entre 99% et 100%.
o Plus le matériel a un niveau de Tier élevé, plus il
est coûteux, mais aura un meilleur taux de
disponibilité.
23/07/2015 Groupe 14: Boukhobza Elior 11
Haute disponibilité
Définitions
Classification en Tier (2/3)
•1 alimentation électrique/refroidissement
•Pas de redondance des composants
•Taux de disponibilité de 99,671%
Tier I:
•1 alimentation électrique/refroidissement
•Redondance des composants
•Taux de disponibilité de 99,741%
Tier II:
•Redondance électrique/refroidissement mais 1 seul actif
•Redondance des composants
•Taux de disponibilité de 99,982%
Tier III:
•Redondance électrique/refroidissement, tous actifs
•Redondance des composants
•Taux de disponibilité de 99,995%
Tier IV:
23/07/2015 Groupe 14: Boukhobza Elior 12
Haute disponibilité
Définitions
Classification en Tier (3/3)
23/07/2015 Groupe 14: Boukhobza Elior 13
Classification en Tiers de l’Uptime Institute
Haute disponibilité
CLUSTERING
23/07/2015 Groupe 14: Boukhobza Elior 14
Haute disponibilité
Clustering
Plan
1. Définition
2. Fonctionnalités
3. Types de clusters
4. Architectures en cluster
5. Détection de pannes
6. Outils
23/07/2015 Groupe 14: Boukhobza Elior 15
Haute disponibilité
Clustering
Définition (1/2)
Cluster = Grappe de serveurs ou Ferme de serveurs.
Le principe d’un cluster est de regrouper plusieurs
serveurs indépendants appelés nœuds en un seul
et même serveur, de façon transparente pour le
client.
Ainsi, si l’un des nœuds du cluster tombe, le service
continue, assurant ainsi la disponibilité des
services.
Les nœuds n’ont pas besoin d’être proches
physiquement. Il suffit qu’ils soient interconnectés
entre eux par un ou plusieurs réseaux (LAN,
WAN…) pour en faire un cluster.
23/07/2015 Groupe 14: Boukhobza Elior 16
Haute disponibilité
Clustering
Définition (2/2)
23/07/2015 Groupe 14: Boukhobza Elior 17
Simple architecture en cluster
Haute disponibilité
Clustering
Fonctionnalités
Les fonctionnalités que doit offrir un cluster sont:
o Basculement de service: Lors d’une panne, le service est
transféré sur un nœud fonctionnel: Fail Over Service.
o Détection de pannes: Guetter les pannes pour basculer
le service sans interruption.
Elles sont en général couplées à d’autres
fonctionnalités pour assurer la disponibilité:
o Distribution de charge
o Réplication des données
o Intégrité des données…
23/07/2015 Groupe 14: Boukhobza Elior 18
Haute disponibilité
Clustering
Types de clusters
On distingue plusieurs types de clusters, selon les
fonctionnalités:
o Clusters de haute disponibilité
o Clusters de calcul
o Clusters d’équilibrage de charge
o Clusters d’applications…
Différentes configurations selon le type de services:
o Actif/Actif
o Actif/Passif
o N+1
o N+M
o N to 1
o N to N
23/07/2015 Groupe 14: Boukhobza Elior 19
Haute disponibilité
Clustering
Architectures en cluster (1/5)
Configuration « Actif/Passif »:
o Cluster de deux nœuds.
o Le nœud principal (ou nœud maître) exécutant les services.
o Le nœud secondaire (ou nœud esclave), de secours.
o Un ou plusieurs liens dédiés entre les deux nœuds pour le
basculement de service.
Adressage IP:
o Chaque nœud a sa propre adresse IP réelle.
o Au cluster est associée une adresse IP virtuelle (ou alias IP),
qui va pointer sur le nœud actif (NAT).
o Si le nœud actif tombe, l’alias IP pointe sur le nœud de
secours.
23/07/2015 Groupe 14: Boukhobza Elior 20
Haute disponibilité
Clustering
Architectures en cluster (2/5)
23/07/2015 Groupe 14: Boukhobza Elior 21
Cluster et basculement de service
Haute disponibilité
Clustering
Architectures en cluster (3/5)
Principe:
o Le client entre l’@IP virtuelle 192.168.X.254
o Cette adresse pointe vers le nœud principal A.
o Le nœud A tombe, B détecte que A est tombé.
o Grâce au lien dédié, le service bascule vers B.
o L’adresse IP virtuelle pointe alors sur B.
o Lorsque A est réparé, le service bascule vers A et l’@IP virtuelle
pointe vers A.
o Le client ne détecte aucun changement.
23/07/2015 Groupe 14: Boukhobza Elior 22
Haute disponibilité
Clustering
Architectures en cluster (4/5)
Configuration Actif/Actif:
o Les deux nœuds sont actifs et se répartissent la charge.
o Si l’un des nœuds tombe, le service est basculé sur le nœud restant.
o Lorsque le nœud défaillant fonctionne, la charge est à nouveau
répartie entre les deux nœuds.
Configuration N+1:
o Architectures de N nœuds, et un nœud de secours.
o Si l’un des nœuds tombe, le service est basculé sur le nœud de
secours.
o Lorsque le nœud est rétabli, il devient le nœud de secours.
o SPOF si plusieurs nœuds tombent en même temps.
Configuration N+M:
o N nœuds actifs et M nœuds de secours.
o Le nombre de nœuds de secours dépend du degré de disponibilité
requis pour assurer le service.
23/07/2015 Groupe 14: Boukhobza Elior 23
Haute disponibilité
Clustering
Architectures en cluster (5/5)
Configuration N to 1:
o A la différence du N+1, lorsque le nœud défaillant
est rétabli, le service bascule vers ce nœud.
o Deux basculements de service.
Configuration N to N:
o Pas de nœuds de secours.
o Si un des nœuds tombe, la charge est redistribuée
sur les N-1 nœuds restants.
o Lorsque le nœud est rétabli, la charge est
redistribuée en conséquence.
o Nécessite des nœuds à plus grande capacité.
23/07/2015 Groupe 14: Boukhobza Elior 24
Haute disponibilité
Clustering
Détection de pannes
Détection de pannes :
o Requêtes Push:
 Le nœud actif envoie des signaux au nœud passif à intervalles
réguliers.
 Si le nœud passif ne reçoit pas de signaux au bout d’un certain
temps, il détermine qu’il y’a panne et active le basculement de
service.
o Requêtes Pull:
 Le nœud passif envoie des signaux au nœud actif à intervalles
réguliers.
 Si il ne reçoit pas de réponse, il continue d’émettre des signaux
car ca peut provenir d’un problème sur le lien.
 Au bout d’un certain nombre de tentatives, il détermine qu’il y’a
panne et active le basculement de service.
o C’est communément appelé « Heartbeat ».
23/07/2015 Groupe 14: Boukhobza Elior 25
Haute disponibilité
Clustering
Outils (1/3)
Heartbeat: Outil de surveillance des systèmes.
Outil implémentant la surveillance et le basculement de services à
l’aide de scripts.
Caractéristiques:
o Les services (applications) sont démarrés avec Heartbeat sur le nœud actif.
o Il permet d’arrêter et de démarrer les services manuellement, dans ce cas
les services sont basculés sur le nœud de secours.
o Cet outil permet de détecter les pannes matérielles et réseau et d’exécuter
des scripts de basculement en cas de panne.
o Utilisé avec l’outil « Mon », on peut désormais faire de la surveillance
applicative.
o Heartbeat permet aussi le contrôle d’une application « STONITH » (« Shoot
The Other Node In The Head »), procédé qui consiste à désactiver le nœud
à distance en cas de problème.
Logiciel sous licence GPL, du projet « Linux-HA ».
23/07/2015 Groupe 14: Boukhobza Elior 26
Haute disponibilité
Clustering
Outils (2/3)
MON: Service Monitory Daemon
C’est un démon de supervision des services.
Il permet de détecter des défaillances applicatives et de les
arrêter/redémarrer manuellement.
Caractéristiques:
o Marche/arrêt de serveurs
o Marche/arrêt de services
o Consultation de l’état des services
o Surveillance des ressources
o Envoi de tests (traps) pour tester l’état d’un service/serveur.
Il est utilisé avec Heartbeat pour faire de la surveillance
applicative.
Sous licence GPL.
23/07/2015 Groupe 14: Boukhobza Elior 27
Haute disponibilité
Clustering
Outils (3/3)
FailSafe: Outil similaire à Heartbeat, de la
marque SGI.
Permet de supporter jusqu’à des clusters
de 16 nœuds.
23/07/2015 Groupe 14: Boukhobza Elior 28
Haute disponibilité
LOAD BALANCING
23/07/2015 Groupe 14: Boukhobza Elior 29
Haute disponibilité
Load Balancing
Plan
1. Définitions
2. Architectures de répartition de charge
3. Algorithmes de répartition de charge
4. Gestion des états de sessions
5. Outils
23/07/2015 Groupe 14: Boukhobza Elior 30
Haute disponibilité
Load Balancing
Définitions
Load Balancing : Equilibre de charge ou répartition
de charge.
Il consiste à distribuer la charge aux nœuds d’un
cluster.
Un load-balancer est un serveur qui dispose de
différents algorithmes d’équilibrage de charge.
Dans les architectures communes, ce serveur est
redondé pour éviter les SPOF.
Le load-balancing permet d’équilibrer le trafic
réseau et d’assurer la disponibilité des services en
dirigeant les requêtes vers les nœuds actifs.
23/07/2015 Groupe 14: Boukhobza Elior 31
Haute disponibilité
Load Balancing
Architectures (1/4)
Schéma classique d’une architecture load-balancée :
o Un cluster de services.
o Un cluster de load-balancers: un actif et un passif
o Un lien dédié entre les deux load-balancers pour le basculement de
service.
23/07/2015 Groupe 14: Boukhobza Elior 32
Haute disponibilité
Load Balancing
Architectures (2/4)
Principe:
o Le client s’adresse au load-balancer actif via
l’@IP virtuelle qui lui est fournie.
o Le load-balancer actif relaye la requête vers le
ou les nœuds du cluster de services.
o Pour la réponse, plusieurs solutions sont
possibles, dépendant de l’architecture.
23/07/2015 Groupe 14: Boukhobza Elior 33
Haute disponibilité
Load Balancing
Architectures (3/4)
Si le load-balancer agit
comme une passerelle:
o Utilisation du NAT pour
translater l’@IP virtuelle
vers l’@IP réelle du
serveur actif.
o Le serveur actif retourne
la réponse au load-
balancer.
o Le load-balancer renvoie
alors la réponse au client.
o Le cluster de services est
inaccessible directement.
23/07/2015 Groupe 14: Boukhobza Elior 34
Haute disponibilité
Load Balancing
Architectures (4/4)
Si le load-balancer est
sur le même cluster
que les serveurs:
o Le load-balancer s’occupe
toujours de relayer vers
le serveur actif.
o Mais la réponse est
renvoyée directement au
client.
o Inconvénient: Le cluster
de services n’est plus
privé.
23/07/2015 Groupe 14: Boukhobza Elior 35
Haute disponibilité
Load Balancing
Algorithmes de répartition (1/2)
Round-Robin:
o Distribution de la charge équitablement à chaque serveur.
o Avantages :
 Très simple à mettre en place et très rapide.
o Inconvénients :
 Ne tient pas compte de facteurs extérieurs tels que le nombre de connexions ou le
temps de réponse.
 Un serveur surchargé continuera de recevoir des requêtes pendant que d’autres
serveurs n’utiliseront que peu de leurs ressources.
Weighted Round-Robin:
o Chaque serveur est assigné d’un « poids » qui détermine le taux de
sollicitation du serveur.
o Avantages:
 Aussi rapide que Round-Robin
 Tient compte des facteurs extérieurs.
o Inconvénients:
 Peu intéressant pour des serveurs de même type.
23/07/2015 Groupe 14: Boukhobza Elior 36
Haute disponibilité
Load Balancing
Algorithmes de répartition (2/2)
Least Connection:
o Envoie les requêtes au serveur gérant le moins de connexions
entrantes.
o Avantages:
 Les requêtes sont équitablement réparties
o Inconvénients:
 Ne tient pas compte des capacités de la machine
Weighted Least Connection
o La variante pondérée de Least Connection
Load Based:
o Envoie les requêtes aux serveurs ayant la charge la plus faible.
o Avantages:
 Meilleure répartition de la charge
o Inconvénients
 Ne tient pas compte des capacités de la machine
23/07/2015 Groupe 14: Boukhobza Elior 37
Haute disponibilité
Load Balancing
Gestion des sessions (1/4)
Contexte:
o Dans certaines applications, une session peut se
dérouler en plusieurs étapes, qu’on appelle « états de
session ».
o Chaque étape ne s’active que lorsque l’étape précédente
est validée.
o Par exemple, un achat sur Internet se fait en 3 étapes: le
choix de l’article, le remplissage des informations
utilisateur et le remplissage des coordonnées bancaires.
o Les applications situées dans les serveurs distants
doivent pouvoir suivre le changement d’état de session
pour assurer la continuité.
23/07/2015 Groupe 14: Boukhobza Elior 38
Haute disponibilité
Load Balancing
Gestion des sessions (2/4)
Plusieurs solutions pour gérer les états des sessions:
o L’état est stocké chez le client.
o L’état est stocké sur le serveur distant.
o L’état est stocké sur un serveur intermédiaire.
Si l’état est stocké chez le client:
o Le client envoie les requêtes de chaque état avec les informations
de la session.
o Le ou les serveurs traitent ces requêtes unitairement.
Si l’état est stocké sur le serveur distant:
o le load-balancer redirige toutes les requêtes propres à la session
sur le serveur en question.
o Problème: Si le serveur en question tombe au cours de la session, le
client perd toutes les informations relatives aux états précédents.
Solution: Une gestion habile des sessions.
23/07/2015 Groupe 14: Boukhobza Elior 39
Haute disponibilité
Load Balancing
Gestion des sessions (3/4)
2 solutions:
o Gestion centralisée.
o Gestion asynchrone.
Gestion centralisée:
o Les états sont stockés sur un serveur à un niveau différent des
serveurs d’application.
o Lors de la réception d’une requête, le serveur d’application
récupère l’état de session du serveur d’états.
Gestion asynchrone:
o Chaque serveur diffuse aux autres serveurs l’état de la session
lorsque celui-ci change.
o Chacun d’eux peut donc traiter une requête propre à un état de
session. Si l’un d’eux tombe, un autre prendra le relais.
o Plus économique que la gestion centralisée, mais plus complexe à
mettre en place.
23/07/2015 Groupe 14: Boukhobza Elior 40
Haute disponibilité
Load Balancing
Gestion des sessions (4/4)
Gestion centralisée Gestion asynchrone
23/07/2015 Groupe 14: Boukhobza Elior 41
Haute disponibilité
Load Balancing
Outils (1/2)
LVS: Linux Virtual Server
C’est un serveur virtuel agissant comme load balancer sur un cluster.
Supporte 3 types de routage des requêtes:
o Routage par NAT
o Routage par tunneling IP
o Routage direct
Supporte les algorithmes de répartition de charge:
o Round Robin
o Weighted Round Robin
o Least Connection
o Weighted Least connection
o Autres algorithmes (Load Based, etc…)
Sous licence GPL
Quelques interfaces graphiques disponibles: UltraMonkey, Piranha
23/07/2015 Groupe 14: Boukhobza Elior 42
Haute disponibilité
Load Balancing
Outils (2/2)
23/07/2015 Groupe 14: Boukhobza Elior 43
LVS par NAT LVS par Tunnel IP
Haute disponibilité
REDONDANCE
23/07/2015 Groupe 14: Boukhobza Elior 44
Haute disponibilité
Redondance
Plan
1. Concepts
2. Redondance bas niveau
3. Redondance couche liaison
1. STP, RSTP, MST
2. LACP, EtherChannel
4. Redondance couche réseau
1. VRRP, HSRP
2. GLBP
5. Redondance couche applicative
23/07/2015 Groupe 14: Boukhobza Elior 45
Haute disponibilité
Redondance
Concepts
Procédé qui consiste à multiplier les éléments afin
d’assurer les fonctions en cas de défaillance de
l’élément principal.
Principes clés pour mettre en place de la
redondance dans un système:
o Trouver le moyen pour que les éléments de secours
puissent remplacer automatiquement les éléments
défaillants.
o Dispersion géographique des éléments redondés pour
éviter les SPOF en cas de défaillance sur tout le site.
On trouve de la redondance à tous les niveaux: de la
couche physique à la couche applicative.
23/07/2015 Groupe 14: Boukhobza Elior 46
Haute disponibilité
Redondance
Redondance bas niveau (1/2)
Redondance bas niveau = redondance au niveau matériel et
câblage.
Techniques de base:
o Redondance des équipements: brancher les serveurs sur plusieurs
switchs, routeurs, etc…
o Redondance des interfaces: Disposer de plusieurs interfaces sur les
équipements.
o Redondance électrique: Brancher les équipements sur des
alimentations électriques distinctes…
o Redondance de la sécurité: Multiplier les éléments de sécurité:
Firewalls, IPS, etc…
Plus le degré de redondance est élevé, plus la disponibilité est
haute, mais c’est plus cher et plus lent…
Il faut donc estimer le degré de disponibilité en fonction du
besoin de l’entreprise.
23/07/2015 Groupe 14: Boukhobza Elior 47
Haute disponibilité
Redondance
Redondance bas niveau (2/2)
23/07/2015 Groupe 14: Boukhobza Elior 48
Exemple de matériel hautement disponible: HP BladeSystem P-Class Blade Server.
Haute disponibilité
Redondance liaison
Spanning Tree Protocol (1/3)
STP: Spanning Tree Protocol (802.1D)
C’est un protocole qui permet de modifier la topologie d’un
réseau sans boucle en cas de défaillance d’un lien.
Il permet de détecter et de désactiver les boucles dans un
réseau et fournit une hiérarchie des liens sous forme d’arbre.
Principe:
o Election d’un « root bridge », c’est-à-dire le lien (port) ayant l’id le
plus petit et la priorité la plus faible.
o Détermination du plus court chemin entre deux nœuds du réseau
pour déterminer quel lien utiliser.
o Désactivation des liens non utilisés.
o En cas de défaillance d’un lien, le processus est relancé et une
nouvelle topologie est créée.
o Le temps de convergence est d’environ 40s, ce qui est très lent.
23/07/2015 Groupe 14: Boukhobza Elior 49
Haute disponibilité
Redondance liaison
Spanning Tree Protocol (2/3)
23/07/2015 Groupe 14: Boukhobza Elior 50
Le Protocole STP
Haute disponibilité
Redondance liaison
Spanning Tree Protocol (3/3)
Evolutions de STP:
o RSTP (Rapid STP, 802.1w) version plus rapide
de STP (1 s en moyenne)
o PVSTP (Per VLAN STP) de Cisco, qui consiste à
appliquer STP sur plusieurs VLAN.
o MST (Mutliple STP), la version normée de
PVSTP.
o Autres protocoles de Spanning Tree
propriétaires.
23/07/2015 Groupe 14: Boukhobza Elior 51
Haute disponibilité
Redondance liaison
LACP, EtherChannel (1/2)
LACP: Link Aggregation Control Protocol (802.3ad)
Protocole permettant d’agréger des liens ou des
ports afin d’améliorer la vitesse de transfert et
d’avoir de la redondance niveau 2.
Une autre version très connue de ce protocole:
Cisco EtherChannel (agrégation de liens Ethernet)
Autres versions du protocole:
o Cisco PAgP (Port Aggregation Protocol)
o Nortel MLT (Multi Link Trunking)
o 3COM DTP (Dynamic Trunking Protocol)
o …
23/07/2015 Groupe 14: Boukhobza Elior 52
Haute disponibilité
Redondance liaison
LACP, EtherChannel (2/2)
23/07/2015 Groupe 14: Boukhobza Elior 53
Cisco EtherChannel
Haute disponibilité
Redondance réseau
VRRP, HSRP (1/2)
VRRP: Virtual Router Redundancy Protocol (RFC 3768)
Protocole permettant d’avoir de la redondance au niveau routage.
Principe:
o On met deux ou plusieurs routeurs dans un même groupe VRRP.
o Dans ce groupe, un routeur va être élu comme routeur actif, celui ayant la
plus forte priorité. Les autres seront en standby.
o Le routeur actif sera accessible à partir d’une adresse IP virtuelle.
o Les routeurs s’envoient des messages (hello paquets) à intervalles
réguliers pour vérifier qu’il n’y a pas de panne (heartbeat)
o Si le routeur actif tombe, un nouveau routeur sera élu comme actif et sera
disponible via le même adresse virtuelle.
Protocole standardisé.
Basé sur le protocole HSRP (Hot Standby Router Protocol) de Cisco.
Une version libre de ce protocole: CARP (Common Address
Redundancy Protocol) sous OpenBSD.
23/07/2015 Groupe 14: Boukhobza Elior 54
Haute disponibilité
Redondance réseau
VRRP, HSRP (2/2)
23/07/2015 Groupe 14: Boukhobza Elior 55
VRRP - HSRP
Haute disponibilité
Redondance réseau
GLBP
GLBP: Gateway Load Balancing Protocol
Protocole propriétaire Cisco qui ajoute de la
répartition de charge à HSRP.
Principe:
o En plus d’affecter une priorité aux routeurs du
groupe, on affecte aussi un poids.
o Election d’une AVG (Active Virtual Gateway) qui est
le routeur actif du groupe.
o La charge est alors répartie en Round Robin ou
Weighted Round Robin.
23/07/2015 Groupe 14: Boukhobza Elior 56
Haute disponibilité
Redondance
Redondance applicative (1/3)
Redonder les éléments
actifs: Serveur web, base de
données, ERP…
Répartir efficacement la
charge.
Assurer la synchronisation
des données entre les
éléments actifs et passifs.
Gérer efficacement les états
de session.
Exemple:
o Serveur web LAMP redondé
et load balancé.
o Base de données MySQL
redondée et synchronisée.
23/07/2015 Groupe 14: Boukhobza Elior 57
Haute disponibilité
Redondance
Redondance applicative (2/3)
Teaming: Permet de regrouper plusieurs interfaces
réseau en une seule vue par le système.
Redondance au niveau de l’OS (couche 7)
Type de comportement dépend du constructeur:
o Fail Over Service: Une interface est active, une autre est
en standby
o Load Balancing: Les flux réseau sont distribués sur les
interfaces.
o Switch-assisted: Pour plus d’efficacité dans le
basculement de service ou l’équilibre de charge.
23/07/2015 Groupe 14: Boukhobza Elior 58
Haute disponibilité
Redondance
Redondance applicative (3/3)
Autre solution pour mettre de la
redondance: Virtualisation.
Disposer de plusieurs machines virtuelles
au sein d’une même machine permet
d’avoir de la redondance à plus faible coût
(financier et énergétique).
23/07/2015 Groupe 14: Boukhobza Elior 59
Haute disponibilité
RÉPLICATION DES DONNÉES
23/07/2015 Groupe 14: Boukhobza Elior 60
Haute disponibilité
Réplication des données
Plan
1. Concepts
2. Réplication matérielle
1. RAID
2. DRBD
3. ENBD
3. Systèmes de fichiers
23/07/2015 61Groupe 14: Boukhobza Elior
Haute disponibilité
Réplication des données
Concepts (1/3)
Ajouter de la redondance ne suffit pas à assurer la
haute dispo si il n’y a pas de sauvegarde de données
derrière.
Il faut qu’en cas de défaillance du système actif, le
système qui prend le relais assure la continuité de
service.
Il faut donc prévoir un mécanisme de synchronisation
des données entre les éléments redondés: c’est la
réplication.
La réplication peut être matérielle (copie des données
entre les disques, entre les BDD…), ou bien directement
au sein du système de fichiers (cache mémoire,
partage…).
23/07/2015 Groupe 14: Boukhobza Elior 62
Haute disponibilité
Réplication des données
Concepts (2/3)
Solution de stockage des données: le NAS (Network
Attached Storage).
o Espace de stockage attaché au réseau de l’entreprise qui gère
l’ensemble des données de l’entreprise.
o C’est un serveur à part entière contenant plusieurs disques
indépendants ainsi que son propre OS et de son propre
système de fichiers.
23/07/2015 Groupe 14: Boukhobza Elior 63
Haute disponibilité
Réplication des données
Concepts (3/3)
Autre dispositif de stockage: le SAN (Storage Area
Network). C’est un réseau de stockage à part entière.
o Il contient plusieurs périphériques de stockage reliés à des switchs
en Fiber channel ou iSCSI.
o Le trafic de stockage est alors séparé du trafic métier et la capacité
de stockage est quasi illimitée.
23/07/2015 Groupe 14: Boukhobza Elior 64
Haute disponibilité
Réplication matérielle
RAID (1/4)
RAID: Redundant Array of Inexpensive Disks.
Technologie permettant de regrouper
plusieurs disques en un seul (grappe).
Permet d’augmenter la vitesse de transfert et
d’assurer une haute dispo des données.
Il existe plusieurs niveaux de RAID, chaque
niveau décrivant la manière dont sont
stockées les données sur les disques.
RAID est de la réplication locale.
23/07/2015 Groupe 14: Boukhobza Elior 65
Haute disponibilité
Réplication matérielle
RAID (2/4)
•Répartit les données sur l’ensemble des disques
•Vitesse de transfert élevée
•Pas de tolérance de panne.
RAID 0
(Striping)
•Duplication des données sur les disques
•Amélioration de la vitesse de lecture
•Haute disponibilité des données
•Solution onéreuse car une partie du stockage est réservée au backup
RAID 1
(Mirroring)
•Stockage des données sous forme d’octets sur chaque disque
•Un disque est dédié au stockage d’un bit de parité
•Permet la reconstitution des données en cas de défaillance.
RAID 3 (Disk
Array With Bit
Interleaved
Data)
23/07/2015 Groupe 14: Boukhobza Elior 66
Haute disponibilité
Réplication matérielle
RAID (3/4)
•Comme le RAID 3 mais des blocs à la place des bits
•Meilleure gestion de la capacité de stockage
•Le disque de contrôle doit avoir un débit égal à la somme des débits des
autres disques.
RAID 4 (Disk
Array With
Block
Interleaved
Data)
•Comme le RAID 4 mais la parité est stockée sur tous les disques
•Performances élevées
•Très Haute disponibilité des données
•Très intéressant lorsqu’on possède beaucoup de disques.
RAID 5 (disk
array with
block-
interleaved
distributed
parity)
•Comme le RAID 5
•Plusieurs fonctions de parité pour augmenter la redondance
•Nécessite d’avoir au moins 4 disques.
RAID 6 (disk
array with
block-
interleaved
distributed
parity )
23/07/2015 Groupe 14: Boukhobza Elior 67
Haute disponibilité
Réplication matérielle
RAID (4/4)
Avantages du RAID:
o La sécurité: RAID 1 et RAID 5 offrent un niveau de
sécurité élevée, mais RAID 1 est une copie conforme là
où RAID 5 est un entrelacement.
o Performances : RAID 0 et RAID 5 offrent de fortes
performances en lecture/écriture.
o Coût: Le RAID 1 est onéreux car il n’offre que 50% de la
quantité de stockage, alors que RAID 5 arrive à offrir
jusqu’à 90% tout en assurant la réplication des
données.
Conclusion:
o RAID 1 utilisé pour redonder les données d’un serveur.
o RAID 5 utilisé dans de grands espaces de stockage.
23/07/2015 Groupe 14: Boukhobza Elior 68
Haute disponibilité
Réplication matérielle
DRBD
DRBD (Distributed Replicated Block Device)
Logiciel de réplication distante pour répliquer
les données entre deux serveurs distants.
Technique de mirroring des données comme
en RAID 1.
Solution Linux souvent déployée avec
Heartbeat.
Conserve une copie locale des données.
La version 8 permet de supporter le partage
de charge.
23/07/2015 Groupe 14: Boukhobza Elior 69
Haute disponibilité
Réplication matérielle
ENBD
ENBD: Enhanced Network Block Device
Evolution de Linux NBD.
Permet d’accéder aux données distantes
comme si elles étaient locales.
Une authentification est nécessaire pour
disposer des droits de lecture/écriture.
Associé à du RAID 1, assure une haute
disponibilité des données « over the Net ».
23/07/2015 Groupe 14: Boukhobza Elior 70
Haute disponibilité
Réplication des données
Systèmes de fichiers (1/2)
Intérêt: disposer au sein du disque un système de fichiers
offrant de la redondance mais aussi assurant l’intégrité des
données.
Deux types de systèmes de fichiers:
o Locaux (Ext3, XFS…)
o Partagés (NFS, OpenGFS…)
Fonctionnalités intéressantes:
o Journalisation des données pour récupération en cas de crash.
o Vitesse de lecture/écriture
o Partage des données sur plusieurs disques.
o Sécurité de l’accès aux données
o Clustering des données
o Etc…
23/07/2015 Groupe 14: Boukhobza Elior 71
Haute disponibilité
Réplication des données
Systèmes de fichiers (2/2)
Tableau présentant quelques systèmes de
fichiers et leurs fonctionnalités:
23/07/2015 Groupe 14: Boukhobza Elior 72
File system Partage Ressource
Réseau
En local Gestion du
clustering de
données
Journalisé
ReiserFS Oui Oui
Ext 3 Oui Oui
XFS Oui Oui
NFS Oui Oui Oui
GFS Oui Oui Oui Oui Oui
CodaFS Oui Oui Oui Oui
Intermezzo Oui Oui Oui Oui
Lustre Oui Oui Oui Oui
Haute disponibilité
CONCLUSION
23/07/2015 Groupe 14: Boukhobza Elior 73
Haute disponibilité
Conclusion
La HD dans les faits (1/2)
En utilisant toutes les connaissances acquises dans cet état de l’art,
voici un exemple d’une architecture hautement disponible:
23/07/2015 Groupe 14: Boukhobza Elior 74
Haute disponibilité
Conclusion
La HD dans les faits (2/2)
Dans cette architecture:
o Tous les éléments sont redondés: routeurs, firewall, proxy,
serveurs.
o Chaque couche d’équipements est connectée à sa voisine en
utilisant une Switch Zone dédiée, avec des switchs implémentant
du Spanning Tree.
o Les routeurs et les firewall utilisent de l’HSRP ou du GLBP, les proxy
implémentent du CARP, les load balancers et les serveurs sont
clusterisés et font de la redondance applicative (Teaming).
o Enfin les bases de données sont partagées via du RAID 5
localement et en ENBD avec les autres sites.
Une architecture particulièrement onéreuse mais qui offre un
degré de disponibilité très élevé.
En ajoutant en plus de la virtualisation, on peut offrir une
haute disponibilité tout en réduisant considérablement les
coûts.
23/07/2015 Groupe 14: Boukhobza Elior 75
Haute disponibilité
Conclusion
Les acteurs de la HD (1/2)
Concrètement, il existe des solutions de
serveurs offrant de la HD (RAID, Heartbeat,
etc…)
Gartner a réalisé une étude en 2003 des
acteurs du marché de la haute
disponibilité.
En leaders: Fujitsu Technologies, HP, IBM,
Stratus & Unisys.
23/07/2015 Groupe 14: Boukhobza Elior 76
Haute disponibilité
Conclusion
Les acteurs de la HD (2/2)
23/07/2015 Groupe 14: Boukhobza Elior 77
Magic Quadrant of HA vendors
Haute disponibilité
Conclusion
Exemple
L’architecture de Wikipedia
23/07/2015 Groupe 14: Boukhobza Elior 78
Haute disponibilité
Conclusion
Nowadays, many solutions provide high availability and
fault tolerance to IS architectures and materials.
The rate of high availability is proportional to the
investment deployed. The more money is invested for
HA, the more secured the IS will be, making a difference
between simple reliability and high availability.
That’s why nowadays, it’s vital for companies to ensure
its high availability in order to fully exercise its core
business without fearing system failures or natural
disasters.
The coming of the virtualization is the best way to
provide HA to systems at a lesser cost.
23/07/2015 Groupe 14: Boukhobza Elior 79
Haute disponibilité
Questions?
23/07/2015 Groupe 14: Boukhobza Elior 80

Contenu connexe

Tendances

Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...Coulibaly Kidjomitchin Jean-Marc
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Mohammed LAAZIZLI
 
Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...Chiheb Ouaghlani
 
CLUSTERING ET HAUTE DISPONIBILITE
CLUSTERING ET HAUTE DISPONIBILITECLUSTERING ET HAUTE DISPONIBILITE
CLUSTERING ET HAUTE DISPONIBILITEAbasse KPEGOUNI
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFENadir Haouari
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en FrançaisOsones
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études MortadhaBouallagui
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et VirtualisationMarc Jouve
 
Mise en place d'un vpn site à site avec pfsense
Mise en place d'un vpn site à site avec pfsenseMise en place d'un vpn site à site avec pfsense
Mise en place d'un vpn site à site avec pfsensePape Moussa SONKO
 
Cahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure InformatiqueCahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure InformatiqueDATANYWARE.com
 
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfLivre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfrodolphe gilbert-collet
 
Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011Boubaker KHERFALLAH
 
Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau Yaya N'Tyeni Sanogo
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Installation Zimbra.pdf
Installation Zimbra.pdfInstallation Zimbra.pdf
Installation Zimbra.pdfssuser64f0591
 
Introduction à la technologie Cloud Computing
Introduction à la technologie Cloud ComputingIntroduction à la technologie Cloud Computing
Introduction à la technologie Cloud ComputingRaouia Bouabdallah
 

Tendances (20)

Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
 
Cloud_2022.pdf
Cloud_2022.pdfCloud_2022.pdf
Cloud_2022.pdf
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
 
Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...
 
CLUSTERING ET HAUTE DISPONIBILITE
CLUSTERING ET HAUTE DISPONIBILITECLUSTERING ET HAUTE DISPONIBILITE
CLUSTERING ET HAUTE DISPONIBILITE
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en Français
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et Virtualisation
 
Mise en place d'un vpn site à site avec pfsense
Mise en place d'un vpn site à site avec pfsenseMise en place d'un vpn site à site avec pfsense
Mise en place d'un vpn site à site avec pfsense
 
Cahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure InformatiqueCahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure Informatique
 
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfLivre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
 
Rapport projet pfe
Rapport projet pfeRapport projet pfe
Rapport projet pfe
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011
 
Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Installation Zimbra.pdf
Installation Zimbra.pdfInstallation Zimbra.pdf
Installation Zimbra.pdf
 
Introduction à la technologie Cloud Computing
Introduction à la technologie Cloud ComputingIntroduction à la technologie Cloud Computing
Introduction à la technologie Cloud Computing
 

En vedette

Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Microsoft Technet France
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données répartiesAbdelouahed Abdou
 
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...Clément OUDOT
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéChristophe Laporte
 
Architectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQLArchitectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQLOlivier DASINI
 
Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentationVimlendu Kumar
 
Projet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-InsuranceProjet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-InsuranceYadh Krandel
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateMor THIAM
 
Réplication des bases de données
Réplication des bases de donnéesRéplication des bases de données
Réplication des bases de donnéessie92
 
Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données OracleAndrianaivo Lovatiana
 
IT FUTURE 2011 - Data Center in a box
IT FUTURE 2011 - Data Center in a boxIT FUTURE 2011 - Data Center in a box
IT FUTURE 2011 - Data Center in a boxFujitsu France
 
RCN 2014 Moyens de paiement - Présentation CANTON-Consulting
RCN 2014 Moyens de paiement - Présentation CANTON-ConsultingRCN 2014 Moyens de paiement - Présentation CANTON-Consulting
RCN 2014 Moyens de paiement - Présentation CANTON-ConsultingCANTON-Consulting
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldJignesh Shah
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
MHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier DasiniMHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier DasiniOlivier DASINI
 
Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster? Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster? Leïla Gregson
 

En vedette (20)

Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données réparties
 
Oracle Cluster Rac
Oracle Cluster RacOracle Cluster Rac
Oracle Cluster Rac
 
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
 
Haute disponibilité jss2012
Haute disponibilité jss2012Haute disponibilité jss2012
Haute disponibilité jss2012
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilité
 
Architectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQLArchitectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQL
 
Oracle Data Guard
Oracle Data GuardOracle Data Guard
Oracle Data Guard
 
Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentation
 
Projet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-InsuranceProjet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-Insurance
 
Data Guard Architecture & Setup
Data Guard Architecture & SetupData Guard Architecture & Setup
Data Guard Architecture & Setup
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden Gate
 
Réplication des bases de données
Réplication des bases de donnéesRéplication des bases de données
Réplication des bases de données
 
Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données Oracle
 
IT FUTURE 2011 - Data Center in a box
IT FUTURE 2011 - Data Center in a boxIT FUTURE 2011 - Data Center in a box
IT FUTURE 2011 - Data Center in a box
 
RCN 2014 Moyens de paiement - Présentation CANTON-Consulting
RCN 2014 Moyens de paiement - Présentation CANTON-ConsultingRCN 2014 Moyens de paiement - Présentation CANTON-Consulting
RCN 2014 Moyens de paiement - Présentation CANTON-Consulting
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
MHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier DasiniMHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
 
Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster? Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster?
 

Similaire à Haute Disponibilité et Tolérance de Panne

2017 young talent day - Stockage ou stockage tout est une question d'usage
2017 young talent day - Stockage ou stockage tout est une question d'usage2017 young talent day - Stockage ou stockage tout est une question d'usage
2017 young talent day - Stockage ou stockage tout est une question d'usageArnaud BANNER
 
On va vous faire payer 146 Milliards pour rien !
On va vous faire payer 146 Milliards pour rien ! On va vous faire payer 146 Milliards pour rien !
On va vous faire payer 146 Milliards pour rien ! gerard jacquinot
 
3863 reseaux-de-distribution-eleve
3863 reseaux-de-distribution-eleve3863 reseaux-de-distribution-eleve
3863 reseaux-de-distribution-eleveBenRejabHichem
 
L' Open data vu du Cloud computing
L' Open data vu du Cloud computing L' Open data vu du Cloud computing
L' Open data vu du Cloud computing Jonathan Le Lous
 
Cours-Electricité Industrielle.pdf
Cours-Electricité Industrielle.pdfCours-Electricité Industrielle.pdf
Cours-Electricité Industrielle.pdfSAID MASHATE
 
large scale multiprocessors et leurs application scientifique
large scale multiprocessors et leurs application scientifique large scale multiprocessors et leurs application scientifique
large scale multiprocessors et leurs application scientifique Abdelkrim Bournane
 
Le Multimetre Prof
Le Multimetre ProfLe Multimetre Prof
Le Multimetre Profyouri59490
 
REDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLIN
REDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLINREDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLIN
REDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLINMEKONTCHOU MERLIN
 

Similaire à Haute Disponibilité et Tolérance de Panne (9)

2017 young talent day - Stockage ou stockage tout est une question d'usage
2017 young talent day - Stockage ou stockage tout est une question d'usage2017 young talent day - Stockage ou stockage tout est une question d'usage
2017 young talent day - Stockage ou stockage tout est une question d'usage
 
On va vous faire payer 146 Milliards pour rien !
On va vous faire payer 146 Milliards pour rien ! On va vous faire payer 146 Milliards pour rien !
On va vous faire payer 146 Milliards pour rien !
 
3863 reseaux-de-distribution-eleve
3863 reseaux-de-distribution-eleve3863 reseaux-de-distribution-eleve
3863 reseaux-de-distribution-eleve
 
L' Open data vu du Cloud computing
L' Open data vu du Cloud computing L' Open data vu du Cloud computing
L' Open data vu du Cloud computing
 
Presentation final12
Presentation final12Presentation final12
Presentation final12
 
Cours-Electricité Industrielle.pdf
Cours-Electricité Industrielle.pdfCours-Electricité Industrielle.pdf
Cours-Electricité Industrielle.pdf
 
large scale multiprocessors et leurs application scientifique
large scale multiprocessors et leurs application scientifique large scale multiprocessors et leurs application scientifique
large scale multiprocessors et leurs application scientifique
 
Le Multimetre Prof
Le Multimetre ProfLe Multimetre Prof
Le Multimetre Prof
 
REDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLIN
REDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLINREDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLIN
REDUCTION DE L'INHOMOGENEITE MEMOIRE 2016 MEKONTCHOU MERLIN
 

Haute Disponibilité et Tolérance de Panne

  • 1. Haute disponibilité Haute disponibilité et Tolérance de Panne Date 13 Octobre 2009 Groupe 14 Auteur(s) BOUKHOBZA Elior Responsable Mr. Alain Stephan Promo TCOM 2010
  • 2. Haute disponibilité Plan I. Définitions II. Clustering III. Load Balancing IV. Redondance V. Réplication des données VI. Conclusion 23/07/2015 2Groupe 14: Boukhobza Elior
  • 3. Haute disponibilité Introduction What is the High Availability? o A Highly Available material is a material providing full-time availability even when failures occurs. What is the Fault Tolerance? o The Fault Tolerance is the capacity of a material to ensure the data availability in case of a failure occurs. It provides full-time checking and redundancy devices to perform high availability. 23/07/2015 3Groupe 14: Boukhobza Elior
  • 4. Haute disponibilité Introduction Why high availability? o In a company, the information system requires to be fully available 100% (or most) of the time. o If a failure occurs in the system (device crash, human error…), or in the building (fire, flooding…), or even in the region (earthquake, war…), the IS needs to be available and functional otherwise it would be fatal for the company. o That’s why having a material fully available is vital for a company to ensure its business without fear of failures or disasters in the IS. 23/07/2015 4Groupe 14: Boukhobza Elior
  • 6. Haute disponibilité Définitions Plan 1. Critères DICP 2. Indicateurs de disponibilité 3. Classification en Tiers 23/07/2015 Groupe 14: Boukhobza Elior 6
  • 7. Haute disponibilité Définitions Critères DICP Critères DICP-R o On classifie la sécurité d’un système grâce aux « Critères DICP », c’est-à-dire: o D: Disponibilité  C’est-à-dire que le système doit pouvoir être disponible à toute heure. o I: Intégrité  C’est la capacité au système d’assurer que les informations sont exactes. o C: Confidentialité  C’est la capacité au système d’assurer que les données ne peuvent être accédées que par les personnes ayant accès. o P: Preuve  La preuve concerne la non répudiation, c’est-à-dire l’impossibilité de nier avoir effectué telle ou telle action. o On parle aussi de DICP-R, R pour règlementation. Ce sont les règles que le système doit respecter. 23/07/2015 Groupe 14: Boukhobza Elior 7
  • 8. Haute disponibilité Définitions Indicateurs de disponibilité (1/3) MTTF, MTBF, MTTR, MUT, MDT o MTTF: Mean Time To Failure (Temps Moyen Avant Panne)  C’est le temps moyen avant l’apparition d’une panne d’un composant du système. On souhaite que cet indicateur soit le plus grand possible. o MTBF: Mean Time Between Failures (Temps Moyen Inter- pannes)  C’est le temps moyen entre deux pannes survenant sur un composant du système. Plus cet indicateur est grand, plus le système est considéré comme fiable. o MTTR: Mean Time To Repair (Temps Moyen de Réparation)  C’est le temps moyen nécessaire à la réparation d’un composant survenu lors d’une panne. A l’inverse, on souhaite que cet indicateur soit le plus petit possible. o MTBF = MTTF + MTTR. 23/07/2015 Groupe 14: Boukhobza Elior 8
  • 9. Haute disponibilité Définitions Indicateurs de disponibilité (2/3) o MDT: Mean Down Time (Temps Moyen d’indisponibilité)  C’est le temps moyen d’indisponibilité d’un composant lors d’une panne quelconque. o MUT: Mean Up Time (Temps Moyen de disponibilité)  C’est le temps moyen de disponibilité du composant après sa réparation avant qu’il ne retombe en panne. o MTBF = MUT + MDT o Disponibilité = MTTF / MTBF 23/07/2015 Groupe 14: Boukhobza Elior 9
  • 10. Haute disponibilité Définitions Indicateurs de disponibilité (3/3) Taux de disponibilité Durée d’indisponibilité sur un an 97% 11 jours 98% 7 jours 99% 3 jours et 15 heures 99,9% 8 heures et 48 minutes 99,99% 53 minutes 99,999% 5 minutes 99,9999% 32 secondes 23/07/2015 Groupe 14: Boukhobza Elior 10 Source: Wikipedia
  • 11. Haute disponibilité Définitions Classification en Tier (1/3) Classification en Tier: o Une autre définition de la disponibilité est la classification en Tier, créé par l’Uptime Institute. o Permet de classifier les datacenter selon un niveau de disponibilité entre 99% et 100%. o Plus le matériel a un niveau de Tier élevé, plus il est coûteux, mais aura un meilleur taux de disponibilité. 23/07/2015 Groupe 14: Boukhobza Elior 11
  • 12. Haute disponibilité Définitions Classification en Tier (2/3) •1 alimentation électrique/refroidissement •Pas de redondance des composants •Taux de disponibilité de 99,671% Tier I: •1 alimentation électrique/refroidissement •Redondance des composants •Taux de disponibilité de 99,741% Tier II: •Redondance électrique/refroidissement mais 1 seul actif •Redondance des composants •Taux de disponibilité de 99,982% Tier III: •Redondance électrique/refroidissement, tous actifs •Redondance des composants •Taux de disponibilité de 99,995% Tier IV: 23/07/2015 Groupe 14: Boukhobza Elior 12
  • 13. Haute disponibilité Définitions Classification en Tier (3/3) 23/07/2015 Groupe 14: Boukhobza Elior 13 Classification en Tiers de l’Uptime Institute
  • 15. Haute disponibilité Clustering Plan 1. Définition 2. Fonctionnalités 3. Types de clusters 4. Architectures en cluster 5. Détection de pannes 6. Outils 23/07/2015 Groupe 14: Boukhobza Elior 15
  • 16. Haute disponibilité Clustering Définition (1/2) Cluster = Grappe de serveurs ou Ferme de serveurs. Le principe d’un cluster est de regrouper plusieurs serveurs indépendants appelés nœuds en un seul et même serveur, de façon transparente pour le client. Ainsi, si l’un des nœuds du cluster tombe, le service continue, assurant ainsi la disponibilité des services. Les nœuds n’ont pas besoin d’être proches physiquement. Il suffit qu’ils soient interconnectés entre eux par un ou plusieurs réseaux (LAN, WAN…) pour en faire un cluster. 23/07/2015 Groupe 14: Boukhobza Elior 16
  • 17. Haute disponibilité Clustering Définition (2/2) 23/07/2015 Groupe 14: Boukhobza Elior 17 Simple architecture en cluster
  • 18. Haute disponibilité Clustering Fonctionnalités Les fonctionnalités que doit offrir un cluster sont: o Basculement de service: Lors d’une panne, le service est transféré sur un nœud fonctionnel: Fail Over Service. o Détection de pannes: Guetter les pannes pour basculer le service sans interruption. Elles sont en général couplées à d’autres fonctionnalités pour assurer la disponibilité: o Distribution de charge o Réplication des données o Intégrité des données… 23/07/2015 Groupe 14: Boukhobza Elior 18
  • 19. Haute disponibilité Clustering Types de clusters On distingue plusieurs types de clusters, selon les fonctionnalités: o Clusters de haute disponibilité o Clusters de calcul o Clusters d’équilibrage de charge o Clusters d’applications… Différentes configurations selon le type de services: o Actif/Actif o Actif/Passif o N+1 o N+M o N to 1 o N to N 23/07/2015 Groupe 14: Boukhobza Elior 19
  • 20. Haute disponibilité Clustering Architectures en cluster (1/5) Configuration « Actif/Passif »: o Cluster de deux nœuds. o Le nœud principal (ou nœud maître) exécutant les services. o Le nœud secondaire (ou nœud esclave), de secours. o Un ou plusieurs liens dédiés entre les deux nœuds pour le basculement de service. Adressage IP: o Chaque nœud a sa propre adresse IP réelle. o Au cluster est associée une adresse IP virtuelle (ou alias IP), qui va pointer sur le nœud actif (NAT). o Si le nœud actif tombe, l’alias IP pointe sur le nœud de secours. 23/07/2015 Groupe 14: Boukhobza Elior 20
  • 21. Haute disponibilité Clustering Architectures en cluster (2/5) 23/07/2015 Groupe 14: Boukhobza Elior 21 Cluster et basculement de service
  • 22. Haute disponibilité Clustering Architectures en cluster (3/5) Principe: o Le client entre l’@IP virtuelle 192.168.X.254 o Cette adresse pointe vers le nœud principal A. o Le nœud A tombe, B détecte que A est tombé. o Grâce au lien dédié, le service bascule vers B. o L’adresse IP virtuelle pointe alors sur B. o Lorsque A est réparé, le service bascule vers A et l’@IP virtuelle pointe vers A. o Le client ne détecte aucun changement. 23/07/2015 Groupe 14: Boukhobza Elior 22
  • 23. Haute disponibilité Clustering Architectures en cluster (4/5) Configuration Actif/Actif: o Les deux nœuds sont actifs et se répartissent la charge. o Si l’un des nœuds tombe, le service est basculé sur le nœud restant. o Lorsque le nœud défaillant fonctionne, la charge est à nouveau répartie entre les deux nœuds. Configuration N+1: o Architectures de N nœuds, et un nœud de secours. o Si l’un des nœuds tombe, le service est basculé sur le nœud de secours. o Lorsque le nœud est rétabli, il devient le nœud de secours. o SPOF si plusieurs nœuds tombent en même temps. Configuration N+M: o N nœuds actifs et M nœuds de secours. o Le nombre de nœuds de secours dépend du degré de disponibilité requis pour assurer le service. 23/07/2015 Groupe 14: Boukhobza Elior 23
  • 24. Haute disponibilité Clustering Architectures en cluster (5/5) Configuration N to 1: o A la différence du N+1, lorsque le nœud défaillant est rétabli, le service bascule vers ce nœud. o Deux basculements de service. Configuration N to N: o Pas de nœuds de secours. o Si un des nœuds tombe, la charge est redistribuée sur les N-1 nœuds restants. o Lorsque le nœud est rétabli, la charge est redistribuée en conséquence. o Nécessite des nœuds à plus grande capacité. 23/07/2015 Groupe 14: Boukhobza Elior 24
  • 25. Haute disponibilité Clustering Détection de pannes Détection de pannes : o Requêtes Push:  Le nœud actif envoie des signaux au nœud passif à intervalles réguliers.  Si le nœud passif ne reçoit pas de signaux au bout d’un certain temps, il détermine qu’il y’a panne et active le basculement de service. o Requêtes Pull:  Le nœud passif envoie des signaux au nœud actif à intervalles réguliers.  Si il ne reçoit pas de réponse, il continue d’émettre des signaux car ca peut provenir d’un problème sur le lien.  Au bout d’un certain nombre de tentatives, il détermine qu’il y’a panne et active le basculement de service. o C’est communément appelé « Heartbeat ». 23/07/2015 Groupe 14: Boukhobza Elior 25
  • 26. Haute disponibilité Clustering Outils (1/3) Heartbeat: Outil de surveillance des systèmes. Outil implémentant la surveillance et le basculement de services à l’aide de scripts. Caractéristiques: o Les services (applications) sont démarrés avec Heartbeat sur le nœud actif. o Il permet d’arrêter et de démarrer les services manuellement, dans ce cas les services sont basculés sur le nœud de secours. o Cet outil permet de détecter les pannes matérielles et réseau et d’exécuter des scripts de basculement en cas de panne. o Utilisé avec l’outil « Mon », on peut désormais faire de la surveillance applicative. o Heartbeat permet aussi le contrôle d’une application « STONITH » (« Shoot The Other Node In The Head »), procédé qui consiste à désactiver le nœud à distance en cas de problème. Logiciel sous licence GPL, du projet « Linux-HA ». 23/07/2015 Groupe 14: Boukhobza Elior 26
  • 27. Haute disponibilité Clustering Outils (2/3) MON: Service Monitory Daemon C’est un démon de supervision des services. Il permet de détecter des défaillances applicatives et de les arrêter/redémarrer manuellement. Caractéristiques: o Marche/arrêt de serveurs o Marche/arrêt de services o Consultation de l’état des services o Surveillance des ressources o Envoi de tests (traps) pour tester l’état d’un service/serveur. Il est utilisé avec Heartbeat pour faire de la surveillance applicative. Sous licence GPL. 23/07/2015 Groupe 14: Boukhobza Elior 27
  • 28. Haute disponibilité Clustering Outils (3/3) FailSafe: Outil similaire à Heartbeat, de la marque SGI. Permet de supporter jusqu’à des clusters de 16 nœuds. 23/07/2015 Groupe 14: Boukhobza Elior 28
  • 29. Haute disponibilité LOAD BALANCING 23/07/2015 Groupe 14: Boukhobza Elior 29
  • 30. Haute disponibilité Load Balancing Plan 1. Définitions 2. Architectures de répartition de charge 3. Algorithmes de répartition de charge 4. Gestion des états de sessions 5. Outils 23/07/2015 Groupe 14: Boukhobza Elior 30
  • 31. Haute disponibilité Load Balancing Définitions Load Balancing : Equilibre de charge ou répartition de charge. Il consiste à distribuer la charge aux nœuds d’un cluster. Un load-balancer est un serveur qui dispose de différents algorithmes d’équilibrage de charge. Dans les architectures communes, ce serveur est redondé pour éviter les SPOF. Le load-balancing permet d’équilibrer le trafic réseau et d’assurer la disponibilité des services en dirigeant les requêtes vers les nœuds actifs. 23/07/2015 Groupe 14: Boukhobza Elior 31
  • 32. Haute disponibilité Load Balancing Architectures (1/4) Schéma classique d’une architecture load-balancée : o Un cluster de services. o Un cluster de load-balancers: un actif et un passif o Un lien dédié entre les deux load-balancers pour le basculement de service. 23/07/2015 Groupe 14: Boukhobza Elior 32
  • 33. Haute disponibilité Load Balancing Architectures (2/4) Principe: o Le client s’adresse au load-balancer actif via l’@IP virtuelle qui lui est fournie. o Le load-balancer actif relaye la requête vers le ou les nœuds du cluster de services. o Pour la réponse, plusieurs solutions sont possibles, dépendant de l’architecture. 23/07/2015 Groupe 14: Boukhobza Elior 33
  • 34. Haute disponibilité Load Balancing Architectures (3/4) Si le load-balancer agit comme une passerelle: o Utilisation du NAT pour translater l’@IP virtuelle vers l’@IP réelle du serveur actif. o Le serveur actif retourne la réponse au load- balancer. o Le load-balancer renvoie alors la réponse au client. o Le cluster de services est inaccessible directement. 23/07/2015 Groupe 14: Boukhobza Elior 34
  • 35. Haute disponibilité Load Balancing Architectures (4/4) Si le load-balancer est sur le même cluster que les serveurs: o Le load-balancer s’occupe toujours de relayer vers le serveur actif. o Mais la réponse est renvoyée directement au client. o Inconvénient: Le cluster de services n’est plus privé. 23/07/2015 Groupe 14: Boukhobza Elior 35
  • 36. Haute disponibilité Load Balancing Algorithmes de répartition (1/2) Round-Robin: o Distribution de la charge équitablement à chaque serveur. o Avantages :  Très simple à mettre en place et très rapide. o Inconvénients :  Ne tient pas compte de facteurs extérieurs tels que le nombre de connexions ou le temps de réponse.  Un serveur surchargé continuera de recevoir des requêtes pendant que d’autres serveurs n’utiliseront que peu de leurs ressources. Weighted Round-Robin: o Chaque serveur est assigné d’un « poids » qui détermine le taux de sollicitation du serveur. o Avantages:  Aussi rapide que Round-Robin  Tient compte des facteurs extérieurs. o Inconvénients:  Peu intéressant pour des serveurs de même type. 23/07/2015 Groupe 14: Boukhobza Elior 36
  • 37. Haute disponibilité Load Balancing Algorithmes de répartition (2/2) Least Connection: o Envoie les requêtes au serveur gérant le moins de connexions entrantes. o Avantages:  Les requêtes sont équitablement réparties o Inconvénients:  Ne tient pas compte des capacités de la machine Weighted Least Connection o La variante pondérée de Least Connection Load Based: o Envoie les requêtes aux serveurs ayant la charge la plus faible. o Avantages:  Meilleure répartition de la charge o Inconvénients  Ne tient pas compte des capacités de la machine 23/07/2015 Groupe 14: Boukhobza Elior 37
  • 38. Haute disponibilité Load Balancing Gestion des sessions (1/4) Contexte: o Dans certaines applications, une session peut se dérouler en plusieurs étapes, qu’on appelle « états de session ». o Chaque étape ne s’active que lorsque l’étape précédente est validée. o Par exemple, un achat sur Internet se fait en 3 étapes: le choix de l’article, le remplissage des informations utilisateur et le remplissage des coordonnées bancaires. o Les applications situées dans les serveurs distants doivent pouvoir suivre le changement d’état de session pour assurer la continuité. 23/07/2015 Groupe 14: Boukhobza Elior 38
  • 39. Haute disponibilité Load Balancing Gestion des sessions (2/4) Plusieurs solutions pour gérer les états des sessions: o L’état est stocké chez le client. o L’état est stocké sur le serveur distant. o L’état est stocké sur un serveur intermédiaire. Si l’état est stocké chez le client: o Le client envoie les requêtes de chaque état avec les informations de la session. o Le ou les serveurs traitent ces requêtes unitairement. Si l’état est stocké sur le serveur distant: o le load-balancer redirige toutes les requêtes propres à la session sur le serveur en question. o Problème: Si le serveur en question tombe au cours de la session, le client perd toutes les informations relatives aux états précédents. Solution: Une gestion habile des sessions. 23/07/2015 Groupe 14: Boukhobza Elior 39
  • 40. Haute disponibilité Load Balancing Gestion des sessions (3/4) 2 solutions: o Gestion centralisée. o Gestion asynchrone. Gestion centralisée: o Les états sont stockés sur un serveur à un niveau différent des serveurs d’application. o Lors de la réception d’une requête, le serveur d’application récupère l’état de session du serveur d’états. Gestion asynchrone: o Chaque serveur diffuse aux autres serveurs l’état de la session lorsque celui-ci change. o Chacun d’eux peut donc traiter une requête propre à un état de session. Si l’un d’eux tombe, un autre prendra le relais. o Plus économique que la gestion centralisée, mais plus complexe à mettre en place. 23/07/2015 Groupe 14: Boukhobza Elior 40
  • 41. Haute disponibilité Load Balancing Gestion des sessions (4/4) Gestion centralisée Gestion asynchrone 23/07/2015 Groupe 14: Boukhobza Elior 41
  • 42. Haute disponibilité Load Balancing Outils (1/2) LVS: Linux Virtual Server C’est un serveur virtuel agissant comme load balancer sur un cluster. Supporte 3 types de routage des requêtes: o Routage par NAT o Routage par tunneling IP o Routage direct Supporte les algorithmes de répartition de charge: o Round Robin o Weighted Round Robin o Least Connection o Weighted Least connection o Autres algorithmes (Load Based, etc…) Sous licence GPL Quelques interfaces graphiques disponibles: UltraMonkey, Piranha 23/07/2015 Groupe 14: Boukhobza Elior 42
  • 43. Haute disponibilité Load Balancing Outils (2/2) 23/07/2015 Groupe 14: Boukhobza Elior 43 LVS par NAT LVS par Tunnel IP
  • 45. Haute disponibilité Redondance Plan 1. Concepts 2. Redondance bas niveau 3. Redondance couche liaison 1. STP, RSTP, MST 2. LACP, EtherChannel 4. Redondance couche réseau 1. VRRP, HSRP 2. GLBP 5. Redondance couche applicative 23/07/2015 Groupe 14: Boukhobza Elior 45
  • 46. Haute disponibilité Redondance Concepts Procédé qui consiste à multiplier les éléments afin d’assurer les fonctions en cas de défaillance de l’élément principal. Principes clés pour mettre en place de la redondance dans un système: o Trouver le moyen pour que les éléments de secours puissent remplacer automatiquement les éléments défaillants. o Dispersion géographique des éléments redondés pour éviter les SPOF en cas de défaillance sur tout le site. On trouve de la redondance à tous les niveaux: de la couche physique à la couche applicative. 23/07/2015 Groupe 14: Boukhobza Elior 46
  • 47. Haute disponibilité Redondance Redondance bas niveau (1/2) Redondance bas niveau = redondance au niveau matériel et câblage. Techniques de base: o Redondance des équipements: brancher les serveurs sur plusieurs switchs, routeurs, etc… o Redondance des interfaces: Disposer de plusieurs interfaces sur les équipements. o Redondance électrique: Brancher les équipements sur des alimentations électriques distinctes… o Redondance de la sécurité: Multiplier les éléments de sécurité: Firewalls, IPS, etc… Plus le degré de redondance est élevé, plus la disponibilité est haute, mais c’est plus cher et plus lent… Il faut donc estimer le degré de disponibilité en fonction du besoin de l’entreprise. 23/07/2015 Groupe 14: Boukhobza Elior 47
  • 48. Haute disponibilité Redondance Redondance bas niveau (2/2) 23/07/2015 Groupe 14: Boukhobza Elior 48 Exemple de matériel hautement disponible: HP BladeSystem P-Class Blade Server.
  • 49. Haute disponibilité Redondance liaison Spanning Tree Protocol (1/3) STP: Spanning Tree Protocol (802.1D) C’est un protocole qui permet de modifier la topologie d’un réseau sans boucle en cas de défaillance d’un lien. Il permet de détecter et de désactiver les boucles dans un réseau et fournit une hiérarchie des liens sous forme d’arbre. Principe: o Election d’un « root bridge », c’est-à-dire le lien (port) ayant l’id le plus petit et la priorité la plus faible. o Détermination du plus court chemin entre deux nœuds du réseau pour déterminer quel lien utiliser. o Désactivation des liens non utilisés. o En cas de défaillance d’un lien, le processus est relancé et une nouvelle topologie est créée. o Le temps de convergence est d’environ 40s, ce qui est très lent. 23/07/2015 Groupe 14: Boukhobza Elior 49
  • 50. Haute disponibilité Redondance liaison Spanning Tree Protocol (2/3) 23/07/2015 Groupe 14: Boukhobza Elior 50 Le Protocole STP
  • 51. Haute disponibilité Redondance liaison Spanning Tree Protocol (3/3) Evolutions de STP: o RSTP (Rapid STP, 802.1w) version plus rapide de STP (1 s en moyenne) o PVSTP (Per VLAN STP) de Cisco, qui consiste à appliquer STP sur plusieurs VLAN. o MST (Mutliple STP), la version normée de PVSTP. o Autres protocoles de Spanning Tree propriétaires. 23/07/2015 Groupe 14: Boukhobza Elior 51
  • 52. Haute disponibilité Redondance liaison LACP, EtherChannel (1/2) LACP: Link Aggregation Control Protocol (802.3ad) Protocole permettant d’agréger des liens ou des ports afin d’améliorer la vitesse de transfert et d’avoir de la redondance niveau 2. Une autre version très connue de ce protocole: Cisco EtherChannel (agrégation de liens Ethernet) Autres versions du protocole: o Cisco PAgP (Port Aggregation Protocol) o Nortel MLT (Multi Link Trunking) o 3COM DTP (Dynamic Trunking Protocol) o … 23/07/2015 Groupe 14: Boukhobza Elior 52
  • 53. Haute disponibilité Redondance liaison LACP, EtherChannel (2/2) 23/07/2015 Groupe 14: Boukhobza Elior 53 Cisco EtherChannel
  • 54. Haute disponibilité Redondance réseau VRRP, HSRP (1/2) VRRP: Virtual Router Redundancy Protocol (RFC 3768) Protocole permettant d’avoir de la redondance au niveau routage. Principe: o On met deux ou plusieurs routeurs dans un même groupe VRRP. o Dans ce groupe, un routeur va être élu comme routeur actif, celui ayant la plus forte priorité. Les autres seront en standby. o Le routeur actif sera accessible à partir d’une adresse IP virtuelle. o Les routeurs s’envoient des messages (hello paquets) à intervalles réguliers pour vérifier qu’il n’y a pas de panne (heartbeat) o Si le routeur actif tombe, un nouveau routeur sera élu comme actif et sera disponible via le même adresse virtuelle. Protocole standardisé. Basé sur le protocole HSRP (Hot Standby Router Protocol) de Cisco. Une version libre de ce protocole: CARP (Common Address Redundancy Protocol) sous OpenBSD. 23/07/2015 Groupe 14: Boukhobza Elior 54
  • 55. Haute disponibilité Redondance réseau VRRP, HSRP (2/2) 23/07/2015 Groupe 14: Boukhobza Elior 55 VRRP - HSRP
  • 56. Haute disponibilité Redondance réseau GLBP GLBP: Gateway Load Balancing Protocol Protocole propriétaire Cisco qui ajoute de la répartition de charge à HSRP. Principe: o En plus d’affecter une priorité aux routeurs du groupe, on affecte aussi un poids. o Election d’une AVG (Active Virtual Gateway) qui est le routeur actif du groupe. o La charge est alors répartie en Round Robin ou Weighted Round Robin. 23/07/2015 Groupe 14: Boukhobza Elior 56
  • 57. Haute disponibilité Redondance Redondance applicative (1/3) Redonder les éléments actifs: Serveur web, base de données, ERP… Répartir efficacement la charge. Assurer la synchronisation des données entre les éléments actifs et passifs. Gérer efficacement les états de session. Exemple: o Serveur web LAMP redondé et load balancé. o Base de données MySQL redondée et synchronisée. 23/07/2015 Groupe 14: Boukhobza Elior 57
  • 58. Haute disponibilité Redondance Redondance applicative (2/3) Teaming: Permet de regrouper plusieurs interfaces réseau en une seule vue par le système. Redondance au niveau de l’OS (couche 7) Type de comportement dépend du constructeur: o Fail Over Service: Une interface est active, une autre est en standby o Load Balancing: Les flux réseau sont distribués sur les interfaces. o Switch-assisted: Pour plus d’efficacité dans le basculement de service ou l’équilibre de charge. 23/07/2015 Groupe 14: Boukhobza Elior 58
  • 59. Haute disponibilité Redondance Redondance applicative (3/3) Autre solution pour mettre de la redondance: Virtualisation. Disposer de plusieurs machines virtuelles au sein d’une même machine permet d’avoir de la redondance à plus faible coût (financier et énergétique). 23/07/2015 Groupe 14: Boukhobza Elior 59
  • 60. Haute disponibilité RÉPLICATION DES DONNÉES 23/07/2015 Groupe 14: Boukhobza Elior 60
  • 61. Haute disponibilité Réplication des données Plan 1. Concepts 2. Réplication matérielle 1. RAID 2. DRBD 3. ENBD 3. Systèmes de fichiers 23/07/2015 61Groupe 14: Boukhobza Elior
  • 62. Haute disponibilité Réplication des données Concepts (1/3) Ajouter de la redondance ne suffit pas à assurer la haute dispo si il n’y a pas de sauvegarde de données derrière. Il faut qu’en cas de défaillance du système actif, le système qui prend le relais assure la continuité de service. Il faut donc prévoir un mécanisme de synchronisation des données entre les éléments redondés: c’est la réplication. La réplication peut être matérielle (copie des données entre les disques, entre les BDD…), ou bien directement au sein du système de fichiers (cache mémoire, partage…). 23/07/2015 Groupe 14: Boukhobza Elior 62
  • 63. Haute disponibilité Réplication des données Concepts (2/3) Solution de stockage des données: le NAS (Network Attached Storage). o Espace de stockage attaché au réseau de l’entreprise qui gère l’ensemble des données de l’entreprise. o C’est un serveur à part entière contenant plusieurs disques indépendants ainsi que son propre OS et de son propre système de fichiers. 23/07/2015 Groupe 14: Boukhobza Elior 63
  • 64. Haute disponibilité Réplication des données Concepts (3/3) Autre dispositif de stockage: le SAN (Storage Area Network). C’est un réseau de stockage à part entière. o Il contient plusieurs périphériques de stockage reliés à des switchs en Fiber channel ou iSCSI. o Le trafic de stockage est alors séparé du trafic métier et la capacité de stockage est quasi illimitée. 23/07/2015 Groupe 14: Boukhobza Elior 64
  • 65. Haute disponibilité Réplication matérielle RAID (1/4) RAID: Redundant Array of Inexpensive Disks. Technologie permettant de regrouper plusieurs disques en un seul (grappe). Permet d’augmenter la vitesse de transfert et d’assurer une haute dispo des données. Il existe plusieurs niveaux de RAID, chaque niveau décrivant la manière dont sont stockées les données sur les disques. RAID est de la réplication locale. 23/07/2015 Groupe 14: Boukhobza Elior 65
  • 66. Haute disponibilité Réplication matérielle RAID (2/4) •Répartit les données sur l’ensemble des disques •Vitesse de transfert élevée •Pas de tolérance de panne. RAID 0 (Striping) •Duplication des données sur les disques •Amélioration de la vitesse de lecture •Haute disponibilité des données •Solution onéreuse car une partie du stockage est réservée au backup RAID 1 (Mirroring) •Stockage des données sous forme d’octets sur chaque disque •Un disque est dédié au stockage d’un bit de parité •Permet la reconstitution des données en cas de défaillance. RAID 3 (Disk Array With Bit Interleaved Data) 23/07/2015 Groupe 14: Boukhobza Elior 66
  • 67. Haute disponibilité Réplication matérielle RAID (3/4) •Comme le RAID 3 mais des blocs à la place des bits •Meilleure gestion de la capacité de stockage •Le disque de contrôle doit avoir un débit égal à la somme des débits des autres disques. RAID 4 (Disk Array With Block Interleaved Data) •Comme le RAID 4 mais la parité est stockée sur tous les disques •Performances élevées •Très Haute disponibilité des données •Très intéressant lorsqu’on possède beaucoup de disques. RAID 5 (disk array with block- interleaved distributed parity) •Comme le RAID 5 •Plusieurs fonctions de parité pour augmenter la redondance •Nécessite d’avoir au moins 4 disques. RAID 6 (disk array with block- interleaved distributed parity ) 23/07/2015 Groupe 14: Boukhobza Elior 67
  • 68. Haute disponibilité Réplication matérielle RAID (4/4) Avantages du RAID: o La sécurité: RAID 1 et RAID 5 offrent un niveau de sécurité élevée, mais RAID 1 est une copie conforme là où RAID 5 est un entrelacement. o Performances : RAID 0 et RAID 5 offrent de fortes performances en lecture/écriture. o Coût: Le RAID 1 est onéreux car il n’offre que 50% de la quantité de stockage, alors que RAID 5 arrive à offrir jusqu’à 90% tout en assurant la réplication des données. Conclusion: o RAID 1 utilisé pour redonder les données d’un serveur. o RAID 5 utilisé dans de grands espaces de stockage. 23/07/2015 Groupe 14: Boukhobza Elior 68
  • 69. Haute disponibilité Réplication matérielle DRBD DRBD (Distributed Replicated Block Device) Logiciel de réplication distante pour répliquer les données entre deux serveurs distants. Technique de mirroring des données comme en RAID 1. Solution Linux souvent déployée avec Heartbeat. Conserve une copie locale des données. La version 8 permet de supporter le partage de charge. 23/07/2015 Groupe 14: Boukhobza Elior 69
  • 70. Haute disponibilité Réplication matérielle ENBD ENBD: Enhanced Network Block Device Evolution de Linux NBD. Permet d’accéder aux données distantes comme si elles étaient locales. Une authentification est nécessaire pour disposer des droits de lecture/écriture. Associé à du RAID 1, assure une haute disponibilité des données « over the Net ». 23/07/2015 Groupe 14: Boukhobza Elior 70
  • 71. Haute disponibilité Réplication des données Systèmes de fichiers (1/2) Intérêt: disposer au sein du disque un système de fichiers offrant de la redondance mais aussi assurant l’intégrité des données. Deux types de systèmes de fichiers: o Locaux (Ext3, XFS…) o Partagés (NFS, OpenGFS…) Fonctionnalités intéressantes: o Journalisation des données pour récupération en cas de crash. o Vitesse de lecture/écriture o Partage des données sur plusieurs disques. o Sécurité de l’accès aux données o Clustering des données o Etc… 23/07/2015 Groupe 14: Boukhobza Elior 71
  • 72. Haute disponibilité Réplication des données Systèmes de fichiers (2/2) Tableau présentant quelques systèmes de fichiers et leurs fonctionnalités: 23/07/2015 Groupe 14: Boukhobza Elior 72 File system Partage Ressource Réseau En local Gestion du clustering de données Journalisé ReiserFS Oui Oui Ext 3 Oui Oui XFS Oui Oui NFS Oui Oui Oui GFS Oui Oui Oui Oui Oui CodaFS Oui Oui Oui Oui Intermezzo Oui Oui Oui Oui Lustre Oui Oui Oui Oui
  • 74. Haute disponibilité Conclusion La HD dans les faits (1/2) En utilisant toutes les connaissances acquises dans cet état de l’art, voici un exemple d’une architecture hautement disponible: 23/07/2015 Groupe 14: Boukhobza Elior 74
  • 75. Haute disponibilité Conclusion La HD dans les faits (2/2) Dans cette architecture: o Tous les éléments sont redondés: routeurs, firewall, proxy, serveurs. o Chaque couche d’équipements est connectée à sa voisine en utilisant une Switch Zone dédiée, avec des switchs implémentant du Spanning Tree. o Les routeurs et les firewall utilisent de l’HSRP ou du GLBP, les proxy implémentent du CARP, les load balancers et les serveurs sont clusterisés et font de la redondance applicative (Teaming). o Enfin les bases de données sont partagées via du RAID 5 localement et en ENBD avec les autres sites. Une architecture particulièrement onéreuse mais qui offre un degré de disponibilité très élevé. En ajoutant en plus de la virtualisation, on peut offrir une haute disponibilité tout en réduisant considérablement les coûts. 23/07/2015 Groupe 14: Boukhobza Elior 75
  • 76. Haute disponibilité Conclusion Les acteurs de la HD (1/2) Concrètement, il existe des solutions de serveurs offrant de la HD (RAID, Heartbeat, etc…) Gartner a réalisé une étude en 2003 des acteurs du marché de la haute disponibilité. En leaders: Fujitsu Technologies, HP, IBM, Stratus & Unisys. 23/07/2015 Groupe 14: Boukhobza Elior 76
  • 77. Haute disponibilité Conclusion Les acteurs de la HD (2/2) 23/07/2015 Groupe 14: Boukhobza Elior 77 Magic Quadrant of HA vendors
  • 78. Haute disponibilité Conclusion Exemple L’architecture de Wikipedia 23/07/2015 Groupe 14: Boukhobza Elior 78
  • 79. Haute disponibilité Conclusion Nowadays, many solutions provide high availability and fault tolerance to IS architectures and materials. The rate of high availability is proportional to the investment deployed. The more money is invested for HA, the more secured the IS will be, making a difference between simple reliability and high availability. That’s why nowadays, it’s vital for companies to ensure its high availability in order to fully exercise its core business without fearing system failures or natural disasters. The coming of the virtualization is the best way to provide HA to systems at a lesser cost. 23/07/2015 Groupe 14: Boukhobza Elior 79

Notes de l'éditeur

  1. Le sujet de mon état de l’art est donc la haute disponibilité, un sujet très important dans le domaine des réseaux et télécom, comme vous avez pu le constater au cours des différents cours que l’on a pu avoir. Je vais ici vous parler des techniques de haute dispo, afin que vous en compreniez les concepts pour pouvoir l’implémenter plus tard.
  2. Tout d’abord, je vais vous donner quelques définitions relatives à la haute disponibilité, puis je vais enchainer sur le principe de clustering, que vous puissiez voir en détail ce que c’est, puis le load balancing, qui est étroitement lié au clustering. Ensuite, je vais vous parler de la redondance et des différents types de redondance que l’on peut observer dans les systèmes, puis je vais enchainer sur la réplication de données. Enfin, je vais conclure en présentant ce que peut être une architecture hautement disponible aujourd’hui, et en présentant quelques acteurs de haute dispo.
  3. The question is « What is the high availabilty ». A highly available material is a material providing full time availability, whatever happens to the system The fault tolerance is the capacity of the material to ensure the data availabilty when failures occurs. It consists of providing full time checking and redundancy devices ot ensure HA.
  4. But the real question is « Why high availabilty ». The answer is obvious, in a company, the IS needs to be fully 100% or most of the time. So, when a failure occurs, caused by many incidents like device crashing, fire, flooding, earthquake, etc…, the IS need to be available without losing any data, otherwise it would be fatal for the company Then, having a fully available system is really vital for the company, in order to ensuire its business without fearing failures or disasters.
  5. D: Disponibilité, c’est la capacité que la matériel ou service de pouvoir etre dispo à toute heure I: Intégrité, c’est la capacité au matériel ou service de garantir que les données no’nt pas été modifiées par un tiers C: Confidentialité, c’est la capacité au matériel ou service de garantir que les données ne peuvent etre accédées que par les personnes y avant droit Et enfin P: la preuve, c’est en fait la non répudiation, c’est-à-dire l’impossibilité de nier avoir effectué telle ou telle action. Plus un système remplit ces conditions, plus il est sécurisé et fiable. D’autre part, on parle aussi de R, dans DICP-R, R pour règlementations, ce sont les règlementations que le système doit accepter (ISO27001, loi Sarbanes Oxley, etc…)
  6. Indicateurs de disponibilité, qu’on appelle aussi des indicateurs de fiabilité d’un système, il y’en a plusieurs. MTTf: c’est le mean time to failure, c’est-à-dire le temps moyen avant apparition d’une panne. On souhaite que ce soit le plus grand nombre possible. MTBF, Mean time between failures, c a d le temps moyen entre deux pannes. Plus ce nombre est grand, plus le système est fiable. MTTR, Mean Time To Repair, c’est le temps moyen de réparation. C’est le temps moyen nécessaire à la réparation d’un composant, on souhaite par contre que ce soit le plus court possible. Pour finir, on définit que MTBF = MTTF + MTTR
  7. Autres indicateurs: MDT pour mean down time, c’est-à-dire le temps moyen d’indisponibilité d’un composant. MUT: Mean up time, ou temps moyen de disponibilité avant qu’il ne tombe ou retombe en panne. En gros, MTBF = MUT + MDT Pour mesurer la disponibilité ou fiabilité d’un système, c’est MTTF/MTBF.
  8. En tiers 1, on a juste une alimentation electrique et un système de refroidissement, les composants ne sont pas redondés et on a un taux de dispo de 99,671%. En tiers 2, on redonde les compsants, ce qui nous donne un taux de dispo de 99,741%. En tiers 3, le plus répandu dans les datacenters, on redonde les compsants et l’alimentation electrique, mais on en utilise qu’une seule, les autres etant en spare. Enfin en tiers 4, ou on a le plus haut degré de disponibilité, on redonde tout et on utilise tout. Par contre c’est beaucoup plus cher qu’en tiers 3, et rares sont les entreprises ayant du tiers 4.
  9. Voici un petit tableau de classification de l’uptime institute.
  10. Qu’est ce qu’un cluster? Un cluster, c’est une grappe de serveurs ou ferme de serveurs, c’est-à-dire qu’on regroupe plusieurs serveurs appelés nœuds pour n’en faire plus qu’un, qu’on appelle cluster, et ce de manière transparente pour le client. De ce fait, si l’un des nœuds tombe suite à une panne, le service n’est pas interrompu car un autre nœud aura pris le relais, assurant ainsi la dispo des services. Ces nœuds n’ont pas besoin d’être forcément proches physiquement. Ils peuvent aussi etre séparés à plusieiurs kilometres entre eux, formant ce qu’on appelle un géocluster.
  11. Donc voici ce que c’est qu’un cluster, c’est un regroupement de plusieurs serveurs, et le client aura l’impression d’accéder à un seul serveur. Ici on peut voir qu’il y’a un load balancer avant le cluster, j’en parlerai plus en détail par la suite.
  12. A quoi ca va servir donc de regrouper des serveurs? Alors tout d’abord le plus important, le basculement de service, ou fail over service, c’est-à-dire le fait de basculer le service vers un nœud fonctionnel du cluster lors d’une panne du nœud principal. On assure ainsi un service sans interruption. Comme autre fonctionnalité, la détection de pannes, c’est-à-dire que les nœuds du cluster guettent lorsqu’un des nœuds tombe en panne pour basculer le service en cas de panne. C’est aussi ce qu’on appelle le heartbeat. Ces fonctions sont en général couplées à d’autres fonctions pour assurer la disponibilité, telles que la réparition de charge sur les différents nœuds, la réplication des données, l’intégrité etc…
  13. Les types de clusters: On peut distinguer plusieurs types de cluster, selon les fonctionnalités qu’ils offrent: … Par contre, on distingue différentes configurations ou architectures de clusters selon le type de service offert par le système. Comme architectures, on a: …
  14. L’architecture la plus simple, mais aussi la moins « hautement disponible ». Donc on a : un cluster de deux nœuds, avec un nœud principal ou nœud maitre qui execute les services (web, mail, etc…), et un nœud secondaire, ou nœud esclave, qui servira de nœud de spare en cas de défaillance du nœud principal. Entre les deux on a un ou plusieurs liens dédiés pour le basculement de service et le heartbeat. Au niveau l’adressage, comment ca marche: Chaqe nœud a son @ip réelle, mais le client accède au cluster via une adresse ip virtuelle, ou alias IP, qui va pointer vers le nœud actif du cluster par du NAT. Lorsque le nœud actif tombe, l’alias IP pointera alors sur le nœud de spare.
  15. Voila ce que ca donne, donc, on a notre cluster de 2 nœuds, et un client accedant aux serveurs via une application. Il y accede via l’@ip virtuelle qui lui a été fournie, sans savoir sur quel nœud du cluster il accède. Ainsi, lorsque le nœud actif du cluster tombe, c’est le nœud de secours qui prend le relais, et ce sans que le client ne détecte quoi que ce soit (a la rigueur selon la distance entre les deux nœuds, par exemple dans un géocluster, il peut se passer une période dans laquelle le client n’accede pas au service, mais dans un cluster normal ce temps est proche de 0)
  16. Autres architectures: Actif actif: les deux nœuds sont tous les deux actifs et se répartisse la charge grace a un load balancer. Lorsque l’un des nœuds tombe, l’autre récupère toute la charge du nœud défaillant, puis lorsque le nœud est réparé, la charge est à nouveau répartie. En N+1, on a cette fois N noeds actifs et load balancés, et un nœud de secours qui sert de spare. Ainsi lorsque l’un des nœuds actifs tombe, le service est basculé sur le nœud de secours, et le nœud défaillant devient le nœud de secours une fois réparé. On peut apercevoir un SPOF ici, lorsque deux nœuds ou plus tombent en meme temps, mais ceci est plus ou moins réglé par un bon load balancer. En N+M, cette fois ci on a M serveurs de spare. Ce nombre dépend du degré de haute dispo que l’on veut accorder.
  17. En N to 1, c’est pareil que N+1 sauf que lorsque le nœud défaillant est réparé, le service bascule à nouveau sur ce nœud. On a donc 2 basculements de service. En N to N, on n’a pas de nœuds de secours, si un des nœuds tombe, la charge est redistribuée sur les N-1 nœuds restants. Puis lorsque le nœud est réablit, la charge est redistribuée en conséquence. Par conséquent ca nécessite des nœuds ayant une assez grande cacapcité pour supporter le surplus de charge.
  18. La détection de pannes, j’en ai parlé un peu tout a l’heure, qu’on appelle aussi heartbeat. Comment ca marche: on a des requetes push et des requetes pull envoyées par les nœuds du cluster:
  19. Maintenant je vais parler d’outils qui permettent de mettre du clustering dans un système. On a d’abord heartbeat, un logiciel du projet « Linux HA », qui est un outil de surveillance des systèmes. Il permet en outre d’offrir du fail over service à l’aide de scripts. Comment ca marche: Les services, ou applications sont démarrés avec heartbeat sur le nœud actif, et on peut les arreter ou les redémarrer manuellement dans l’interface, dans ce cas les services sont bascules sur le ou les nœuds de secours. On peut alors détecter les pannes matérielles ou réseau et basculer le service auto en cas de panne. Avec l’outil « Mon » que je vais présenter juste apres, on peut faire aussi non seulement de la surveillance matériel et réseau mais aussi de l’applicatif. D’autre part, hearbeat possede aussi le contrôle d’une application, qu’on appelle « Stonith », qui consiste à desactiver à distance le nœud actif pour eviter par exemple qu’un serveur « bouché » continue d’accepter les requetes des clients et ainsi provoquant un goulot d’etranglement dans le cluster.
  20. Mon comme je l’ai dit, est un outil de supervision applicative. Il permet de détecter les défaillances applicatives et de les arreter ou redemarrer manuellement ou automatiquement. Ce qu’il peut faire: …
  21. Enfin un autre outil de clustering, FailSafe, de SGI, qui est similaire a Heartbeat. En outre, il peut supporter jusqu’à des clusters de 16 nœuds.
  22. Le load balancing est étroitement lié au clustering, c’est ce qui permet de répartir la charge sur les différents nœuds du cluster. Un load balancer, c’est un serveur qui supporte l’équilibrage de charge. Il est situé en frontal des serveurs, et en général il est redondé pour éviter les SPOF. Grace aux LB, on peut équilibrer le trafic réseau et assurer une disponibilité des services
  23. Voici un schéma classique d’une architecture avec load balancer, qui se rapproche de celle qu’on a vue tout a l’heure: Ici on a notre cluster de serveurs, et en frontal un cluster de LB qui vont répartir la charge sur les nœuds du cluster.
  24. Le principe est sensiblement le même que dans une architecture en cluster sans LB: le client s’adresse au cluster via l’@ ip virtuelle fournie, sauf que là cette adresse ne pointera pas sur le serveur applicatif, mais sur le LB, qui se charge de relayer les requetes aux nœuds du cluster. La réponse se fait de deux facons, soit elle est renvoyée au LB qui la renvoie au client, soit elle est directe.
  25. Solution 1: Le load balancer agit comme une passerelle: Les requetes vont vers le LB qui va rediriger vers un des serveurs du cluster. Le serveur en question renvoie ensuite la réponse au LB qui se charge alors de la retourner au client, il agit donc comme une passerelle entre le client et le cluster. C’est la solution qui est la plus utilisée en entreprise pour des raisons de sécurité, par contre cela implique de devoir conférer plus de responsabilités au LB, donc plus de charge.
  26. La deuxieme solution, c’est lorsque le LB est contenu dans le cluster des serveurs. Il agit alors comme un relais entre le client et les serveurs, et par conséquent le cluster est accessible directement par le client. Ca peut donc poser des problemes de sécurité.
  27. Maintenant je vais parler des algorithmes de répartition. Tout d’abord, on a le Round Robin, c’est-à-dire qu’on distribue la charge équitablement entre les serveurs. Comment ca marche concretement, les requetes sont adressées de facon séquentielle à chacun des nœuds du cluster. L’avantage de cette solution c’est qu’elle est tres simple à mettre en place car il n’y a quasiment rien à configurer. Par contre on peut le deviner, si un serveur est chargé, il continuera quand meme de recevoir les requetes, et on peut alors avoir un goulot d’étrangelement dans le réseau. On ne tient pas compte des facteurs extérieurs tels que le nombre de connexions ou le temps de réponse des serveurs. On a alors l’algorithme de Weighted Round Robin, qui agit comme le RR sauf qu’on attribue un poids, une priorité aux serveurs afin de déterminer lesquels sont les plus aptes à recevoir la charge. Comme avantages, d’une part, il est aussi rapide est simple que le RR, et d’autre part il tient bien compte des facteurs extérieurs. Par contre, c’est peu intéressant pour des serveurs ayant les memes caractéristiques (on revient aux pb du RR classique)
  28. Comme autres algos, on trouve aussi: Least connection, c’est-à-dire qu’on envoie les requetes prioritairement aux serveurs ayant le moins de connexions entrantes, et sa version pondérée le Weighted Least Connection. Comme avantages… Load Based, qui consiste là à envoyer les requetes aux serveurs ayant la charge la plus faible. Comme avantages…
  29. Autre chose assez importante dans le LB, qui est la gestion des sessions. Dans des applications il arrive souvent qu’une session se déroule en plusieurs étapes, qu’on appelle des états de session. Par exemple, lorsqu’on achete sur internet, d’abord on choisit son article, ensuite on remplit nos informations de facturation puis enfin le paiement bancaire. Quand on s’adresse à un service qui est load balancé, la question est de savoir comment est opéré le changement d’état de session par le LB, c’est-à-dire comment répartir la charge dans ces cas là. En gros, il faut garder en mémoire l’état de la session pour que chaque serveur du cluster puisse savoir ce qui s’est passé auparavant
  30. Donc là il exite plusieurs solutions, soit l’état est chez le client, par des cookies, ou autre… Soit il est sur le serveur distant qui a engagé la session, ou bien on le stocke sur un serveur dédié à ça. Si c’est chez le client, il faut donc que le client communique au LB cet état. Par conséquent les requetes seront plus lourdes, et on voit aussi un SPOF ici, lorsque le client flush son navigateur par exemple en pleine session, ben il doit tout recommencer… Si c’est chez le serveur ayant engagé la session, alors toutes les étapes de la session seront redirigées vers le meme serveur jusqu’à la fin de la session. Par contre on voit bien ici, si le serveur tombe, le client doit tout refaire. Donc la solution c’est bien de stocker les états dans des serveurs intermédiaires.
  31. On a deux choix: soit une gestion centralisée, soit asynchrone. En centralisée, on a donc le serveur de sessions qui est central, et chaque serveur applicatif récupere l’état de la session sur le serveur. Si ce serveur tombe, SPOF cependant. En asynchrone, chaque serveur communique aux autres l’état de la session, et donc si un des serveurs tombe, un autre peut tout a fait prendre le relais. Par contre ca demande plus de choses à configurer ainsi qu’avoir de la place sur les serveurs pour stocker ces états.
  32. Donc voici dans un schéma ce que ca peut donner.
  33. Je reviens maintenant sur les outils de load balancing, et je vais plus particulierement parler de LVS: Linux Virtual Server C’est un serveur virtuel… qui supporte 3 types de routage des requetes: … Je vais en parler un peu juste après Il supporte en outre tous les algos de répartition de charge: … Quelques interfaces graphiques existent comme Ultramonkey, Piranha…
  34. LVS par nat: C’est du load balancing tout bete qui consiste à affecter un serveur du cluster à une machine (IP). Comme on peut le voir sur ce schéma, le client représenté en bleu enverra ses requetes au serveur bleu, le client vert vers le serveur vert etc etc. Un client peut aussi avoir plusieurs serveurs affectés avec un algo de répartition qui répartira la charge comme on l’a vu (RR, WRR…) Le probleme evident ici, c’est que le LB agit comme une passerelle, et donc se prend toute la charge en pleine face. Mais c’est bien plus simple à configurer. L’autre solution c’est du LVS avec du tunnel IP, c’est-à-dire que le LB va servir de serveur VPN en quelque sorte, et va construire un tunnel entre les clients et les serveurs. On a donc tous les bénéfices du tunneling à savoir la mutualisation des ressources et la sécurité des informations, et le LB ne se prend pas toutes les requetes en pleine face, donc une otpimisation de la charge. Il y’a aussi une derniere solution qui est du routage direct, mais je ne vais pas en parler car elle n’est pas tres intéressante (mais encore plus simple à mettre en place)
  35. Donc voilà pour la partie cluster/load balancer, maintenant je vais parler de redondance.
  36. Donc on trouve de la redondance partout, du bas niveau jusqu’à la couche applicative.
  37. Qu’est ce que la redondance? C’est un procédé qui consiste à multiplier les … Cependant, ca ne sert à rien de mettre de la redondance si on ne respecte pas certains principes, qui sont: De remplacer automatiquement les éléments défaillants De se disperser géographiquement en cas de défaillance de tout le site
  38. La redondance bas niveau, c’est tout simplement la redondance du matériel et du cablage. Quelques techniques de base: La redondance des équipements: avoir des équipements de spare en cas de défaillance. La redondance des interfaces, donc là aussi d’avoir plusieurs interfaces dans les équipements La redondance electrique, aussi très importante, car si l’alumentation electrique tombe et que tout le système tombe a cause de ca, quelle que soit le degré de redondance au niveaux supérieurs, ca ne sert a rien. Donc multiplier les alimentations. Et bien entendu redonder la sécurité: firewall, ips…
  39. Exemple de redondance bas niveau sur des blades serveurs HP, d’apres le cours de Mr Thiel On a ici 2 power enclosures, 2 server enclosures, et un power distribution system, ou systeme de distribution de l’electricité (p class mini bus bar), ou sont branchées les power enclosures Au niveau des serveurs, on a deux cotés, le coté A en bleu et la coté B en rouge, et on voit que sur une meme serveur enclosure, on a chaque coté connecté aux deux power enclosures, ce qui offre d’ores et deja de la redondance electrique. De plus, une meme power enclosure est alimentée par deux sources d’énergie différentes, et donc on evite que lorsqu’une source d’énergie tiombe, on perde tout le systeme. Voila un matériel hautement disponible bas niveau.
  40. On va plus haut dans les couches, et on passe au layer 2. Pour la redondance L2, on a un protocole qui est le Spanning Tree Protocol, ou STP 802.1D. C’est un protocole qui va modifier la topologie d’un réseau pour supprimer les boucles et qui va réagir en cas de défaillance d’un lien. Pour ca, il crée une hierarchie sous forme d’arbre: En gros, on a un « root bridge » qui est élu, c’est-à-dire le port ayant l’id le plus petit et la priorité la plus faible, et de ce root bridge on fait un calcul du plus court chemin pour construire une topologie de réseau. Les liens non utilisés sont désactivés, et lorsqu’un lien tombe, une nouvelle election est lancée et une nouvelle topologie est créée. Cependant, le temps de convergence est très lent (40 s environ)
  41. Par exemple, entre A et B on a 3 switchs interconnectés entre eux (full meshed) avec les liens 1 et 2 qui sont actifs et le lien 3 en standby. Lorsqu’un lien tombe, par exemple le lien 2, la topologie est recréée et le lien 3 devient un lien actif.
  42. Comme on a vu, STP est assez lent, c’est pourquoi il existe des versions améliorées de STP: RSTP, Rapid STP, ou on finit par arriver à 1s de convergence; PVSTP de Cisco qui ajoute du VLAN tagging a STP MST, qui est la version normée de PVSTP Et d’autre protocoles propriétaires.
  43. Un autre protocole offrant de la haute dispo, qui est LACP LACP : Link Aggregation Control protocol, qui est un protocole d’agrégation de liens. Ca veut dire qu’on va regrouper plusieurs liens en un seul gros lien pour augmenter la vitesse de transfert et pour obtenir de la redondance. LACP est la version normée du protocole EtherChannel de Cisco, qui est largement utilisé entre les équipements Cisco. Cependant, pour interconnecter des switchs de constructeurs différents avec de l’agrégation de liens, il convient mieux d’utiliser LACP. Autres versions plus proprietaires: PaGP, nortel MLT, 3COM DTP…
  44. Donc en images, ce que ca donne, on a les ports 45 à 48 regtroupés en un seul lien etherchannel, avec un débit de 4*1G soit 4 Gb
  45. Passons maintenant au layer 3, donc VRRP HSRP VRRP: Virtual … C’est un protocole qui permet d’avoir de la redondance au niveau routage. Comment ca marche: on définit un groupe de routeurs, ou groupe VRRP dans lequel on met les routeurs. Il y’aura un routeur actif et un ou plusieurs routeurs en standby, Le routeur actif etant celui ayant la priorité la plus élevée Tout comme avec le clustering, on accede au groupe via une @ip virtuelle, qui designe le routeur actif du groupe. Les routeurs s’envoient periodiquement des messages pour verifier le bon fonctionnement du routeur actif, et donc lorsqu’ils détectent qu’il est tombé, une nouvelle élection est réalisée et un nouveau routeur actif est élu parmi les routeurs en standby. VRRP est la version normalisée du protocole HSRP de Cisco. Il y’a aussi une autre versiopn libre de ce protocole qui est CARP d’OpenBSD.
  46. Donc ce schéma est assez similaire aux schémas sur les clusters, on a deux routeurs au sein d’un groupe VRRP/HSRP, accessibles via une @ip virtuelle en .254. Cette adresse designe le routeur actif du groupe, et lorsque celui-ci tombe, le passif prend le relais.
  47. GLBP: … C’est un protocole propriétaire Cisco qui ajoute la répartition de charge à HSRP, en utilisant les principes de load balancing vus auparavant, à savoir: Affectation d’un poids aux routeurs du groupe L’election d’un routeur actif qu’on appelle AVG Repartitionj de charge avec du RR ou WRR
  48. Enfin il ne faut pas oublier d’ajouter aussi de la redondance dans la couche applicative, c’est-à-dire les serveurs, les bases de données, l’ERP etc… Par exemple ici, on a un serveur Web LAMP qui est redondé et load balancé, et une base de données Mysql synchronisée entre les deux serveurs de données.
  49. Une autre application de la redondance applicative: le teaming, c’est de l’agrégation de cartes réseau. C’est une redondance au niveau du système d’exploitation. En configurant du teaming on peut mettre en place plusieurs types de comportement, dépendant du constructeur: FOS , … LB, … Switch assisted (par ex chez HP) pour mieux répartir la charge.
  50. Enfin une autre solution pour avoir de la redondance à tous les niveaux, la virtualisation. Elle permet d’avoir plusieurs machines a l’intérieur d’une seule et meme machine, et donc on obtient ici de la redondance à faible cout (financier et energétique)
  51. Maintenant je vais passer à la réplication des données, qui est aussi importante que la redondance, car sans réplication la redondance ne sert à rien
  52. Donc d’abord je vais enoncer quelques concepts relatifs à la réplication, ensuite je vais parler de la réplication matérielle, avec RAID, DRBD et ENBD, puis enfin des systemes de fichiers qui font de la réplication.
  53. Donc comme je l’ai dit, mettre de la redondance ne sert à rien si les données ne sont pas synchronisées entre les élements redondés. D’où la réplication qui va copier les données de l’élément actif vers le ou les éléments en standby. Cette réplication peut etre matérielle (donc entre les disques, bdd…) ou bien directement dans le système de fichiers (cache, partage…)
  54. Avant de rentrer plus en détail dans les solutions de réplication, je vais d’abord parler des éléments de stockage. Tout d’abord on a le NAS: network attached storage. C’est un espace de stockage qui se trouve sur le réseau, un serveur a part entiere qui dispose de plusieurs disques indépendants, de son propre OS et de son propre file system. Par exemple, ici on a le NAS et on a deux machines A et B qui se connectent au NAS pour stocker les données
  55. Une autre solution de stockage: le SAN, SAN pour Storage Area Network. Ici on a carrément un réseau de stockage à part entiere, indépendant du réseau local. Ce sont tout simplement des disques qui sont reliés à des switchs SAN avec du tres haut débit, du Fibre Channel ou iSCSI. Le trafic de stockage est donc séparé du trafic LAN et la capacité de stockage est quasi illimitée Là par exemple on peut voir que les PC et serveurs sont connectés sur un LAN, et les serveurs sont connectés sur un SAN pour leurs données.
  56. Maintenant je vais parler du RAID. Le RAID (Redondant array of inexpensive disks) est une solution permettant de regrouper plusieurs disques pour n’en former qu’un seul. Il existe plusieurs types de RAID, chaque niveau décrivant la manière de stocker les données. C’est de la réplication locale, donc au sein d’un meme système.
  57. RAID 0, ou striping: En RAID 0, on répartit les données sur l’esnemble des disques pour augmenter la vitesse de transfert. Cependant, si l’un des disques tombe, toutes les données sont perdues, donc pas de tolérance de panne. En RAID 1, c’est du mirroring,ca veut dire qu’on duplique les données sur les disques, obtenant ainis de la haute dispo des données. Par contre c’est bien plus cher car cela implique qu’une partie du stokcage est réservée au backup. Je vais passer sur le RAID 2, en RAID 3, on a ici un disque de stockage et un disque qui va stocker les parités, qui va permettre de reconstituer les données en cas de plantage.
  58. En raid 4, meme chose que le raid 3 sauf qu’au lieu d’avoir des bits de parités, on a des blocks, ce qui permet une meilleure gestion de la capacité de stockage. Enfin en raid 5, on stocke les bits de parité sur chacun des disques. On obtient ainsi de meilleurs performances et une forte tolérance de panne. Par contre c’est intéressant uniquement lorsqu’on a beaucoup de disques. Quand on en a peu, il devient plus rentable de mettre en place du raid 0 + 1 plutôt que du raid 5. Il y’en a encore d’autres, comme le RAID 6, qui est une évolution du raid 5. Il existe aussi du raid 10, etc..
  59. Les avantages de mettre du raid: La sécurité, … …
  60. DRBD: C’est une solution de réplication distante, qui permet de répliquer les données entre deux serveurs distants. C’est du mirroring comme en RAID , mais en version distante. Elle est souvent déployée avec Heartbeat. De plus, depuis la version 8 on peut faire du partage de charge.
  61. Autre solution: ENBD, qui est l’évolution de Linux NBD. Elle permet à un serveur d’accéder aux données distantes comme si elles etaient locales. Une authentification est nécessaire pour avoir les droits de lecture ecriture. Ca permet d’avoir donc une haute dispo des données à travers le net.
  62. Pour finir, je vais parler des systemes de fichiers qui offrent de la redondance mais aussi qui assurent l’intégrité des données. Il y’a deux types de systemes de fichiers, les FS locaux, comme Ext3, XFS…; et partagés, comme NFS, OpenGFS… Ces FS offrent des fonctionnalités intéressantes, comme: -…
  63. Je ne vais pas entrer en détail sur les plus et les moins de chaque système, mais j’ai trouvé sur le net un petit tableau de comparaison de quelques FS
  64. Conclusion à tout ca:
  65. Maintenant que l’on sait tout ca, voyons ce que ca donne un système hautement disponible: Dans cette architecture: - Tous les éléments sont redondés: routeurs, firewall, proxy, serveurs. - Chaque couche d’équipements est connectée à sa voisine en utilisant une Switch Zone dédiée, avec des switchs implémentant du Spanning Tree. - Les routeurs et les firewall utilisent de l’HSRP ou du GLBP, les proxy implémentent du CARP, les load balancers et les serveurs sont clusterisés et font de la redondance applicative (Teaming). - Enfin les bases de données sont partagées via du RAID 5 localement et en ENBD avec les autres sites. Une architecture particulièrement onéreuse mais qui offre un degré de disponibilité très élevé. En ajoutant en plus de la virtualisation, on peut offrir une haute disponibilité tout en réduisant considérablement les coûts.
  66. Concernant les acteurs de la haute disponibilité, il existe sur le marché des boites qui offrent des serveurs avec de la HD (RAID, Heartbeat…) En 2003, Gartner a réalisé une étude sur les acteurs du marché de la haute dispo, et en leader on trouve HP, IBM, Stratus et Unisys. Voici le magic quadrant qui a été effectué:
  67. Enfin pour finir un cas concret: l’architecture de Wikipedia On a tout d’abord GeoDNS, une répartition de charge par DNS qui redirige les requetes vers les load balancers les plus proches des clients Du load balancing par LVS Des serveurs Squid de cache Près de 400 serveurs Web Apache PHP Mysql avec du cache memcached Utilisation de CARP pour répartir les requetes vers les différents datacenter Etc etc… Ce n’est que la partie supérieure de l’iceberg, mais on voit bien comment ces concepts sont mis en œuvre dans les architectures actuelles.
  68. To conclude, in this exposé, we have seen that many solutions provide ha and ft to IS architectures. The rate of HA is proportional… To finish, i say that the coming of the virtualization will help IS to have HA in a least cost.
  69. Do you have questions?