Sie haben die Annahme gemacht:
Jeder Server erhält eine andere MAC-Adresse. Server 1 stellt beispielsweise eine Verbindung zu eth1 her, Server 2 stellt eine Verbindung zu eth2 her, und Server 3 stellt eine Verbindung zu eth3 her.
Das ist jedoch nicht richtig. Wie in der Dokumentation zum Linux-Kernel-Bonding beschrieben :
Verschiedene Peers verwenden unterschiedliche Hardwareadressen
Aber nicht jeder Peer wird eine andere Hardware - Adresse verwenden.
Der Lastausgleichsalgorithmus basiert auf einer Hashtabelle. Sie müssen mehr als drei Hosts in derselben Broadcastdomäne verwenden, um eine gleichmäßige Lastverteilung für alle Slaves zu erreichen.
Wenn eine große Anzahl von Hosts mit Ihrer Bondverbindung kommunizieren würde, beispielsweise Dutzende oder Hunderte von Hosts in derselben Broadcast-Domäne, wäre die Anzahl der Hosts für alle Bond-Slaves ziemlich gleich.
Für die Art des Lastausgleichs, nach dem Sie suchen, ist es möglicherweise besser, Modus 2 oder Modus 4 mit der xmit_hash_policy
Einstellung auf layer2+3
oder zu verwenden. Wenn dies layer3+4
jedoch nur für den Lastausgleich sorgt, muss der Switch einen ähnlichen Lastausgleich für eingehende Daten bereitstellen.
(Hinweis: layer3+4
Ist nicht mit Modus 4 kompatibel. Möglicherweise beschwert sich Ihr Switch, wenn er so konfiguriert ist. Versuchen Sie es und sehen Sie.
Wenn Sie möchten, dass Ihre drei Windows-Systeme über verschiedene Schnittstellen mit Ihrem Linux-System kommunizieren, besteht die einzige zu 100% zuverlässige Möglichkeit darin, die Schnittstellen auf Layer 2 zu trennen - jeder Ihrer eth1 / eth2 / eth3 muss sich in einem anderen Bereich befinden VLAN mit einer anderen IP-Adresse, und die Windows-Systeme kennen das Linux-System anhand dieser anderen IP-Adresse.