Como faço o balanceamento de carga entre duas máquinas Linux?

1

Inspirado pela rede Stack Overflow, agora estou obcecado com o HAProxy e tentando usá-lo sozinho.

No momento, cada caixa HAProxy tem duas placas de rede (bem, duas configuradas, posso ter no máximo 4 e não tinha certeza se elas precisavam delas para gerenciamento entre as caixas).

Em ambas as máquinas, a de back-end (eth1) é um IP privado que vai para um switch conectado aos servidores web, e a frente de um (eth0) tem um IP de internet pública que é roteado direto.

Além disso, criei um ip virtual adicional para o eth0 chamado eth0:0 , que tem um terceiro endereço IP público.

Acabei de saber como usá-lo para balanceamento de carga entre vários servidores da Web que estão por trás dele, mas não estou conseguindo carregar o equilíbrio entre as duas caixas HAProxy - elas parecem lutar pelo IP virtual, mas isso não parece ser uma solução inteligente.

Agora, usando o endereço IP compartilhado virtual, esta solução parece funcionar e parece me dar o máximo de tempo de atividade, mas, esta é a maneira correta de fazer isso, ou existe uma maneira mais inteligente?

Eu tenho procurado em outros pacotes Linux, como keepalived, mas, eu tenho usado apenas Linux (servidor) por uma semana e estou no limite do meu entendimento.

Existe alguém que tenha feito isso antes e você pode aconselhar qualquer coisa para o máximo de tempo de atividade?

    
por William Hilsum 27.11.2011 / 16:37

1 resposta

1

Se você quiser balancear a carga do tráfego entre duas haproxies diferentes, precisará ter outro balanceador de carga na frente deles e isso não será útil.

Se você quer maior disponibilidade, você já a usou usando duas haproxies e o VIP atribuído a uma delas por keepalived ou heartbeat. Geralmente, esta é a solução para problemas de HA e de balanceamento de carga.

Eu posso pensar em uma maneira de usar duas haproxies ao mesmo tempo. Você pode configurar o keepalived para atribuir um VIP a cada servidor haproxy. O balanceamento de carga pode ser feito pelo DNS. O nome DNS deve resolver para os dois VIPs. Quando um haproxy falhar, o outro nó irá segurar os dois VIPs e receber todo o tráfego.

    
por 27.11.2011 / 16:53