Ubuntu: detener/iniciar/reiniciar automáticamente los servicios dependientes

Ubuntu: detener/iniciar/reiniciar automáticamente los servicios dependientes

Tengo un pequeño grupo de 2 servidores Apache/PHP que ejecutan HAProxy, conectándose a 2 servidores en clúster MySQL. Los sitios reciben servicio desde servidores Apache y se confía en DNS RR para la conmutación por error y el equilibrio de carga básico.

Diagrama:

Apache/PHP -- HAProxy -- MySQL
                      \/
                      /\
Apache/PHP -- HAProxy -- MySQL

(¡Disculpe mi falta de habilidad artística en ASCII!)

El problema al que me enfrento es que periódicamente hay una falla en la red entre uno de los servidores Apache/PHP/HAProxy y ambos servidores MySQL.

Sin embargo, dado que Apache todavía se está ejecutando, comienza a generar errores cada vez que una solicitud depende de que MySQL esté disponible (¡como era de esperar!).

Idealmente, Apache debería detenerse si MySQL no está disponible y posiblemente reiniciarse automáticamente cuando MySQL vuelva a estar disponible.

Esto haría que las solicitudes de los clientes fueran manejadas por el otro servidor Apache sin ninguna intervención manual.

¿Alguien conoce algún paquete que pueda configurarse para hacer esto de forma inmediata?

Respuesta1

Pacemaker es un administrador de recursos de clúster que se puede configurar para imponer restricciones de ubicación y orden para sus servicios. Si alguna operación del monitor falla, el clúster podría reiniciar los servicios dependientes en el orden especificado.

Puede encontrar más información sobre el proyecto Pacemaker en el sitio web de ClusterLabs:http://clusterlabs.org/

información relacionada