Recomendações para um balanceador de carga empacotado e não VRRP?

Recomendações para um balanceador de carga empacotado e não VRRP?

Estou tentando iniciar o balanceamento de carga em umServidor em nuvem ElasticHosts, e seu sistema não permite o usuário de VRRP.

Alguém conhece algum balanceador de carga não VRRP pré-empacotado para Debian/Ubuntu padrão?

Eu tentei o não-VRRPUltraMonkey, mas o software parece estar ficando velho e não está mais bem empacotado - o último lançamento foi para o Debian Sarge.

Conselho recebido com gratidão.

Responder1

UltraMonkey é essencialmente apenas um projeto abrangente para vários componentes que são úteis ao construir um balanceador de carga em uma máquina Linux. Os componentes são:

  • ipvs. Presente na grande maioria dos kernels padrão das distros (2.6 e posteriores), compilado como um módulo. Execute modinfo ip_vspara ver se está presente em seu kernel. Ainda em desenvolvimento atual; e teve suporte para ipv6 adicionado recentemente. O código deve estar de acordo com os padrões do kernel e produzir um desempenho extremamente bom. Verhttp://www.linuxvirtualserver.org/software/ipvs.htmlpara mais informações.
  • ipvsadm. Uma ferramenta de linha de comando usada para administrar IPVS, permitindo adicionar e remover servidores back-end de um grupo virtual, definir pesos de servidor, escolher o algoritmo de agendamento (por exemplo, round robin, conexão mínima ponderada) e muito mais. Não posso falar pelo Debian, mas o ipvsadm v1.2.5-1 está presente nos repositórios padrão do Ubuntu, e há um v1.26 disponível que foi lançado em fevereiro de 2011. Portanto, é provável que você possa executar um: sudo apt-get install ipvsadm e depois um man ipvsadmno seu sistema para fornecer todos os detalhes.
  • ldirectord. Este é um daemon de verificação de integridade escrito em Perl, que também serve como uma interface conveniente para o ipvsadm. Ele permite que você mantenha um arquivo de configuração de sua configuração de ipvs, em vez de ter que criar scripts de vários comandos ipvsadm você mesmo. Muitos tipos diferentes de verificação de integridade podem ser realizados nos servidores back-end. Novamente, o ldirectord pode ser instalado (pelo menos no Ubuntu) através dos repositórios padrão e ainda está em desenvolvimento atual (alterações no IPv6 feitas em junho de 2011).
  • Linux-HA. Para complicar ainda mais as coisas, este também é um projeto combinado que na verdade inclui o ldirectord. Embora conforme mencionado acima, você pode instalar o ldirectord por conta própria por meio dos repositórios. Até onde eu sei, a principal adição que o Linux-HA fornece é o Heartbeat, que permite agrupar 2 (ou mais) balanceadores de carga que (como você poderia esperar) enviam pulsações entre si para que eles estejam cientes uns dos outros. status e failover quando necessário. É aqui que entra a diferença para o VRRP. Você tenderia a ter seus IPs virtuais ativos (ou seja, "ativos") em apenas um balanceador de carga, para que apenas uma máquina respondesse às solicitações ARP para o VIP. Portanto, os balanceadores de carga estariam no estado Ativo/Passivo e, se o nó Escravo detectar que o Mestre falhou, ele "abrirá" os IPs virtuais. Se os IPs virtuais estiverem ativos em ambos os nós, você terá um problema, comumente conhecido como "cérebro dividido". Mais informações sobre batimentos cardíacos:http://www.linux-ha.org/wiki/Heartbeat.

Imagino que a falta de manutenção do projeto UltraMonkey se deva ao fato de que cada componente individual está agora amplamente disponível (em formato binário) em distros populares, o que não seria o caso há mais de 5 anos.

Observe que o uso desses componentes da maneira descrita acima pode ser diferente do seu plano original, pois o balanceador de carga é uma máquina dedicada; você não instala tudo isso em seus servidores de aplicativos. Em vez disso, a caixa ipvs ficaria na frente de seus servidores back-end e "direcionaria" o tráfego para eles de acordo com seus algoritmos de agendamento e outros parâmetros de configuração (pesos, etc.).

A menos que você tenha uma necessidade específica de balanceamento de carga na camada 4 (geralmente por motivos de desempenho), você também pode dar uma olhada no HAProxy, que é um proxy da camada 7 com ampla funcionalidade de balanceamento de carga. Existem muitas perguntas HAProxy bem respondidas no ServerFault. Além disso, com relação a heartbeats/failover e gerenciamento de seus IPs virtuais, você pode querer considerar keepalived como uma alternativa ao Heartbeat do Linux-HA.

http://haproxy.1wt.eu/

http://www.keepalived.org/

informação relacionada