Aller au contenu

Haute disponibilité (HA)

La haute disponibilité (HA) est l’objectif de concevoir un système pour qu’aucun point unique de défaillance (SPOF — Single Point of Failure) ne puisse interrompre le service : chaque composant critique existe en double (au moins), avec un mécanisme automatique pour continuer à fonctionner si l’un tombe.

La disponibilité se mesure en pourcentage de temps de fonctionnement sur une période, souvent exprimée en “neufs” :

Disponibilité Temps d’indisponibilité par an
99% (“deux neufs”) ~3,65 jours
99,9% (“trois neufs”) ~8,76 heures
99,99% (“quatre neufs”) ~52,6 minutes
99,999% (“cinq neufs”) ~5,26 minutes

Chaque neuf supplémentaire coûte significativement plus cher à atteindre — viser 99,999% pour un système qui n’en a pas réellement besoin est souvent un choix d’architecture disproportionné par rapport au risque métier réel.

  • Actif/passif : une instance traite le trafic, une seconde reste en réserve, prête à prendre le relais (failover) si la première tombe. Plus simple à mettre en œuvre, mais la capacité de la seconde instance n’est pas exploitée en fonctionnement normal.
  • Actif/actif : plusieurs instances traitent le trafic simultanément, avec répartition de charge entre elles — meilleure utilisation des ressources, mais plus complexe (il faut gérer la cohérence des données ou des sessions entre les instances actives).

Détecter la panne et basculer : le rôle des heartbeats

Section intitulée « Détecter la panne et basculer : le rôle des heartbeats »

Le mécanisme central de toute solution HA est le heartbeat : les nœuds s’envoient régulièrement un signal de vie ; l’absence de réponse au-delà d’un délai déclenche le basculement. Des protocoles dédiés existent pour ce rôle au niveau réseau :

  • VRRP (Virtual Router Redundancy Protocol) et son équivalent propriétaire Cisco HSRP : plusieurs routeurs/pare-feux partagent une adresse IP virtuelle unique ; celui qui est actif répond au trafic, les autres surveillent sa disponibilité et prennent le relais automatiquement en cas de panne — transparent pour les postes clients, qui ne connaissent que l’IP virtuelle.
  • Keepalived (Linux) implémente VRRP pour créer une IP virtuelle flottante entre plusieurs serveurs Linux.

Si le mécanisme de détection de panne se trompe — par exemple si les deux nœuds perdent leur lien de communication mutuel mais restent chacun joignables par les clients — les deux peuvent se croire actifs simultanément (split-brain), avec un risque de corruption de données si les deux traitent des écritures en parallèle sans coordination. C’est pourquoi les solutions HA sérieuses (voir Clustering) intègrent un mécanisme de quorum pour trancher sans ambiguïté qui a le droit d’être actif.