Eu tenho um cluster de 2 nós no RHEL 6.9. Tudo está configurado, exceto que estou tendo dificuldades com um aplicativo iniciado por meio de shell script criado em um serviço (em /etc/init.d/myApplication
), que eu apenas chamarei de "myApp" . A partir desse aplicativo, eu fiz um pcs resource create myApp lsb:myApp op monitor interval=30s op start on-fail=standby
. Eu sou novo em usar este conjunto de software, mas é para o trabalho. O que eu preciso é que este aplicativo seja lançado em ambos os nós simultaneamente, já que ele precisa ser iniciado manualmente. Portanto, se o primeiro nó falhar, ele precisará de intervenção se já não estiver ativo no nó passivo.
Eu tenho dois outros serviços:
- VirtIP (ocf:heartbeat:IPaddr2)
para fornecer um IP de serviço para o servidor de aplicativos
- Cron (lsb:crond)
para sincronizar os arquivos do aplicativo (não estamos usando armazenamento compartilhado)
Eu tenho o VirtIP e o Cron como dependentes via colocation para myApp.
Eu tentei mestre / escravo, bem como clonagem, mas devo estar faltando alguma coisa sobre sua configuração. Se eu colocar o aplicativo offline, o marcapasso não detecta que o serviço ficou inativo e pcs status
indica que o myApp ainda está em execução no nó (ou nós, dependendo da minha configuração). Às vezes, também estou recebendo o problema de que o serviço que está executando o aplicativo está parado pelo marca-passo no nó passivo.
Qual é a maneira que eu preciso para configurar isso? Eu passei pela documentação do RHEL, mas ainda estou presa. Como obtenho o pacemaker para iniciar o failover se o serviço myApp ficar inativo? Eu não sei porque não está detectando que o serviço parou em alguns casos.
EDIT: Então, para fins de teste, eu removi o requisito de senha para iniciar / reiniciar e o serviço é iniciado / reiniciado bem como esperado e os recursos dependentes de colocation param / iniciam conforme o esperado. Mas parar o serviço myApp não reflete como um recurso parado, mas simplesmente permanece no node1 Iniciado. Da mesma forma, a simulação de um failover, colocando o node1 no modo de espera, simplesmente interrompe todos os recursos no node1.