Une solution potentielle pour surveiller les démons avec heartbeat 1.x que j'ai utilisée avec succès en production est d'avoir un démon perl qui interroge la liste des processus à un intervalle et s'il ne voit pas le nom du processus, il initie le standby heartbeat. Vous pouvez configurer mon pour dupliquer cette fonctionnalité.
Heartbeat 2.x dispose d'un support natif pour cette fonctionnalité et la fonction ocf_heartbeat_apache L'agent de ressources vous permettra de surveiller le processus.
Il est également à noter que heartbeat est en mode maintenance uniquement et que Corosync est censé lui succéder.
Dans la mesure du possible, j'évite l'approche active/passive de la haute disponibilité avec les serveurs Web ou d'application. Cela gaspille des ressources et il est souvent plus difficile d'évoluer horizontalement. Il y a des situations où cela est inévitable, mais avec Apache, c'est rarement le cas.
Votre application Web doit partager l'état des sessions, ce qui est souvent réalisé en stockant les sessions soit dans une base de données, soit en mémoire. À ce stade, vous pouvez équilibrer la charge de toutes les connexions entrantes à l'aide d'une solution telle que la suivante LVS ou Nginx . Bien entendu, votre solution de proxy et d'équilibrage de charge devra être redondante pour éviter un point de défaillance unique. Vous pouvez également utiliser Heartbeat à cette fin.