Balanceador de carga, failover e backup do Apache

2

Eu fiz uma carga balanceada com o apache e o mod_proxy. Tudo funciona bem e posso balancear a carga entre dois servidores. Agora eu gostaria de fazer mais. Primeiro eu gostaria de fazer failover (se um servidor para baixo, toda a carga vai para o outro) > Funciona apenas com isto: nofailover = On? Então, gostaria de ter um segundo balanceador de carga como backup se o primeiro estiver inativo. Eu pesquiso na internet, mas não encontrei. Você sabe se é possível fazer isso? Para finalizar, é possível alterar a configuração (como o ip do servidor) no balanceador de carga sem reiniciá-lo porque está em execução?

Obrigado pela sua resposta

    
por tranen 04.03.2011 / 04:51

1 resposta

3

Para definir um BalancerMember como um hot spare, para que ele receba somente solicitações se nenhum outro upstream estiver disponível, use status = + H:

<Proxy balancer://failovercluster>
    BalancerMember http://10.1.1.4
    BalancerMember http://10.1.1.5 status=+H
</Proxy>

(uma ressalva é que algumas versões antigas do apache tinham um bug onde + H não funcionava)

Um método comum para configurar um segundo balanceador de carga seria simplesmente configurar um segundo sistema com configuração idêntica e usar DNS round robin para permitir que os usuários acessem qualquer um que aconteça. Naturalmente, isso pode gerar atrasos para clientes se um dos balanceadores de carga cair; não é uma coisa boa.

Outra opção é usar VRRPd . Eu não vou entrar nos detalhes de implementação aqui, mas ele teria seus dois balanceadores de carga compartilhando um único endereço IP virtual, que passaria para o outro dispositivo se um deles se tornasse inacessível.

Usar "reload" ( /etc/init.d/apache2 reload ) fará uma reinicialização do serviço apache; isso evita a queda de conexões.

    
por 04.03.2011 / 05:46