Haute Disponibilité

Haute Disponibilité

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 taux de disponibilité convenable.

La disponibilité est aujourd'hui un enjeu important des infrastructures informatiques. On estime aujourd'hui que la non-disponibilité d'un service informatique peut avoir des coûts se chiffrant en millions[réfsouhaitée], particulièrement dans le domaine de l'industrie l'arrêt d'une chaîne de production peut avoir un effet dévastateur.

Deux moyens complémentaires sont utilisés pour améliorer la haute disponibilité :

  • La mise en place d'une infrastructure matérielle dédiée, généralement en se basant sur de la redondance matérielle. Est alors créé un cluster de haute-disponibilité (par opposition à un cluster de calcul: une grappe d'ordinateurs dont le but est d'assurer un service en évitant au maximum les indisponibilités.
  • La mise en place de processus adaptés permettant de réduire les erreurs, et d'accélérer la reprise en cas d'erreur. ITIL contient de nombreux processus de ce type.

Pour mesurer la disponibilité, on utilise souvent un pourcentage 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 par an
  • 99,99%, moins de 52 minutes 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.

L'amalgame est souvent fait, à tort, entre la haute disponibilité et le plan de reprise d'activité. Il s'agit de deux tâches différentes, complémentaires pour atteindre la disponibilité continue.

Sommaire

Techniques améliorant la disponibilité

De nombreuses techniques sont utilisées pour améliorer la disponibilité :

La haute disponibilité exige le plus souvent un local adapté: alimentation stabilisée, climatisation sur plancher, avec filtre à particules, 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 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 larchitecture, pour chaque composant, chaque liaison entre composants, il faut établir :

  • Comment détecter une panne ? Exemples : Tests de vie TCP Health Check implémenté par un boîtier Alteon[2], programme de test invoqué périodiquement (« heartbeat »), interface de type « diagnostic » sur les composants
  • Comment le composant est-il sécurisé, redondé, secouruExemples : 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 en mode secours / dégradé. Manuellement après analyse ? Automatiquement ?
  • Comment sassurer que le système de secours reparte sur un état stable et connu. Exemples : on repart dune 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 plusieurs gisements de données
  • Comment lapplication redémarre sur le mécanisme de secours. Exemples : redémarrage de lapplication, redémarrage des batches interrompus, activation dun mode dégradé, reprise de ladresse IP du serveur défaillant par le serveur de secours
  • Comment reprendre éventuellement les transactions ou sessions en cours. Exemples : persistance de session sur le serveur applicatif, mécanisme pour assurer une réponse à un client pour une transaction qui sest bien effectuée avant défaillance mais pour laquelle le client na pas eu de réponse
  • Comment revenir à la situation nominale. Exemples :
    • si un mode dégradé permet en cas de défaillance dune base de données de stocker des transactions en attente dans un fichier, comment les transactions sont-elles -appliquées quand la base de données redevient active.
    • si un composant défaillant a été inactivé, comment seffectue 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 dautres applications avec des middlewares en mode synchrone (service webs en http, Tuxedo, Corba, EJB) le taux de disponibilité de lapplication 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 lapplication elle-même.

Sinon, il faut envisager

  • lutilisation dun middleware asynchrone : MQ Series, JMS, SonicMQ, CFT
  • la mise en œuvre dun mode dégradé quand une application dont on dépend est défaillante.

Pour cette raison on privilégiera lutilisation de middlewares asynchrones pour privilégier une bonne disponibilité quand cest possible.

Répartition de charge 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 termes de fiabilité, il faut vérifier que si un des éléments est défaillant, les éléments restants disposent dune puissance suffisante pour assurer le service.

Autrement dit, dans le cas de deux serveurs actifs avec répartition de charge, la puissance dun seul serveur doit permettre dassurer la totalité de la charge. Avec trois serveurs, la puissance dun seul serveur doit permettre dassurer 50% de la charge (en supposant que la probabilité davoir un incident sur deux serveurs en même temps est négligeable). Pour assurer une bonne fiabilité, il est inutile de mettre en grand nombre 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 dun élément est généralement effectuée en choisissant de redonder avec plusieurs composants identiques. Ceci suppose, pour être efficace, quune défaillance dun des composants est aléatoire et indépendante dune défaillance dun des autres composants. Cest par exemple le cas des pannes matérielles.

Ce nest pas le cas de toutes les défaillances : par exemple, une faille du système dexploitation ou une anomalie dun composant logiciel peuvent survenir, quand les conditions sont favorables, sur lensemble des composants à la fois. Pour cette raison, quand lapplication 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 dinfrastructure différents,
  • développer le même composant deux fois en respectant à chaque fois les contrats dinterface qui sappliquent 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. Lalgorithme peut être simple (vote à la majorité) ou complexe (moyenne, moyenne pondérée, médiane…), lobjectif étant déliminer les résultats erronés imputables à un dysfonctionnement sur lun des composants et/ou de fiabiliser un résultat en combinant plusieurs résultats légèrement différents.

Ce procédé :

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

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

  • Des systèmes reposant sur des capteurs (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 dun composant redondé et après lavoir réparé, on peut souhaiter le réintroduire en service actif, vérifier son bon fonctionnement effectif, mais sans que les résultats soient 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 dexclure le composant en mode « shadow » du vote final.

Les processus qui permettent d'améliorer la disponibilité

On peut distinguer deux rôles dans ces processus.

Les processus qui réduisent le nombre de pannes

En se basant sur le fait que mieux vaut prévenir que guérir, mettre en place des processus de contrôle qui permettront de réduire le nombre d'incidents sur le système permet d'améliorer la disponibilité. Deux processus permettent de jouer ce rôle :

  • Le processus de gestion des changements : 60% des erreurs sont liées à un changement récent. En mettant en place un processus formalisé, accompagné de tests suffisants (et réalisés dans un environnement de pré-production correct), de nombreux incidents peuvent être éliminés.
  • Un processus de gestion pro-active des erreurs : les incidents peuvent bien souvent être détectés avant de survenir : les temps de réponse augmentent ... Un processus dédié à cette tâche, et muni des outils adéquats (système de mesure, de reporting ...) pourra intervenir avant même que l'incident n'arrive.

En mettant en place ces deux processus, de nombreux incidents peuvent être évités.

Les processus réduisant la durée des pannes

Les pannes finissent toujours par arriver. A ce moment-, le processus de reprise en cas d'erreur est primordial pour que le service soit restauré au plus vite. Ce processus doit avoir un objectif : permettre à l'utilisateur d'utiliser un service le plus rapidement possible. La réparation définitive doit donc être évitée car elle prend beaucoup plus de temps. Ce processus devra donc mettre en place une solution de contournement du problème.

Cluster haute disponibilité

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.

Exemples d'application de clustering dans le monde UNIX (fonctionnant sous AIX ou Linux:

Voir aussi

Liens internes

Liens externes

Notes

  • Portail de la sécurité de l’information Portail de la sécurité de linformation
  • Portail de la sécurité informatique Portail de la sécurité informatique
Ce document provient de « Haute disponibilit%C3%A9 ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Haute Disponibilité de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Haute disponibilite — 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 taux de disponibilité convenable. La… …   Wikipédia en Français

  • 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 taux de disponibilité convenable. La disponibilité est aujourd …   Wikipédia en Français

  • haute disponibilité — ● loc. f. ►EXEC Caractéristique des systèmes dont on garantit la fiabilité avec plusieurs décimales. Un serveur haute disponibilité se doit d être en état de marche 99,999% du temps, au moins, c est à dire qu il n a le droit de s arrêter que… …   Dictionnaire d'informatique francophone

  • Disponibilite — 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 lequel ledit équipement ou système est opérationnel par la durée totale durant laquelle on aurait souhaité qu… …   Wikipédia en Français

  • 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 équipement ou système est opérationnel par la durée totale durant laquelle on aurait souhaité qu il le soit.… …   Wikipédia en Français

  • disponibilité — ● n. f. ►SOC * Pas de problème, on l a en magasin, revenez dans six mois. Voir RVA (!). * La haute disponibilité désigne des systèmes capables de fonctionner plus de 99,999% du temps. Autant dire qu ils ne s avouent jamais vaincus …   Dictionnaire d'informatique francophone

  • Taux de disponibilité — 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 lequel ledit équipement ou système est opérationnel par la durée totale durant laquelle on aurait souhaité qu… …   Wikipédia en Français

  • Liste Des Préfets Des Alpes-De-Haute-Provence — Liste des préfets et sous préfets des Alpes de Haute Provence depuis la création du département sous le nom de Basses Alpes. Le siège de la préfecture est à Digne les Bains. Sommaire 1 Consulat et Premier Empire 1.1 Sous préfets …   Wikipédia en Français

  • Liste des prefets des Alpes-de-Haute-Provence — Liste des préfets des Alpes de Haute Provence Liste des préfets et sous préfets des Alpes de Haute Provence depuis la création du département sous le nom de Basses Alpes. Le siège de la préfecture est à Digne les Bains. Sommaire 1 Consulat et… …   Wikipédia en Français

  • Liste des préfets des Alpes-de-Haute-Provence — Liste des préfets et sous préfets des Alpes de Haute Provence depuis la création du département sous le nom de Basses Alpes. Le siège de la préfecture est à Digne les Bains. Sommaire 1 Consulat et Premier Empire 1.1 Sous préfets 2 …   Wikipédia en Français

Share the article and excerpts

Direct link
https://fr-academic.com/dic.nsf/frwiki/763844 Do a right-click on the link above
and select “Copy Link”