NIC-Teaming ist das Konzept, zwei oder mehr Netzwerkschnittstellen zu einer logischen Schnittstelle zu kombinieren oder zu verbinden, um einen hohen Durchsatz und Redundanz bereitzustellen. Diese Vorgehensweise ist besonders bei kritischen Servern beliebt, wo jederzeit eine hohe Verfügbarkeit erwartet wird. Auf einem Server mit 2 oder mehr NIC Karten ist das Konzept des NIC-Teamings entscheidend für den Fall, dass eine NIC-Karte ausfällt. Beim NIC-Teaming stellt die logische Netzwerkschnittstelle sicher, dass die verbleibende NIC weiterhin funktioniert und den Zweck der defekten NIC erfüllt. In diesem Leitfaden führen wir Sie durch die Konfiguration von NIC-Teaming in CentOS 8 und RHEL 8.
Sehen wir uns einige der Konzepte an
- Teamd – Dies ist ein Daemon, mit dem Sie eine Team-Netzwerkschnittstelle konfigurieren können. Teamd ist Teil des libteam-Projekts und nutzt die libteam-Bibliothek zur Implementierung von Lastausgleich und Round-Robin-Logik.
- Teamdctl – Dies ist ein Dienstprogramm zum Abfragen einer Instanz von teamd nach Konfigurationsinformationen und detaillierten Statistiken.
- Läufer – Hierbei handelt es sich um unterschiedliche Codeeinheiten im JSON-Format, die zur Implementierung verschiedener Konzepte des NIC-Teamings wie Round Robin verwendet werden
Läufer gibt es in den folgenden Modi:
- Round-Robin :In diesem Modus werden Daten nacheinander über alle Ports übertragen.
- Sendung :Hier werden Daten über alle Ports übertragen.
- Lastausgleich :Der Datenverkehr wird auf alle NICs verteilt.
- Aktive Sicherung :Wenn ein Link oder Port aktiviert ist, sind die anderen als Backup reserviert. Dies wird für Failover verwendet, um Redundanz bereitzustellen, wie wir später in diesem Handbuch sehen werden.
- Lack :Verwendet das 802.3ad-Protokoll für Link-Aggregation
Lassen Sie uns jetzt fortfahren und NIC-Teaming in CentOS 8 konfigurieren.
Schritt:1) Teamd-Daemon installieren
Teamd ist der Daemon, der die Konfiguration von Teamnetzwerken ermöglicht. Glücklicherweise wird CentOS 8 mit bereits installiertem Daemon geliefert. Wenn teamd aus irgendeinem Grund auf Ihrem CentOS 8 / RHEL 8-System fehlt, führen Sie den Befehl aus:
$ sudo dnf install teamd
Nach Abschluss der Installation können Sie detaillierte Informationen über teamd sammeln, indem Sie den folgenden Befehl ausführen:
$ rpm -qi teamd
Schritt:2) Konfigurieren Sie das NIC-Teaming mit dem nmcli-Tool
Nmcli ist ein Befehlszeilendienstprogramm, das zum Verwalten von NetworkManager verwendet wird. Aber zuerst überprüfen wir die angeschlossenen Netzwerkschnittstellen auf unserem System. Führen Sie den Befehl
aus$ nmcli device status
Von der obigen Ausgabe gibt es 2 Ethernet-Verbindungen und 1 Wi-Fi-Verbindung auf dem System. Ich werde enp0s3- und enp0s8-Netzwerkgeräte als Slave-Verbindungen verwenden.
Sie können auch den Befehl verwenden:
$ nmcli connection show
Ich werde daher die Netzwerkgeräte enp0s3 und enp0s8 löschen, die als Slave-Geräte mit der Syntax
verwendet werden$ nmcli-Verbindung löscht UUID
Fahren Sie also fort und führen Sie die Befehle aus:
$ nmcli connection delete a2533841-93bf-4a78-9c84-4f7e8669e92f $ nmcli connection delete 77c70d70-2fb2-4a19-bc02-d71b49a6ffac
Nach dem Löschen sollten die beiden Netzwerkgeräte nun getrennt werden. Sie können dies überprüfen, indem Sie Folgendes ausführen:
$ nmcli device status
Lassen Sie uns nun eine neue Teamschnittstelle erstellen und sie bond0
nennen$ nmcli connection add type team con-name bond0 ifname bond0 config '{"runner": {"name": "activebackup"}}'
Der Wert „activebackup ’ ist ein Runner, der entweder durch Round-Robin, Broadcast, Random oder Lacp ersetzt werden kann.
Die Konfiguration wird in /etc/sysconfig/network-scripts/ifcfg-team-bond0 angehängt Datei. Um einen Blick auf andere zugewiesene Werte zu werfen, führen Sie den Befehl aus:
$ nmcli con show bond0
Um die soeben konfigurierten Schnittstellen anzuzeigen, führen Sie den folgenden Befehl aus:
$ nmcli connection show
Wir haben jetzt eine bond0-Schnittstelle. Beachten Sie, dass die Schnittstellen enp0s3 und enp0s8 nicht aufgeführt sind, da wir sie zuvor gelöscht haben.
Konfigurieren Sie als Nächstes die IP-Adressierung und DNS-Einträge für die Teamschnittstelle und stellen Sie sicher, dass die automatische Verbindung hergestellt wird
$ nmcli con mod bond0 ipv4.addresses 192.168.43.100/24 $ nmcli con mod bond0 ipv4.gateway 192.168.43.1 $ nmcli con mod bond0 ipv4.dns 8.8.8.8 $ nmcli con mod bond0 ipv4.method manual $ nmcli con mod bond0 connection.autoconnect yes
Als nächstes fügen Sie die Netzwerk-Slaves zur Team-Oberfläche hinzu
$ nmcli con add type team-slave con-name bond0-slave0 ifname enp0s3 master bond0 $ nmcli con add type team-slave con-name bond0-slave1 ifname enp0s8 master bond0
Um das Team-Interface und die Slaves anzuzeigen, führen Sie noch einmal den Befehl aus:
$ nmcli connection show
Starten Sie abschließend die Teamoberfläche neu
$ nmcli connection down bond0 && nmcli connection up bond0
Um die Teamoberfläche anzuzeigen, verwenden Sie den Befehl:
$ ip address show dev bond0
Verwenden Sie den teamdctl-Befehl, um genauere Details über die Team-Schnittstelle zu sammeln
$ sudo teamdctl bond0 state
Aus der obigen Ausgabe können wir deutlich erkennen, dass wir 2 Links haben, die aktiv sind – enp0s3 und enp0s8 und der aktive Port ist enp0s3.
Testen der Funktionalität von Active-Backup Teaming
Um Active-Backup auf Redundanz zu testen, werden wir den aktiven Port mit der Bezeichnung enp0s3 herunterfahren und prüfen, ob der andere Link angezeigt wird.
$ nmcli device disconnect enp0s3 $ sudo teamdctl bond0 state
Wie Sie sehen können, verknüpfen Sie enp0s8 eingetreten ist und nun der aktive Port ist. Dies geschieht innerhalb von Millisekunden und zeigt, dass selbst wenn ein Link aus dem einen oder anderen Grund ausgefallen ist, die Verbindung zum Server weiterhin über den anderen Link aufrechterhalten wird.
Das Pingen des Standard-Gateways und des DNS führt ebenfalls zu einem positiven Ergebnis.
An diesem Punkt haben wir das NIC-Teaming erfolgreich konfiguriert und die Redundanzfunktion mit dem Active-Backup-Runner getestet.
So löschen Sie ein Team
Der erste Schritt beim Löschen eines Teams ist das Deaktivieren, um die Teamoberfläche herunterzufahren.
$ nmcli connection down bond0
Fahren Sie als Nächstes fort und löschen Sie die Slaves wie gezeigt
$ nmcli connection delete bond0-slave0 bond0-slave1
Löschen Sie abschließend das erstellte Team
$ nmcli connection delete bond0
Damit sind wir am Ende dieses Leitfadens darüber angelangt, wie Sie NIC-Teaming unter CentOS 8 konfigurieren können.