Haute disponibilité
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

La haute disponibilité est un terme souvent utilisé en informatique, à propos d'architecture de système ou d'un service pour désigner le fait que cette architecture ou ce service a un taux de disponibilité convenable.

Un cluster haute-disponibilité (par opposition à un cluster de calcul) est une grappe d'ordinateurs dont le but est d'assurer un service en évitant au maximum les indisponibilités.

Pour mesurer la disponibilité (La disponibilité d'un équipement ou d'un système est une mesure de performance qu'on obtient en divisant la durée durant laquelle ledit...), on utilise souvent un pourcentage (Un pourcentage est une façon d'exprimer une proportion ou une fraction dans un ensemble. Une expression comme « 45 % » (lue « 45 pour cent ») est en réalité la sténographie pour la fraction 45/100...) essentiellement composé de '9' :

  • 99% désigne le fait que le service est indisponible moins de 3,65 jours par an
  • 99,9%, moins de 8,75 heures (L'heure est une unité de mesure  :) par an
  • 99,99%, moins de 52 minutes ( Forme première d'un document : Droit : une minute est l'original d'un acte. Cartographie géologique ; la minute de terrain est la carte originale, au crayon, levée sur le terrain. ...) par an
  • 99,999%, moins de 5,2 minutes par an
  • 99,9999%, moins de 54,8 secondes par an
  • 99,99999%, moins de 3,1 secondes par an
  • etc.

Technique assurant la haute disponibilité (La haute disponibilité est un terme souvent utilisé en informatique, à propos d'architecture de système ou d'un service pour désigner le fait que cette architecture ou ce service a un...)

De nombreuses techniques sont utilisées pour assurer la haute disponibilité :

  • la redondance des matériels et la mise en cluster
  • la sécurisation des données : RAID, snapshots, Oracle DataGuard, BCV, SRDF,
  • la possibilité de reconfigurer le serveur " à chaud " (c’est-à-dire lorsque celui-ci fonctionne)
  • mode dégradé ou un mode panique
  • plan de secours…
  • sécurisation des sauvegardes : externalisation, centralisation sur site tiers

La haute disponibilité exige le plus souvent un local adapté: alimentation stabilisée, climatisation (La climatisation est la technique qui consiste à modifier, contrôler et réguler les conditions climatiques (température, humidité, niveau de poussières, etc.) d’un local pour des raisons de...) sur plancher, avec filtre à particules (Le filtre à particules (FAP) est un système de filtration utilisé pour éliminer les fines particules, réputées cancérigènes, contenues dans les gaz d'échappement des moteurs Diesel. Ces particules sont...), service de maintenance, service de gardiennage et de sécurité contre la malveillance et le vol. Attention aussi au risque d'incendie et de dégât des eaux. Les câbles d'alimentation et de communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la machine...) doivent être multiples et enterrés. Ils ne doivent pas être saillants dans le parking souterrain de l'immeuble, ce qui est trop souvent vu dans les immeubles parisiens. Ces critères sont les premiers à entrer en compte lors du choix d'un prestataire d'hébergement (cas de la location d'un local à haute disponibilité). Pour chaque niveau de l’architecture, pour chaque composant, chaque liaison entre composants, il faut établir :

  • Comment détecter une panne ? Exemples : Tests de vie (La vie est le nom donné :) TCP Health Check implémenté par un boîtier Alteon, programme de test invoqué périodiquement (" heartbeat "), interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître...) de type " diagnostic " sur les composants…
  • Comment le composant est-il sécurisé, redondé, secouru… Exemples : serveur de secours, cluster système, clustering websphere, stockage RAID, sauvegardes, double attachement SAN, mode dégradé, matériel non-utilisé libre (spare) prêt à être réinstallé..
  • Comment désire-t-on enclencher la bascule (Une bascule ou un basculeur est un circuit intégré logique doté d'une sortie et d'une ou plusieurs entrées. La sortie peut être au niveau logique 0...) en mode secours / dégradé. Manuellement après analyse ? Automatiquement ?
  • Comment s’assurer que le système de secours reparte sur un état stable et connu. Exemples : on repart d’une copie de la base et on réapplique les archives logs, relancement des batchs depuis un état connu, commit à 2 phases pour les transactions mettant à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du...) plusieurs gisements de données…
  • Comment l’application redémarre sur le mécanisme de secours. Exemples : redémarrage de l’application, redémarrage des batches interrompus, activation (Activation peut faire référence à :) d’un mode dégradé, reprise de l’adresse IP du serveur défaillant par le serveur de secours…
  • Comment reprendre éventuellement les transactions ou sessions en cours. Exemples : persistance ( Persistance (statistiques) Persistance (informatique) en peinture : La Persistance de la mémoire (1931) en médecine : la persistance du canal artériel la Persistance rétinienne ...) de session sur le serveur applicatif, mécanisme pour assurer une réponse à un client (Le mot client a plusieurs acceptations :) pour une transaction qui s’est bien effectuée avant défaillance mais pour laquelle le client n’a pas eu de réponse…
  • Comment revenir à la situation (En géographie, la situation est un concept spatial permettant la localisation relative d'un espace par rapport à son environnement proche ou non. Il inscrit un...) nominale. Exemples :
    • si un mode dégradé permet en cas de défaillance d’une base de données (En informatique, une base de données (Abr. : « BD » ou « BDD ») est un lot d'informations stockées dans un dispositif informatique. Les technologies existantes permettent...) de stocker des transactions en attente dans un fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par...), comment les transactions sont-elles ré-appliquées quand la base de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) redevient active.
    • si un composant défaillant a été inactivé, comment s’effectue sa réintroduction en service actif (nécessité par exemple de resynchroniser des données, de retester le composant…)

Dépendance vis-à-vis des autres applications

Pour une application qui sollicite d’autres applications avec des middlewares en mode synchrone (Web Services en http, Tuxedo, Corba, EJB…) le taux de disponibilité de l’application sera fortement lié à la disponibilité des applications dont elle dépend. La sensibilité des applications dont on dépend doit donc être équivalente ou supérieure à la sensibilité de l’application elle-même. Sinon, il faut envisager

  • l’utilisation d’un middleware (En informatique, un intergiciel (en anglais middleware) est un logiciel servant d'intermédiaire de communication entre plusieurs applications, généralement complexes ou distribuées...) asynchrone : MQ-Series, JMS, SonicMQ, CFT (CFT (Cross File Transfer) est un logiciel de transfert de fichiers développé par la société Axway, créé par Crédintrans puis cédé à Sopra...)
  • la mise en œuvre d’un mode dégradé quand une application dont on dépend est défaillante.

Pour cette raison on privilégiera l’utilisation de middlewares asynchrones pour privilégier une bonne disponibilité quand c’est possible.

Répartition de charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un paiement ou un bénéfice non...) et sensibilité

La sensibilité est souvent gérée en redondant les éléments avec un mécanisme de répartition de charge. (un cluster websphere avec un load-balancing Alteon par exemple). Pour que ce système apporte un réel gain en terme de fiabilité (Un système est fiable lorsque la probabilité de remplir sa mission sur une durée donnée correspond à celle spécifiée dans le cahier des charges.), il faut vérifier que si un des éléments est défaillant, les éléments restants disposent d’une puissance (Le mot puissance est employé dans plusieurs domaines avec une signification particulière :) suffisante pour assurer le service. Autrement dit, dans le cas de deux serveurs actifs avec répartition de charge, la puissance d’un seul serveur doit permettre d’assurer la totalité de la charge. Avec trois serveurs, la puissance d’un seul serveur doit permettre d’assurer 50% de la charge (en supposant que la probabilité (La probabilité (du latin probabilitas) est une évaluation du caractère probable d'un évènement. En mathématiques, l'étude des probabilités est un...) d’avoir un incident sur deux serveurs en même temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) est négligeable). Pour assurer une bonne fiabilité, il est inutile de mettre en grand nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de serveurs se secourant mutuellement. Par exemple, un élément fiable à 99% redondé une fois donne une fiabilité de 99.99% (probabilité que les deux éléments soit défaillants au même moment = 1/100x1/100 = 1/10.000)

Redondance différentielle

La redondance d’un élément est généralement effectuée en choisissant de redonder avec plusieurs composants identiques. Ceci suppose, pour être efficace, qu’une défaillance d’un des composants est aléatoire et indépendante d’une défaillance d’un des autres composants. C’est par exemple le cas des pannes matérielles. Ce n’est pas le cas de toutes les défaillances : par exemple, une faille du système d’exploitation ou une anomalie d’un composant logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement,...) peuvent survenir, quand les conditions sont favorables, sur l’ensemble des composants à la fois. Pour cette raison, quand l’application est extrêmement sensible, on considèrera de redonder les éléments avec des composants de natures différentes mais assurant les mêmes fonctions. Ceci peut conduire à

  • choisir des serveurs de nature différentes, avec des OS différents, des produits logiciels d’infrastructure différents,
  • développer le même composant deux fois en respectant à chaque fois les contrats d’interface qui s’appliquent au composant.

Redondance avec système de vote

Dans ce mode, différents composants traitent les mêmes entrées et produisent donc (en principe) les mêmes sorties.

Les résultats produits par tous les composants sont collectés, puis un algorithme est mis en œuvre pour produire le résultat final. L’algorithme peut être simple (vote à la majorité) ou complexe (moyenne, moyenne pondérée (On nomme moyenne pondérée la moyenne d'un certain nombre de valeurs affectées de coefficients.), médiane…), l’objectif étant d’éliminer les résultats erronés imputables à un dysfonctionnement sur l’un des composants et/ou de fiabiliser un résultat en combinant plusieurs résultats légèrement différents. Il faut noter que ce procédé :

  • ne permet pas de répartition de charge
  • introduit le problème de fiabilisation du composant gérant l’algorithme de vote

Ce procédé est utilisé généralement dans les cas suivants

  • Des systèmes reposant sur des capteurs (Un capteur est un dispositif qui transforme l'état d'une grandeur physique observée en une grandeur utilisable, exemple : une tension électrique, une hauteur de mercure, une intensité, la...) (exemple : capteurs de température) pour lesquels les capteurs sont redondés
  • Des systèmes ou plusieurs composants différents assurant la même fonction sont utilisés (cf. redondance différentielle) et pour lesquels un meilleur résultat final peut être obtenu en combinant les résultats produits par les composants (exemple : système de reconnaissance de formes utilisant plusieurs algorithmes pour obtenir un meilleur taux de reconnaissance.

" Shadow operations "

Lors du dysfonctionnement d’un composant redondé et après l’avoir réparé, on peut souhaiter le réintroduire en service actif, vérifier son bon fonctionnement effectif, mais sans que les résultats soit utilisés. Dans ce cas, les entrées sont traitées par un (ou plusieurs) composants réputés fiables. Ceux-ci produisent le résultat exploité par le reste du système. Les mêmes entrées sont également traitées par le composant réintroduit qui est dit en mode " shadow ". On peut vérifier le bon fonctionnement du composant en comparant les résultats produits avec ceux des composants fiables. Ce procédé est souvent utilisé dans les systèmes à base de vote car il suffit d’exclure le composant en mode " shadow " du vote final.

Page générée en 0.231 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique