Conseguindo pulsação ao fallover quando o serviço apache falha

3

No momento, tenho heartbeat bem configurado no servidor linux ubuntu, de modo que, se o serviço heartbeat não for detectado (porque o servidor está inativo ou apenas o serviço heartbeat está inativo), ele cai no servidor secundário, conforme descrito em um postagem de blog no meu site.

Portanto, começamos no estado inicial, o apache no servidor de trabalho morre no estado provisório e, em seguida, o apache no servidor secundário é iniciado no estado final. Atualmente, se o apache falhar, mas o heartbeat não ocorrer, o switch over não ocorrerá. Alguém sabe como fazer isso?

    
por Gabriel Baker 23.08.2010 / 16:25

1 resposta

2

Uma solução potencial para monitorar daemons com heartbeat 1.x que usei com sucesso na produção é ter um daemon de perl que pesquisa a lista de processos em um intervalo e, se ele não vir o nome do processo, inicia o processo. espera de pulsação. Você poderia configurar mon para duplicar essa funcionalidade.

O Heartbeat 2.x tem suporte nativo para essa funcionalidade e o ocf_heartbeat_apache agente de recursos permitirá que você monitore o processo.

Também é notável que o heartbeat esteja em modo de manutenção e que o Corosync deva ser bem-sucedido .

Sempre que possível, evito a abordagem ativa / passiva para alta disponibilidade com servidores da Web ou de aplicativos. Ele desperdiça recursos e muitas vezes é mais difícil dimensionar horizontalmente. Existem algumas situações em que isso é inevitável, mas com o Apache, isso raramente é o caso.

Seu aplicativo da Web precisaria compartilhar o estado da sessão, que geralmente é realizado armazenando-se as sessões em um banco de dados ou na memória. Nesse ponto, você pode balancear a carga de todas as conexões de entrada usando uma solução como LVS ou Nginx . Naturalmente, sua solução de proxy e balanceamento de carga precisaria ser redundante para evitar um único ponto de falha. Você poderia usar o heartbeat para isso também.

    
por 23.08.2010 / 18:25