No Linux, você pode combinar várias interfaces de rede em uma interface de rede "ligada" para fornecer failover.
Mas existem vários modos, alguns dos quais não precisam de suporte de switch. Não estou restrito ao meu switch, pois posso usar qualquer um dos modos.
No entanto, ao ler sobre os diferentes modos, não está claro imediatamente quais são os prós e os contras de cada um.
- Alguns modos fornecem um failover mais rápido?
- E o impacto da carga da CPU para cada modo?
- Quais modos podem combinar a largura de banda em vez de apenas fornecer redundância?
- Existem limitações para isso?
- O balance-rr requer suporte para switch?
- Confiabilidade? Quais são suas experiências em longo prazo?
Respostas:
O principal fator do failover é a velocidade com que uma falha no link é detectada. Desconecte o cabo do host e todos eles funcionarão muito bem. Deixe um link ao vivo em um switch inoperante e a maioria dos modos (exceto os que suportam beacons / keepalives) enviarão parte do seu tráfego a lugar nenhum.
De um modo geral, o tráfego de rede é acionado por interrupção. Os vários algoritmos de hash não farão uma diferença significativa.
Qualquer modo que não esteja ativo / em espera ou transmitido todos compartilhará o tráfego em vários graus. Alguns modos podem se equilibrar por pacote, enquanto outros funcionam por fluxo. O primeiro distribuirá a carga de maneira mais uniforme, enquanto o último é muito mais útil (leia-se: funcional / estável) nas redes reais.
Sim - existem limitações para cada modo, mas precisamos saber muito mais sobre sua aplicação para falar com eles.
Somente o LACP / 802.3ad (modo 4) requer explicitamente suporte no comutador. Dito isso, apenas porque você envia para o switch com um padrão específico não significa que o switch enviará de volta para você da mesma maneira.
O único modo em que confio na produção é o 802.3ad que, com um comutador configurado adequadamente, garantirá que apenas os links corretos acabem no canal, além de fornecer alguma medida de simetria no compartilhamento de tráfego e uma resposta previsível quando um o link está inoperante. Este modo também evita alguns problemas comuns, mas desagradáveis (ou seja, inundação unicast). Ativo / em espera também é bastante comum. Os outros modos podem ser necessários para determinadas circunstâncias, mas, na IMO, tendem a ser mais dolorosos.
Outros modos de balanceamento baseados em fluxo / MAC / IP ou ativo / em espera também podem ser bons e podem ser necessários ao lidar com comutadores não gerenciados.
fonte
A maioria desses pontos é descrita detalhadamente no
/usr/src/linux/Documentation/networking/bonding.txt
arquivo de documentação do pacote fonte do Linux da sua distribuição favorita. A velocidade do failover é controlada pelo parâmetro "miimon" na maioria dos modos, mas não deve ser definida como muito baixa; valores normais estão abaixo de um segundo de qualquer maneira.Aqui estão as melhores partes, concluídas por mim:
balance-rr, backup ativo, balance-tlb e balance-alb não precisam de suporte de switch.
O balance-rr aumenta o desempenho ao preço da fragmentação, apresenta um desempenho ruim com alguns protocolos (CIFS) e com mais de 2 interfaces.
balance-alb e balance-tlb podem não funcionar corretamente com todas as opções; geralmente há alguns problemas de arp (algumas máquinas podem falhar na conexão entre si, por exemplo). Pode ser necessário ajustar várias configurações (miimon, updelay) para obter uma rede estável.
O balance-xor pode ou não exigir a configuração do switch. Você precisa configurar um grupo de interface ( não o LACP) nos comutadores HP e Cisco, mas aparentemente não é necessário nos comutadores D-Link, Netgear e Fujitsu.
O 802.3ad exige absolutamente um grupo LACP no lado do comutador. É a melhor opção com suporte geral para aumentar o desempenho.
Nota: faça o que fizer, uma conexão de rede sempre passará por um e apenas um link físico. Portanto, ao agregar interfaces GigE, a transferência de arquivos da máquina A para a máquina B não pode superar 1 gigabit / s, mesmo que cada máquina tenha 4 interfaces GigE agregadas (qualquer que seja o modo de ligação em uso).
fonte
Os documentos do kernel respondem a algumas dessas perguntas:
Ligação Ethernet
fonte