The Geek Diary

Network Interface Bonding wird unter vielen Namen genannt: Port Trunking, Channel Bonding, Link Aggregation, NIC Teaming und andere. Es kombiniert oder aggregiert mehrere Netzwerkverbindungen zu einer einkanaligen Bonding-Schnittstelle. Dadurch können zwei oder mehr Netzwerkschnittstellen als eine fungieren, um den Durchsatz zu erhöhen und Redundanz oder Failover bereitzustellen.

Der Linux-Kernel enthält den Bonding-Treiber zum Aggregieren mehrerer physischer Netzwerkschnittstellen zu einer einzigen logischen Schnittstelle (z. B. Aggregieren von eth0 und eth1 zu bond0). Für jede gebundene Schnittstelle können Sie den Modus und die Verbindungsüberwachungsoptionen definieren. Es gibt sieben verschiedene Modusoptionen, die jeweils spezifische Lastausgleichs- und Fehlertoleranzeigenschaften bieten.

Netzwerk-Bonding-Modi

Die folgenden Bonding-Richtlinienmodi sind verfügbar:

  • Round-Robin: Dies ist der Standardmodus. Netzwerkübertragungen erfolgen in sequentieller Reihenfolge, beginnend mit dem ersten verfügbaren Slave. Dieser Modus bietet Lastausgleich und Fehlertoleranz.
  • Aktives Backup: Nur ein Slave im Bond ist aktiv. Eine andere Slave-Schnittstelle wird aktiv, wenn die aktive Slave-Schnittstelle ausfällt. Die MAC-Adresse des Geräts ist nur auf einem Netzwerkadapter extern sichtbar, um Verwechslungen mit einem Netzwerk-Switch zu vermeiden. Dieser Modus bietet Fehlertoleranz.
  • XOR (exclusive-or): Netzwerkübertragungen basieren auf einer Sende-Hash-Richtlinie. Die Standardrichtlinie leitet den Hash mithilfe von MAC-Adressen ab. In diesem Modus werden Netzwerkübertragungen, die für bestimmte Peers bestimmt sind, immer über dieselbe Slave-Schnittstelle gesendet. Dieser Modus eignet sich am besten für Datenverkehr zu Peers auf derselben Verbindung oder demselben lokalen Netzwerk. Dieser Modus bietet Lastausgleich und Fehlertoleranz.
  • Broadcast: Alle Netzwerkübertragungen werden auf allen Slave-Schnittstellen gesendet. Dieser Modus bietet Fehlertoleranz.
  • 802.3ad: Verwendet eine IEEE 802.3ad Dynamic Link Aggregation-Richtlinie. Aggregationsgruppen verwenden dieselben Geschwindigkeits- und Duplexeinstellungen. Dieser Modus sendet und empfängt Netzwerkverkehr auf allen Slaves im aktiven Aggregator. Dieser Modus erfordert einen 802.3ad-kompatiblen Netzwerk-Switch.
  • Adaptive Transmit Load Balancing (TLB): Ausgehender Netzwerkverkehr wird entsprechend der aktuellen Last auf jede Slave-Schnittstelle verteilt. Eingehender Datenverkehr wird vom aktuellen Slave empfangen. Wenn der empfangende Slave ausfällt, übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen Slaves. Dieser Modus erfordert keine spezielle Schalterunterstützung.
  • Adaptive Load Balancing (ALB): Dieser Modus umfasst den Sendelastausgleich (tlb) und den Empfangslastausgleich (rlb) für IPv4-Datenverkehr und erfordert keine spezielle Switch-Unterstützung. Der Lastausgleich wird durch ARP-Aushandlung erreicht.
  • Siehe /usr/share/doc/iputils-*/README.Bonding-Datei für vollständige Beschreibungen der verfügbaren Bonding-Richtlinienmodi. Die folgende Tabelle enthält eine Zusammenfassung und einen Vergleich der Netzwerkverbindungsmodi.

    Modus Richtlinie Funktionsweise Fehlertoleranz Lastausgleich
    0 Round Robin Pakete werden nacheinander nacheinander über jede Schnittstelle übertragen / empfangen. Nein Ja
    1 Aktive Sicherung eine NIC ist aktiv, während eine andere NIC schläft. Wenn die aktive NIC ausfällt, wird eine andere NIC aktiv. nur in x86-Umgebungen unterstützt. Ja Nein
    2 XOR In diesem Modus wird die MAC-Adresse der Slave-NIC mit der MAC-Adresse der eingehenden Anforderung abgeglichen, und sobald diese Verbindung hergestellt ist, wird dieselbe NIC zum Senden / Empfangen für die Ziel-MAC verwendet. Ja Ja
    3 Broadcast Alle Übertragungen werden auf alle Slaves gesendet Ja Nein
    4 Dynamic Link Aggregation aggregierte NICs fungieren als eine NIC, was zu einem höheren Durchsatz führt, aber auch Failover bietet, falls eine NIC ausfällt. Dynamic Link Aggregation erfordert einen Switch, der IEEE 802.3ad unterstützt. Ja Ja
    5 Transmit Load Balancing (TLB) Der ausgehende Datenverkehr wird abhängig von der aktuellen Last auf jede Slave-Schnittstelle verteilt. Eingehender Datenverkehr wird vom aktuellen Slave empfangen. Wenn der empfangende Slave ausfällt, übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen Slaves. Ja Ja
    6 Adaptive Load Balancing (ALB) Im Gegensatz zur Dynamic Link Aggregation erfordert Adaptive Load Balancing keine spezielle Switch-Konfiguration. Adaptive Load Balancing wird nur in x86-Umgebungen unterstützt. Die empfangenden Pakete werden durch ARP-Aushandlung lastausgeglichen. Ja Ja

    Netzwerk Bonding Link Überwachung

    Die bindung fahrer unterstützt zwei methoden zu monitor eine slave der link zustand:

    MII (Media Unabhängige Interface) Monitor

    Diese ist die standard link überwachung option. Diese Methode überwacht nur den Trägerstatus der lokalen Netzwerkschnittstelle. Es stützt sich auf den Gerätetreiber für Trägerzustandsinformationen oder fragt die MII-Register direkt ab oder verwendet ethtool, um zu versuchen, den Trägerzustand zu erhalten. Sie können die folgenden Informationen für die MII-Überwachung angeben:

    • Überwachungsfrequenz: Die Zeit in Millisekunden zwischen der Abfrage des Trägerzustands
    • Link-up-Verzögerung: Die Zeit in Millisekunden, die gewartet werden muss, bevor eine Verbindung verwendet wird, die hoch ist
    • Link-Down-Verzögerung: Die Wartezeit in Millisekunden, bevor zu einem anderen Link gewechselt wird, wenn der aktive Link als down

    ARP Monitor

    gemeldet wirdDiese Methode der Linküberwachung sendet APR-Abfragen an Peer-Systeme im Netzwerk und verwendet die Antwort als Hinweis darauf, dass der Link aktiv ist. Der ARP-Monitor ist auf den Gerätetreiber angewiesen, um die letzte Empfangszeit und die Sendestartzeit auf dem neuesten Stand zu halten. Wenn der Gerätetreiber diese Zeiten nicht aktualisiert, schlägt der ARP-Monitor alle Slaves fehl, die diesen Gerätetreiber verwenden. Sie können die folgenden Informationen für die APR-Überwachung angeben:

    • Überwachungshäufigkeit: Die Zeit in Millisekunden, in der ARP-Abfragen gesendet werden
    • ARP-Ziele: Eine durch Kommas getrennte Liste von IP-Adressen, an die ARP-Abfragen gesendet werden