Você assumiu:
each server will get a different MAC address. For example, Server 1 will connect to eth1, and Server 2 will connect to eth2, and Server 3 will connect to eth3.
No entanto, isso não está correto. Conforme a documentação de ligação do kernel do Linux :
different peers use different hardware addresses
Mas não todos os pares irão usar um endereço de hardware diferente.
O algoritmo de balanceamento de carga é baseado em uma tabela de hash, você precisa usar mais de três hosts no mesmo domínio de broadcast para obter balanceamento de carga igual em todos os escravos.
Se você tivesse um grande número de hosts se comunicando com seu vínculo, digamos, dezenas ou centenas de hosts no mesmo domínio de broadcast, então o número de hosts seria bastante igual em todos os escravos de ligação.
Para o tipo de balanceamento de carga que você procura, talvez seja melhor usar o Modo 2 ou o Modo 4 com xmit_hash_policy
definido como layer2+3
ou layer3+4
, mas isso só fará o balanceamento de carga de transmissão. até o comutador para fornecer um equilíbrio de carga de entrada semelhante.
(Nota: layer3+4
não é compatível com o Modo 4, o seu switch pode ou não reclamar se estiver configurado dessa forma, tente e veja)