failover haproxy com monitoramento de processo?

1

Eu sei que algumas pessoas estão usando keepalived e heartbeat para ativo / standby, mas que ação é tomada se o processo haproxy morrer?

O que seria bom se o IP virtual trocasse de servidor se o processo haproxy morresse e / ou se ocorresse um problema de rede. No momento, estamos investigando pulsação e corosync com marcapasso. Alguém pode explicar sua solução para essa questão em profundidade?

UPDATE : Obrigado Kyle, veja a resposta e os links nele.

    
por CarpeNoctem 21.10.2011 / 22:50

2 respostas

0

Obrigado Kvisle e Kyle! Acabamos indo com keepalived desde que, como Kyle mencionou, é a solução recomendada haproxy criadores. O Keepalived inclui a capacidade de executar um script de espaço do usuário de sua escolha e determinar a disponibilidade de recursos com base no status de saída. Assim, você pode realizar facilmente o failover com o monitoramento de processos. Outro benefício é a simplicidade comparada ao heartbeat com o pacemaker / corosync, apenas um aplicativo / processo e um arquivo de configuração.

Em nossos testes, vimos o failover acontecer tão rápido a ponto de não soltar um único ping. Obrigado novamente!

link

Ótimo artigo sobre keepalived e VRRP

Veja também: resposta do serverfault relacionado

    
por 26.10.2011 / 02:45
4

Eu diria que heartbeat é o que você está procurando.

Se o serviço monitorado ( haproxy no seu caso) tiver um script de inicialização compatível com lsb - a pulsação será executada initscript status . Se disser que o serviço está inativo, ele tentará iniciá-lo. Se falhar em iniciar algumas vezes - ele executará um failover no outro nó. Desde que os nós tenham uma maneira de se comunicar, isso será feito de uma maneira muito controlada - os endereços são removidos em um nó e trazidos para o outro.

Se duas máquinas de pulsação perdem a comunicação entre si, elas podem tentar executar o failover. Uma maneira de resolver isso é configurando um plugin STONITH (Atire no Outro Nó na Cabeça). Isso usará uma interface de gerenciamento e tentará desativar o outro serviço antes de iniciar seus serviços. Algum mecanismo como esse é crucial se você envolver o armazenamento compartilhado no failover.

Pessoalmente, nunca experimentei haproxy die - considero-o um serviço muito estável. Eu uso heartbeat para failover de endereços IP somente se estiver executando nos nós haproxy.

    
por 21.10.2011 / 22:57