# Proxmox Networking: Bonding & LACP für Enterprise-Redundanz
TL;DR / Management Summary In einer produktiven Umgebung ist eine einzelne Netzwerkkarte ein gefährlicher Single Point of Failure. Mit Linux Bonding bündeln wir zwei oder mehr physische Schnittstellen zu einem logischen Interface. Ein Senior Admin nutzt primär LACP (802.3ad) für die Anbindung an den Core-Switch, um bei Kabelbruch oder Port-Defekt den Betrieb unterbrechungsfrei aufrechtzuerhalten und den Gesamtdurchsatz für den VM-Traffic zu erhöhen.
# 1. Einführung & Bonding-Modi
Teamwork auf dem Mainboard.
Proxmox unterstützt alle Standard-Linux-Bonding-Modi:
- LACP (Mode 4): Dynamische Aushandlung (802.3ad). Beste Wahl für Performance und Redundanz. Erfordert Support am Switch.
- Active-Backup (Mode 1): Ein Port ist aktiv, einer wartet. Funktioniert mit jedem Billig-Switch. Keine Bandbreitensteigerung.
- Balance-RR (Mode 0): Schickt Pakete reihum. Nur für spezifische Back-to-Back Verbindungen (z.B. Storage).
# 2. Einrichtung in der Praxis
In 3 Schritten zum Bond.
# Schritt 1: Physische Karten wählen
Identifizieren Sie die Namen Ihrer NICs (z.B. eno1, eno2). Entfernen Sie alle IP-Konfigurationen von diesen Interfaces.
# Schritt 2: Bond erstellen
Node -> Network -> Create -> Linux Bond.
- Name:
bond0. - Slaves:
eno1 eno2. - Mode:
LACP (802.3ad). - Hash Policy:
layer2+3(Standard).
# Schritt 3: Bridge auf den Bond setzen
Ändern Sie die Bridge vmbr0 so, dass sie als Bridge Port nicht mehr eno1, sondern bond0 nutzt.
- Wichtig: Klicken Sie auf
Apply Configuration.
# 3. Deep Dive: Hash-Policies & Performance
Warum 1+1 nicht immer 2 ist.
LACP verteilt Traffic basierend auf einem Hash.
- Layer 2: Nutzt nur MAC-Adressen. Wenig effektiv bei nur einem Router.
- Layer 2+3 (Empfohlen): Nutzt MAC und IP. Bessere Verteilung für VM-Cluster.
- Limitierung: Eine einzelne TCP-Session (z.B. ein Download) wird immer nur über eine physische Leitung geleitet. Der Durchsatz einer Session ist also auf 1G oder 10G begrenzt.
# 4. Day-2 Operations: LACP Status prüfen
Der Wahrheit ins Auge sehen.
Nur weil die GUI “Active” sagt, muss LACP nicht funktionieren.
# Zeigt den detaillierten Status des Bonds
cat /proc/net/bonding/bond0
Achten Sie auf das Feld LACP Partner Mac Address. Wenn hier 00:00:00... steht, hat Ihr Switch das LACP-Paket nicht beantwortet!
# 5. Troubleshooting & “War Stories”
Wenn die Bündelung zum Blackout führt.
# Top 3 Fehlerbilder
-
Symptom: Host verliert nach dem Booten die Verbindung.
- Ursache: Switch-Ports sind nicht für LACP konfiguriert. Der Switch blockiert die Ports wegen “MAC Flapping”.
- Lösung: Ports am Switch in eine
Port-ChannelGruppe (Active Mode) legen.
-
Symptom: Paketverluste bei hohem Traffic.
- Ursache: Unterschiedliche Geschwindigkeiten im Bond (z.B. eine NIC hat nur 100 Mbit ausgehandelt).
- Lösung: Kabel tauschen.
-
Symptom: GUI zeigt “Bond error” an.
- Fix: Prüfen, ob
ifupdown2installiert ist (Artikel 662).
- Fix: Prüfen, ob
# “War Story”: Der “Auto-Speed” Teufel
Ein Admin bündelte eine Onboard-Intel NIC mit einer billigen Realtek-Zusatzkarte.
Das Ergebnis: Der Cluster war sporadisch instabil.
Die Ursache: Die Realtek-Karte hatte einen instabilen Treiber, der alle 10 Minuten einen “Link Flap” verursachte. Da der Bond auf LACP stand, versuchte der Switch ständig, den Port-Channel neu zu berechnen, was zu 2-sekündigen Pausen im gesamten VM-Traffic führte.
Lehre: Nutzen Sie für Bonding immer identische Netzwerkkarten (am besten vom gleichen Hersteller/Chipsatz). Mischen Sie niemals Enterprise- mit Consumer-Hardware im gleichen Bond.
# 6. Monitoring & Reporting
Link-Health.
# SNMP & If-Mib
Überwachen Sie die physischen Member-Ports des Bonds einzeln.
- Alert: Wenn ein Link im Bond Down geht, muss der Admin sofort alarmiert werden, bevor der zweite Link auch ausfällt.
# 7. Fazit & Empfehlung
Bonding ist die Grundlage für professionelles Networking.
- Empfehlung: Nutzen Sie LACP für alle Core-Verbindungen.
- Wichtig: Verwenden Sie für das Corosync-Netzwerk (Artikel 662) lieber zwei separate Bridges statt einen Bond, um Latenzen durch Hashing-Algorithmen zu vermeiden.
# Anhang: Cheatsheet (Bonding CLI)
| Aufgabe | Befehl |
|---|---|
| Bond Status | cat /proc/net/bonding/bond0 |
| Member Fehler | ethtool -S eno1 |
| ARP Check | arping -I bond0 <Gateway> |
| Kernel Logs | `dmesg |