Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
UE NFE107 – Architecture
et urbanisation des systèmes
d' information
La haute disponibilité
Calimet Stéphane
SOMMAIRE
Chapitre 1 : Définition
Source : Wikipédia
Chapitre 2 - Technique de bases
Comme chacun le sait, la panne informatique d'un système peut avoir de multiples
sources. Les origines peuvent être physiques (naturelle ou criminelle), d'origines
humaines (intentionnelle ou non) voir opérationnelle (un dysfonctionnement logiciel
par exemple).
La haute disponibilité nécessite donc une architecture adaptée mais aussi des locaux
abritant cette architecture prévu pour. Il est nécessaire par exemple d'alimenter les
composants par une alimentation stabilisée, d'installer une climatisation sous plancher
avec filtre à particule afin de maintenir les conditions d'utilisations optimum et
minimiser les risques de coupures et donc d'arrêt. Un service de maintenance et
éventuellement de gardiennage pour prévenir du vol ou des dégradations. Les risques
d'incendies doivent aussi être pris en compte ainsi que la protection des câbles. Ceux
ci doivent être enterrés et multipliés afin de prévenir tout risque de coupure volontaire
ou accidentelle. Ces précautions de base sont des critères a prendre en compte des le
début de l'installation de votre serveur ou du choix de votre prestataire
d'hébergement.
Ces précautions d'ordre externe à l'architecture sont très importantes mais ne suffisent
pas à garantir une haute disponibilité. Afin de pouvoir l' atteindre, il est nécessaire de
mettre en place une architecture matérielle complémentaire par la redondance des
matériels ainsi que la mise en cluster. La sécurisation des données est aussi une
solution indispensable pour mettre en place la haute disponibilité sur le long terme.
− La redondance matérielle
La redondance est comme son nom l'indique une duplication partielle ou totale du
système informatique. Il existe plusieurs types de redondance :
• La redondance symétrique
• La redondance asymétrique
• La redondance évolutive
• La redondance modulaire
Source : agenceweb.com
− La mise en cluster
La mise en cluster est aussi appelé grappe de serveurs ou ferme de calcul. Le principe
est de regrouper des ordinateurs indépendants ainsi appelés nœuds (ou node en
anglais). Cela permet de dépasser les limitations d'un seul ordinateur et ainsi de les
gérer ensemble et non indépendamment.
L'inconvénient majeur est le coût de cette solution même si cela économise l'achat
d'un serveur multiprocesseur.
Source : unixgarden.com
Dans le schéma, le Load balancer est installé. Il sert à la répartition des charges (qui
sera vu après) ainsi que d'aiguiller les requêtes du client vers un noeud particulier du
cluster. Comme il a été mentionné au début du document, afin de prévenir tout risque,
il est recommandé de dupliquer le load balancer. Ce qui se traduit par le schéma
suivant :
Source : Unixgarden.com
• Sauvegarde totale
• Sauvegarde différentielle
• Sauvegarde incrémentale
• Sauvegarde à delta
La sauvegarde totale (en anglais on parle de full backup) réalise une copie conforme
des données a sauvegarder sur un support séparé. Ce qui peut poser des problèmes en
cas de gros volume en terme de lenteur et donc de disponibilité si les données sont
modifiées en cours de sauvegarde. Elle permet toutefois d'obtenir une image fidèle
des données à un instant t.
La sauvegarde incrémentale (en anglais on parle d' incremental backup) copie tous
les éléments modifiés depuis la dernière sauvegarde. Plus performante qu'une
sauvegarde totale car elle ne sauvegarde que les éléments modifiés avec un espace de
stockage plus faible mais nécessite en contrepartie de posséder les sauvegardes
précédentes pour reconstituer la sauvegarde complète.
La sauvegarde à delta (en anglais delta backup) est une sauvegarde incrémentale sur
des éléments de données à granularité plus fine, c'est à dire au niveau de chaque bloc
de données et non au niveau du fichier seulement.
On utilise une technologie RAID afin de sécuriser les données stockées contre la
défaillance d'un ou plusieurs disques.
Sans rentrer trop dans le détail du système RAID, cette technologie permet de stocker
des données sur de multiples disques durs. il existe 3 système de RAID :
• Le RAID logiciel
• Le RAID pseudo-matériel
• Le RAID matériel
Le RAID logiciel est intégralement assuré par une couche logicielle du système
d'exploitation. Elle possède plusieurs avantages :
• Le problème majeur est que cette méthode repose sur la couche d'abstraction
matérielle des périphériques qui composent le volume RAID. Cette couche
n'étant pas parfaite, elle peut souffrir d'un manque de fonctionnalité.
• La gestion du RAID en logiciel monopolise des ressources systèmes
(principalement du bus système).
• Le disque système n'accepte pas toujours l'utilisation du RAID.
Les inconvénients :
Le RAID matériel est géré par un contrôleur dédié. Il peut être externe ou dans une
baie de disques. Cette carte est composée d'un processeur spécifique et de mémoire
dédiée. Le système d'exploitation considère chaque volume RAID comme un disque
et n'a pas connaissance de ses constituants physiques
Ses avantages :
• Permet la détection des défauts des disques et leur changement à chaud (sans
éteindre la machine)
• Pas de surcharge pour le système
Ses inconvénients :
Il existe différents niveaux de RAID. Les principaux RAID utilisés sont les 0, 1 et 5
qui peuvent être combinés entre eux.
Le RAID 0 (aussi appelé entrelacement de disques ou stripping) permet de faire
travailler n disques en parallèles. Le problème est que la perte d'un disque entraine la
perte complète des données. Le RAID 0 n'apporte aucune redondance mais permet
simplement d'augmenter les performances de la grappe.
Le RAID 1 (appelé aussi mirroring) utilise n disques redondants. Chaque disque
contient à tout moment exactement les mêmes données. Il est conseillé d'utiliser des
disques de taille identique car la capacité totale est égale à celle du plus petit élément.
La défaillance d'un disque n'entraine pas la perte des données (sauf si c'était le dernier
disque). Lors d'une défaillance d'un disque, le contrôleur RAID désactive, de manière
transparente, le disque défectueux. Une fois celui ci remplacé, le contrôleur
reconstitue les données soit automatiquement ou bien manuellement. Une fois cette
opération terminée, la redondance initiale est retrouvée.
Le RAID 5 combine les deux procédés précédents. On utilise la technologie du
stripping en répartissant les données sur les n disques à parts égales. Chaque bande
est donc constituée de blocs de données et d'un bloc de parité. Ainsi en cas de
défaillance de l'un des disques de la grappe, il manquera soit un bloc de données soit
un bloc de parité. Si c'est le bloc de parité qui manque, ce n'est pas grave car aucune
donnée ne manque. Si c'est un bloc de données, on peut deviner son contenu à partir
des autres blocs de données et du bloc de parité. La grappe est donc toujours capable
de fonctionner mais aussi capable de reconstituer les données une fois le disque
changé. La limitation de ce système est que le RAID 5 ne supporte la perte que d'un
seul disque à la fois sinon on ne pourra plus reconstituer les données et ne peut être
mis en place qu'avec 3 disques durs minimum. L'avantage est d'avoir une
performance aussi élevé qu'en RAID 0.
Le système SAN (Storage Area Network est un réseau spécialisé dans le stockage
mutualisé. A la différence du NAS, l'accès au stockage est de bas niveau. Les espaces
de stockages n'apparaissent pas comme des volumes partagés. Elles sont directement
accessibles en mode bloc par le système de fichiers des serveurs. Chaque serveur voit
donc l'espace disque d'une baie SAN comme son propre disque dur.
Avantage :
Elle est aussi appelé l'équilibrage de charge (ou en anglais Load Balancing). Ce
processus consiste a distribuer une tâche à une grappe ou un pool de machines.
L'objectif est de :
• De lisser le trafic réseau et ainsi mieux répartir la charge globale sur les
différents équipements)
• Pouvoir assurer la disponibilité des équipements en envoyant des données
adaptées aux équipements. Seuls ceux pouvant répondre à la demande seront
sollicités, on gagne aussi en temps de réponse.
• Un commutateur de niveau 4
• Un serveur qui utilise un algorithme de type Round-Robin
− Le mode dégradé
Pour mieux illustrer et comprendre la mise en place d'une haute disponibilité, voici
un cas concret de deux entreprises et de leurs choix.
Meetic est un site de rencontre en ligne fondé en 2001. Il possède 600.000 abonnés et
des millions de profils enregistrés. Le trafic est d'environ 1 Milliards de pages par
mois.
L'architecture est assez hétérogène et les évolutions du site ont ajoutés de nouvelles
technologies. Il existe une partie en plus du site en backoffice et Business
Intelligence. Le site est couplé avec un CRM et un outil de gestion des contacts
entrants. Cette combinaison permet de faire face au trafic généré par les visites et les
différentes informations échangées.
Pour le site nous retrouvons donc le couple PHP/MySQL mais aussi des grappes
Oracle RAC (pour la partie abonnée). Les bases de données SQL sont utilisées pour
les besoins fonctionnels plus faible comme le chat ou sur des sites périphériques.
Le point d'entrée est un Load Balancer hardware (Big IP de F5 Networks). Il est en
charge de la répartition et de l'aiguillage par rapport aux pays. Ensuite on retrouve du
PHP mais surtout une cascade de serveurs de cache qui permettent l'exécution des
requêtes frontales. Cette cascade augmente par 10 l'exécution de ces requêtes.
Le moteur de recherche est basé sur une applicatif propriétaire (en non par MySQL).
La mise en place de Database Accelerator, l'indexation de la base a été réalisée à
partir d'un export complet de celle ci au format XML Ensuite la mise à jour
dynamique est réalisée grâce à des exports partiels dirigés vers les serveurs dédiés à
la recherche. Un export complet reste néanmoins nécessaire pour re-synchroniser
régulièrement l’ensemble du dispositif et ce, malgré près de 100 000 modifications
par jour.
Il reste à traiter la synchronisation des BDD sur les datacenter. Pour les bases
centralisées la redondance BDD multi-site est un élément vital, mais délicat à
synchroniser.
2e cas : DayliMotion.com