Hier zeige ich wie man bei Proxmox Bonding (Port Trunking/Link Aggregation) einrichtet. In meinem Beispiel nehme ich das balance-rr (Round-Robin-Verfahren) Modi.
Was wird benötigt:
- ein funktionierendes Proxmox/Debian
- ein Managebarer Switch
Meine Konfiguration und Gegebenheiten:
- Name des Bonds: bond0
- Meine Netzwerkkarten (interfaces): eth0, eth1, eth2, eth3
- Modus: balance-rr
Bonding (Port Trunking) einrichten:
- Via Putty auf den Proxmox/Debian Host einloggen und von der Netzwerkkonfiguration ein Backup erstellen (falls nachher der Host nicht mehr erreichbar ist):
cp /etc/network/interfaces /root/
- In das Proxmox Webinterface einloggen und dann auf „Rechenzentrum (Datacenter)“ > proxmox (knoten) > „Netzwerk (Network)„
- nun auf „Erstellen (Create)“ > Bond > als Name „bond0“ eintragen, bei Autostart einen Haken rein machen, bei Slaves die Netzwerkkarten eintragen die gebündelt werden sollen bzw. in das Bond aufgenommen werden sollen (eth0 eth1 eth2 eth3 – ganz Wichtig OHNE Komma) und bei „Modus (Mode)“ die gewünschte Modi auswählen. Die IP-Adresse usw. freilassen! Dann unten Rechts auf „Erstellen (Create)“ klicken
- Die schon von Proxmox erstellte (bei der Installation von Proxmox) „vmbr0“ bearbeiten und statt dem „eth0“ interface, das gerade erstellte „bond0“ eintragen und danach auf „OK“
- Wenn alles funktioniert hat, sollte es in etwa wie auf folgenden Bild aussehen:
- Danach den Host neustarten und überprüfen ob das Webinterface bzw. der Host nach dem Reboot noch erreichbar ist
- Wenn nicht, dann zum Host hingehen, Bildschirm und Tastatur an klemmen, einloggen und die alte (funktionierende) Netzwerkkonfiguration zurückspielen:
rm /etc/network/interfaces mv /root/interfaces /etc/network/interfaces
Danach ein Reboot und der Host sollte wieder erreichbar sein! 😉
Bonding (Port Trunking/Link Aggregation) einrichten:
In meinem Fall habe ich ein 3com Baseline Switch 2948
In das Webinterface gehen > Port > Link Aggregation > Create > die Ports auswählen > Group ID festlegen (1), auf Manual > unten Rechts auf Apply. Danach dauert es ein paar Sekunden und Bonding (Port Trunking/Link Aggregation) ist aktiv!
Sonstiges:
So sieht meine funktionierende „/etc/network/interfaces“ aus:
# network interface settings auto lo iface lo inet loopback iface eth0 inet manual iface eth1 inet manual iface eth2 inet manual iface eth3 inet manual auto bond0 iface bond0 inet manual slaves eth0 eth1 eth2 eth3 bond_miimon 100 bond_mode balance-rr auto vmbr0 iface vmbr0 inet static address 192.168.10.180 netmask 255.255.255.0 gateway 192.168.10.1 bridge_ports bond0 bridge_stp off bridge_fd 0
Die Modi’s in der Übersicht:
Modus | Bezeichnung | Zweck | Beschreibung |
0 | balance-rr | Lastverteilung & Ausfallsicherheit | Die genutzte Netzwerkschnittstelle wird im Round-Robin-Verfahren festgelegt, das heißt die verfügbaren Schnittstellen werden in Senderichtung wechselweise genutzt. In Empfangsrichtung kann max. die Geschwindigkeit einer einzelnen Schnittstelle erreicht werden – je mehr Teilnehmer, umso mehr Upload-Gesamtbandbreite, denn diese werden auf die übrigen freien Schnittstellen aufgeteilt. |
1 | active-backup | Ausfallsicherheit | Nur eine Schnittstelle ist aktiv, im Fehlerfalle wird eine der anderen im Verbund genutzt. die Netzwerkkarten können über verschiedene Switches angebunden werden. |
2 | balance-xor | Lastverteilung & Ausfallsicherheit | Es wird für jede Gegenstelle im Netzwerk eine zu nutzende Netzwerkschnittstelle zugewiesen, die Zuordnung geschieht über den Modulo der Division zwischen der Formel (Quell-MAC-Adresse XOR Ziel-MAC-Adresse) und der Anzahl der Slave-Schnittstellen. |
3 | broadcast | Ausfallsicherheit | Daten werden auf allen Netzwerkschnittstellen gesendet. Die Nutzung mehrerer Switches ist möglich. |
4 | 802.3ad | Lastverteilung & Ausfallsicherheit | 802.3ad ist ein Standard der IEEE, der die Bündelung mehrerer Schnittstellen mit gleichen Übertragungseinstellungen (Geschwindigkeit und Duplex-Einstellungen) erlaubt, um eine höhere Bandbreite zu erhalten. Es kann nur ein Switch verwendet werden, dieser muss 802.3ad unterstützen. ethtool oder mii-tool wird benötigt. |
5 | balance-tlb | Lastverteilung | Es wird für jede Gegenstelle im Netzwerk eine zu nutzende Netzwerkschnittstelle zugewiesen. Das Verfahren hierzu ist jedoch komplexer und effizienter als bei balance-xor . Das Programm ethtool wird benötigt. |
6 | balance-alb | Lastverteilung | Erweitertes balance-tlb , zusätzlich zur MAC-basierten Zuordnung der Schnittstellen für ausgehende Verbindungen werden eingehende Verbindungen auf die Schnittstellen verteilt. Das Programm ethtool wird benötigt. |
Quelle: http://wiki.ubuntuusers.de/Netzwerkkarten_b%C3%BCndeln
Super geschrieben. Funktioniert auch noch in 2020 😉
Vielen Dank! Nach unzähligen Versuchen mit manueller Konfiguration oder dem NetworkManager war dies einfach und vor allem erfolgreich nutzbar.