La haute disponibilité logicielle via Heartbeat

Si une seule machine suffit pour répondre aux demandes

Dans la plupart des cas, il suffit d'une seule machine pour répondre à toutes les demandes des clients. C'est le cas le plus facile à gérer : on place à côté une seconde machine configurée à l'identique, services arrêtés, qui surveillera la première en permanence.

Si celle-ci tombe en panne, la machine de secours devra le détecter et prendre sa place, devenant alors la nouvelle machine active.

Deux options sont envisageables lorsque la première machine est restaurée. Elle pourra soit faire à son tour office de secours, soit forcer l'autre machine à redevenir passive, et prendre sa place actuelle.

Un des algorithmes utilisés pour ce genre d'opérations est basé sur la tachycardie. Il est appelé 'heartbeat', ou battements de coeur. Le serveur actif émet régulièrement des informations sur le réseau pour dire qu'il est vivant, pendant que l'autre écoute passivement.

Envoi de données du serveur actif vers le serveur passif

Si plus aucune information n'arrive au serveur en écoute, celui-ci s'alarme :

Les données n'arrivent plus au serveur passif

Il prend alors le rôle de serveur actif et se met à son tour à émettre des battements de coeur. Si l'autre serveur est restauré, il jouera au moins dans un premier temps le rôle de serveur en écoute.

Le serveur passif devient actif

Comme vous pouvez le constater, le concept en lui-même est relativement simple. Il devient plus ardu lorsque plusieurs machines sont actives en même temps.