3 votes

Obtenir un heartbeat pour basculer lorsque le service apache échoue

J'ai actuellement une bonne configuration de heartbeat sur un serveur ubuntu linux, de sorte que si le service heartbeat n'est pas détecté (soit parce que le serveur est hors service, soit parce que le service heartbeat est hors service), il bascule sur le serveur secondaire, comme décrit dans un article de blog sur mon site.

alt text

Nous commençons donc à l'état initial, apache sur le serveur de travail meurt dans l'état intermédiaire, puis apache sur le serveur secondaire démarre dans l'état final. Actuellement, si apache tombe en panne mais que le battement de cœur ne tombe pas, le basculement ne se produit pas. Quelqu'un sait-il comment faire ?

2voto

Warner Points 23292

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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X