GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So konfigurieren Sie das Netzwerk-Teaming in CentOS/RHEL 7

Bei Netzwerkservern ist es eine wichtige Anforderung sicherzustellen, dass die Netzwerkschnittstelle jederzeit verfügbar ist. Auf Red Hat Enterprise Linux 7 können Sie aggregierte Netzwerkschnittstellen erstellen. Verwenden Sie Netzwerkteaming oder Netzwerkbindung, um dieses Ziel zu erreichen.

In früheren Versionen von RHEL war Network Bonding die Standardmethode zum Erstellen aggregierter Netzwerkschnittstellen. In RHEL 7 wurde Network Teaming als Lösung hinzugefügt. Der Hauptunterschied zwischen diesen beiden besteht darin, dass die Netzwerkbindung vollständig im Benutzerbereich stattfand, während beim Netzwerk-Teaming der Teamd-Daemon hinzugefügt wird, um auch die Interaktion im Benutzerbereich zu ermöglichen. Auch wenn beide Methoden immer noch gültig sind, ist Netzwerk-Teaming die bevorzugte Methode.

In früheren Versionen von Red Hat Enterprise Linux wurde Network Bonding verwendet, um die gleichen Ziele zu erreichen. Netzwerk-Teaming ist neu in Red Hat Enterprise Linux 7. Die Lösung besteht aus einem kleinen Kernel-Treiber und einem Daemon, der im Userspace verfügbar ist:teamd.

# rpm -qa | grep teamd
teamd-1.27-4.el7.x86_64

Der Kernel kümmert sich um die Verarbeitung von Netzwerkpaketen, während der Teamd-Treiber die Logik und die Schnittstellenverarbeitung übernimmt. Um festzustellen, wie genau dies geschieht, werden verschiedene Läufer verwendet. Läufer im Teaming entsprechen den Bonding-Modi. Sie werden verwendet, um die Logik der Verkehrsabwicklung zwischen den an der Konfiguration beteiligten Schnittstellen zu definieren. Die folgende Tabelle enthält eine Zusammenfassung der verfügbaren Läufer.

Läufer Bemerkung
Roundrobin Dies ist die Standardeinstellung, die wir verwenden, sie sendet einfach Pakete an alle Schnittstellen im Team im Round-Robin-Verfahren, d. h. eines nach dem anderen, gefolgt von der nächsten Schnittstelle.
Sendung Der gesamte Datenverkehr wird über alle Ports gesendet.
aktive Sicherung Eine Schnittstelle wird verwendet, während die andere als Backup reserviert ist, der Link wird auf Änderungen überwacht und verwendet bei Bedarf den Failover-Link.
Lastenausgleich Der Datenverkehr wird basierend auf dem Tx-Datenverkehr über alle Schnittstellen verteilt, die gleiche Last sollte auf die verfügbaren Schnittstellen verteilt werden.
lacp Implementiert das 802.3ad LACP-Protokoll.

1. Konfigurieren Sie das Netzwerkteam mithilfe von Definitionen im JSON-Format [nicht dauerhaft]

1. Erstellen Sie eine Definitionsdatei im JSON-Format für das Team und seine Komponentenports, in diesem Beispiel /root/team_config/team0.conf .

# cat /root/team_config/team0.conf
#team0.conf
{
   "device": "team0",
   "runner": {"name": "activebackup"},
   "link_watch": {"name": "ethtool"},
   "ports": {
      "enp0s8": {
         "prio": -10,
         "sticky": true
       },
       "enp0s9": {
         "prio": 100
       }
   }
}

2. Verwenden Sie den Befehl ip, um die Komponentenports herunterzufahren:

# ip link set enp0s8 down
# ip link set enp0s9 down
Hinweis :Aktive Schnittstellen können einem Team nicht hinzugefügt werden.

3. Starten Sie eine Instanz des Teamd-Daemons und lassen Sie die Team-Schnittstelle erstellen, indem Sie die Konfigurationsdatei lesen (in diesem Beispiel /root/team_config/team0.conf):

# teamd -g -f /root/team_config/team0.conf -d
Using team device "team0".
Using PID file "/var/run/teamd/team0.pid"
Using config file "/root/team_config/team0.conf"
Hinweis :Das -g Option zeigt Debugging-Meldungen an und kann weggelassen werden.

4. Verwenden Sie den Befehl ip, um die IPaddr- und Netzwerkmasken-Präfixlänge der Team-Schnittstelle festzulegen:

# ip addr add 192.168.22.10/24 dev team0

5. Überprüfen Sie die Konfiguration mit den Befehlen „ip addr“ und „teamdctl“.

# ip addr
team0:  mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 08:00:27:5a:d8:50 brd ff:ff:ff:ff:ff:ff
inet 192.168.22.10/24 scope global team0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe5a:d850/64 scope link
valid_lft forever preferred_lft forever
# teamdctl team0 state
setup:
runner: activebackup
ports:
enp0s8
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
enp0s9
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: enp0s9

2. Netzwerkteam mit ifcfg-Dateien konfigurieren [Persistent]

1. Gehen Sie zu /etc/sysconfig/network-scripts Verzeichnis und erstellen Sie die Datei „ifcfg-team0“ wie unten gezeigt:

# cat /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no
#IPADDR=192.168.11.1
PREFIX=24
TEAM_CONFIG='{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}'
Hinweis :Die Teaming-Schnittstelle team0 kann auch eine statische IP mit BOOTPROTO=none haben

2. Bearbeiten Sie die Dateien für die jeweilige Schnittstelle (hier habe ich zwei Schnittstellen enp0s8 &enp0s9 hinzugefügt):

# cat /etc/sysconfig/network-scripts/ifcfg-enp0s8
DEVICE=enp0s8
#HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
NM_CONTROLLED=no
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
# cat /etc/sysconfig/network-scripts/ifcfg-enp0s9
DEVICE=enp0s9
#HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
NM_CONTROLLED=no
TEAM_PORT_CONFIG='{"prio": 100}'

3. Stellen Sie sicher, dass beide Schnittstellen heruntergefahren sind:

# ip link set enp0s8 down
# ip link set enp0s9 down
Hinweis :Aktive Schnittstellen können einem Team nicht hinzugefügt werden.

4. Jetzt können Sie Ihre Benutzeroberfläche aufrufen

# ifup team0

5. Überprüfen Sie die Teaming-Konfiguration mit den Befehlen „ip addr“, „nmcli device status“ und „teamdctl“.

# ip addr
team0:  mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 08:00:27:2e:4c:65 brd ff:ff:ff:ff:ff:ff
inet 192.168.57.101/24 brd 192.168.57.255 scope global dynamic team0
valid_lft 1178sec preferred_lft 1178sec
inet6 fe80::a00:27ff:fe2e:4c65/64 scope link tentative dadfailed
valid_lft forever preferred_lft forever
# nmcli device status
DEVICE TYPE STATE CONNECTION
enp0s8 ethernet unmanaged --
enp0s9 ethernet unmanaged --
team0 team unmanaged --
# teamdctl team0 state
setup:
runner: activebackup
ports:
enp0s8
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
enp0s9
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: enp0s8

Entfernen eines Teams

Um eine Instanz des Team-Daemons zu beenden oder zu beenden, verwenden Sie den folgenden Befehl:

# teamd -t team0 -k


Cent OS
  1. So starten Sie den Netzwerkdienst unter CentOS 8 oder RHEL 8 neu

  2. So deaktivieren Sie NetworkManager unter CentOS / RHEL 7

  3. CentOS / RHEL 7 :So konfigurieren Sie den Nur-Cache-Nameserver

  4. CentOS / RHEL 6,7 :Wie man Hugepages konfiguriert

  5. CentOS / RHEL 7 :So konfigurieren Sie Network Bonding oder NIC-Teaming

So konfigurieren Sie NIC-Teaming unter CentOS 8 / RHEL 8

So konfigurieren Sie die IP-Adresse in CentOS 7 / RHEL 7 und CentOS 6 / RHEL 6

So konfigurieren Sie eine statische IP-Adresse in CentOS 7 / RHEL 7

So konfigurieren Sie eine statische IP-Adresse in CentOS 8 / RHEL 8

So installieren und konfigurieren Sie Ansible unter CentOS 8 / RHEL 8

So konfigurieren Sie VNC Server unter CentOS/RHEL 6