Website-Suche

So richten Sie Netzwerk-Bonding oder Teaming in RHEL/CentOS 7 ein und konfigurieren es – Teil 11


Wenn ein Systemadministrator die verfügbare Bandbreite erhöhen und Redundanz und Lastausgleich für Datenübertragungen bereitstellen möchte, ermöglicht eine Kernelfunktion namens Netzwerk-Bonding eine kostengünstige Erledigung dieser Aufgabe.

Lesen Sie mehr darüber, wie Sie die Bandbreitendrosselung unter Linux erhöhen können

Vereinfacht ausgedrückt bedeutet Bonding, zwei oder mehr physische Netzwerkschnittstellen (Slaves genannt) zu einer einzigen logischen Schnittstelle (Master genannt) zusammenzufassen. Wenn bei einer bestimmten NIC (Netzwerkschnittstellenkarte) ein Problem auftritt, wird die Kommunikation nicht wesentlich beeinträchtigt, solange die anderen aktiv bleiben.

Lesen Sie hier mehr über Netzwerk-Bonding in Linux-Systemen:

  1. Netzwerk-Teaming oder NiC Bondin in RHEL/CentOS 6/5
  2. Netzwerk-NIC-Bonding oder Teaming auf Debian-basierten Systemen
  3. So konfigurieren Sie Netzwerk-Bonding oder Teaming in Ubuntu

Aktivieren und Konfigurieren von Netzwerk-Bonding oder Teaming

Standardmäßig ist das Bonding-Kernel-Modul nicht aktiviert. Daher müssen wir es laden und sicherstellen, dass es über mehrere Starts hinweg persistent ist. Bei Verwendung mit der Option --first-time benachrichtigt uns modprobe, wenn das Laden des Moduls fehlschlägt:

modprobe --first-time bonding

Der obige Befehl lädt das Bonding-Modul für die aktuelle Sitzung. Um die Persistenz sicherzustellen, erstellen Sie eine .conf-Datei in /etc/modules-load.d mit einem aussagekräftigen Namen, z. B. /etc/modules-load .d/bonding.conf:

echo "# Load the bonding kernel module at boot" > /etc/modules-load.d/bonding.conf
echo "bonding" >> /etc/modules-load.d/bonding.conf

Starten Sie nun Ihren Server neu und stellen Sie nach dem Neustart sicher, dass das Bonding-Modul automatisch geladen wird, wie in Abb. 1:

In diesem Artikel verwenden wir drei Schnittstellen (enp0s3, enp0s8 und enp0s9), um eine Bindung zu erstellen, die praktischerweise bond0 genannt wird. .

Um bond0 zu erstellen, können wir entweder nmtui verwenden, die Textschnittstelle zur Steuerung von NetworkManager. Beim Aufruf ohne Argumente über die Befehlszeile ruft nmtui eine Textoberfläche auf, mit der Sie eine bestehende Verbindung bearbeiten, eine Verbindung aktivieren oder den System-Hostnamen festlegen können.

Wählen Sie Verbindung bearbeiten –> Hinzufügen –> Verbindung, wie in Abb. 2:

Fügen Sie im Bildschirm Verbindung bearbeiten die Slave-Schnittstellen hinzu (in unserem Fall enp0s3, enp0s8 und enp0s9) und Geben Sie ihnen einen beschreibenden (Profil-)Namen (z. B. NIC #1, NIC #2 bzw. NIC #3).

Darüber hinaus müssen Sie einen Namen und ein Gerät für die Bindung (TecmintBond bzw. bond0 in Abb. 3) und eine IP-Adresse für bond0 festlegen , geben Sie eine Gateway-Adresse und die IPs der DNS-Server ein.

Beachten Sie, dass Sie nicht die MAC-Adresse jeder Schnittstelle eingeben müssen, da nmtui dies für Sie erledigt. Alle anderen Einstellungen können Sie als Standard belassen. Weitere Einzelheiten finden Sie in Abb. 3.

Wenn Sie fertig sind, gehen Sie zum unteren Bildschirmrand und wählen Sie OK (siehe Abb. 4):

Und du bist fertig. Jetzt können Sie die Textschnittstelle verlassen und zur Befehlszeile zurückkehren, wo Sie die neu erstellte Schnittstelle mit dem Befehl ip aktivieren:

ip link set dev bond0 up

Danach können Sie sehen, dass bond0 UP ist und 192.168.0.200 zugewiesen ist, wie in Abb. 5 dargestellt:

ip addr show bond0

Testen von Netzwerk-Bonding oder Teaming unter Linux

Um zu überprüfen, ob bond0 tatsächlich funktioniert, können Sie entweder seine IP-Adresse von einem anderen Computer aus anpingen oder, was noch besser ist, die Kernel-Schnittstellentabelle in Echtzeit beobachten (naja, die Aktualisierungszeit in Sekunden wird durch angegeben). -n-Option), um zu sehen, wie der Netzwerkverkehr zwischen den drei Netzwerkschnittstellen verteilt wird, wie in Abb. 6 dargestellt.

Die Option -d wird verwendet, um auftretende Änderungen hervorzuheben:

watch -d -n1 netstat -i

Es ist wichtig zu beachten, dass es mehrere Bindungsarten gibt, von denen jede ihre besonderen Merkmale aufweist. Sie sind in Abschnitt 4.5 des Red Hat Enterprise Linux 7 Network Administration Guide dokumentiert. Abhängig von Ihren Bedürfnissen werden Sie sich für das eine oder das andere entscheiden.

In unserem aktuellen Setup haben wir den Round-Robin-Modus gewählt (siehe Abb. 3), der sicherstellt, dass Pakete beginnend mit dem ersten Slave in sequentieller Reihenfolge, endend mit dem letzten Slave und beginnend mit dem übertragen werden Erstmal wieder.

Die Round-Robin-Alternative wird auch Modus 0 genannt und bietet Lastausgleich und Fehlertoleranz. Um den Bonding-Modus zu ändern, können Sie nmtui wie zuvor erläutert verwenden (siehe auch Abb. 7):

Wenn wir es in Aktives Backup ändern, werden wir aufgefordert, einen Slave auszuwählen, der zu einem bestimmten Zeitpunkt die einzige aktive Schnittstelle ist. Fällt eine solche Karte aus, tritt einer der verbleibenden Slaves an ihre Stelle und wird aktiv.

Wählen wir enp0s3 als primären Slave, bringen wir bond0 herunter und wieder hoch, starten das Netzwerk neu und zeigen die Kernel-Schnittstellentabelle an (siehe Abb. 8).

Beachten Sie, dass Datenübertragungen (TX-OK und RX-OK) jetzt nur noch über enp0s3 erfolgen:

ip link set dev bond0 down
ip link set dev bond0 up
systemctl restart network

Alternativ können Sie die Bindung so betrachten, wie der Kernel sie sieht (siehe Abb. 9):

cat /proc/net/bonding/bond0

Zusammenfassung

In diesem Kapitel haben wir besprochen, wie man Bonding in Red Hat Enterprise Linux 7 einrichtet und konfiguriert (funktioniert auch auf CentOS 7 und Fedora 22+). ), um die Bandbreite sowie den Lastausgleich und die Redundanz für Datenübertragungen zu erhöhen.

Wenn Sie sich die Zeit nehmen, andere Bindungsarten zu erkunden, werden Sie die Konzepte und Praktiken im Zusammenhang mit diesem Zertifizierungsthema beherrschen.

Wenn Sie Fragen zu diesem Artikel haben oder Vorschläge haben, die Sie mit dem Rest der Community teilen möchten, können Sie uns dies gerne über das Kommentarformular unten mitteilen.