Não, não é assim que funciona a ligação.
O vínculo usa protocolos como o LACP para agregar vários links de ethernet entre os mesmos dois pedaços de equipamento (2 hosts, 2 switches ou 1 switch e 1 host) e tratá-los como se fossem um único link.
Como as duas interfaces de rede em srv1
, srv2
, srv3
, srv4
e host1
estão conectadas a interfaces Ethernet diferentes , a ligação / LACP não se aplica.
Uma opção é unir as duas interfaces em cada um dos 5 hosts e fazer com que os hosts participem da rede de árvore de abrangência para garantir que não haja loops de camada 2. Infelizmente, desde que você mencionou que os switches não são gerenciados, os loops da árvore e da camada 2 podem ser perigosos em seu cenário porque você não pode configurar os parâmetros da árvore de abrangência nos switches não gerenciados ... ou talvez eles não implementem a árvore de abrangência. Além disso, o STP resolve loops na rede bloqueando completamente as portas, efetivamente levando a uma configuração ativa + em espera, que não é o que você deseja.
Outra opção é tornar as redes "superiores" e "inferiores" redes IP completamente independentes. Em outras palavras, implemente seu balanceamento de carga ou redundância na camada 3 em vez da camada 2.
-----+----------------+---------------+--------------
| | |
|10.0.1.1/24 |10.0.1.2/24 |10.0.1.3/24
+------+ +------+ +------+
| srv1 | | srv2 | | srv3 | etc...
+------+ +------+ +------+
|10.0.2.1/24 |10.0.2.2/24 |10.0.2.3/24
| | |
-----+----------------+---------------+--------------
Versão simples :
Para cada servidor, publique os endereços IP no DNS e use o balanceamento de carga baseado em DNS para permitir que um link ou outro seja selecionado.
Pro:
- simples
Con:
- conexões TCP individuais não passarão para o outro link
- longos tempos limite podem ocorrer se um dos links estiver inativo antes que o outro seja tentado
- nem todos os aplicativos entendem como tentar novamente uma conexão com um host em um endereço IP diferente
Versão melhorada :
Adicione um endereço de loopback extra em cada host que não esteja em nenhuma das sub-redes dos links individuais. Por exemplo, 10.0.3.x/32
:
- srv1: 10.0.3.1/32
- Configurar com
ip addr add 10.0.3.1/32 dev lo
- Configurar com
- srv2: 10.0.3.2/32
- srv3: 10.0.3.3/32
- etc ...
Os servidores falam um protocolo de roteamento como o OSPF entre si. Use quagga para esse fim. Cada servidor aprenderá através do OSPF como alcançar os endereços de loopback de cada um dos outros servidores através de ambos os links (ou através de apenas um link se apenas um link estiver ativo). Publique apenas os endereços de loopback no DNS.
Com uma configuração adicional cuidadosa da seleção de endereço IP de origem do kernel, você provavelmente pode organizar os endereços de loopback para serem usados como endereços de origem também, o que significa que as conexões TCP individuais irão falhar.