Ubuntu: Parar/iniciar/reiniciar automaticamente serviços dependentes

Ubuntu: Parar/iniciar/reiniciar automaticamente serviços dependentes

Eu tenho um pequeno cluster de 2 servidores Apache/PHP executando HAProxy, conectando-se a 2 servidores em cluster MySQL. Os sites são servidos por servidores Apache e o DNS RR é utilizado para failover e balanceamento de carga bruto.

Diagrama:

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

(desculpe minha falta de habilidade em arte ASCII!)

O problema que estou enfrentando é que periodicamente ocorre uma falha na rede entre um dos servidores Apache/PHP/HAProxy e ambos os servidores MySQL.

Como o Apache ainda está em execução, entretanto, ele começa a servir erros sempre que uma solicitação depende da disponibilidade do MySQL (como seria de esperar!).

Idealmente, o Apache deve ser interrompido se o MySQL estiver indisponível e possivelmente reiniciado automaticamente quando o MySQL estiver disponível novamente.

Isso faria com que as solicitações do cliente fossem tratadas pelo outro servidor Apache sem qualquer intervenção manual.

Alguém conhece um pacote que possa ser configurado para fazer isso imediatamente?

Responder1

Pacemaker é um gerenciador de recursos de cluster que pode ser configurado para impor restrições de localização e ordem para seus serviços. Se alguma operação de monitor falhar, o cluster poderá reiniciar os serviços dependentes na ordem especificada.

Você pode encontrar mais informações sobre o projeto Pacemaker no site do ClusterLabs:http://clusterlabs.org/

informação relacionada