GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Red Hat / CentOS :So erstellen Sie Schnittstellen- / NIC-Bonding

Warum aggregierte Netzwerkschnittstellen (Interface Bonding)?

Die beiden wichtigsten Gründe für eine Schnittstellenbindung sind:
1. Zur Bereitstellung einer erhöhten Bandbreite
2. Bereitstellung von Redundanz angesichts eines Hardwarefehlers

Eine der Voraussetzungen für die Konfiguration eines Bondings ist ein Netzwerk-Switch, der Etherchannel unterstützt (was auf fast alle Switches zutrifft).

Verbindungsmodi

Abhängig von Ihren Anforderungen können Sie den Bindungsmodus auf einen der folgenden 7 Modi einstellen. Der Bonding-Modus kann in der Netzwerkdatei der Bonding-Schnittstelle /etc/sysconfig/network-scripts/ifcfg-bond0 eingestellt werden wie unten:

BONDING_OPTS="mode=active-backup miimon=250"

oder

BONDING_OPTS="mode=1 miimon=250"
Modus Richtlinie Wie es funktioniert Fehlertoleranz Load-Balancing
0 Round Robin Pakete werden sequentiell nacheinander über jede Schnittstelle gesendet/empfangen. Nein Ja
1 Aktive Sicherung eine NIC aktiv, während eine andere NIC im Ruhezustand ist. Wenn die aktive NIC ausfällt, wird eine andere NIC aktiv. wird nur in x86-Umgebungen unterstützt. Ja Nein
2 XOR [exklusives ODER] In diesem Modus wird die MAC-Adresse der Slave-NIC mit der MAC der eingehenden Anfrage abgeglichen, und sobald diese Verbindung hergestellt ist, wird dieselbe NIC zum Senden/Empfangen für die Ziel-MAC verwendet. Ja Ja
3 Ausstrahlung Alle Übertragungen werden an alle Slaves gesendet Ja Nein
4 Dynamische 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 Lastenausgleich übertragen (TLB) Der ausgehende Datenverkehr wird abhängig von der aktuellen Last auf jeder Slave-Schnittstelle verteilt. Eingehender Datenverkehr wird vom aktuellen Slave empfangen. Fällt der empfangende Slave aus, übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen Slaves. Ja Ja
6 Adaptives Load-Balancing (ALB) Im Gegensatz zu Dynamic Link Aggregation erfordert Adaptive Load Balancing keine besondere Switch-Konfiguration. Adaptive Load Balancing wird nur in x86-Umgebungen unterstützt. Die empfangenen Pakete werden durch ARP-Aushandlung belastet. Ja Ja

Konfigurieren einer Schnittstellenverbindung

1. Erstellen Sie die Master-bond0-Schnittstelle
Dazu müssen wir eine Datei /etc/sysconfig/network-scripts/ifcfg-bond0 erstellen mit folgendem Inhalt:

# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.1.10
NETMASK=255.255.255.0
BONDING_OPTS="miimon=100"
Konfigurieren Sie auf RHEL6 die Bonding-Parameter in ifcfg-bondX statt in der Datei /etc/modprobe.d/bonding.conf. Der Vorteil besteht darin, dass diese Parameter während des Schnittstelleninitialisierungsprozesses pro Bonding-Schnittstelle geändert werden können, anstatt während des Initialisierungsprozesses des Bonding-Treibers. Das heißt, eine Parameteränderung erfordert kein erneutes Laden des Bonding-Treibers mehr. Dies trägt dazu bei, den systemweiten Netzwerkausfall zu reduzieren, während einige kleine Änderungen an den Bonding-Schnittstellen vorgenommen werden.
BONDING_OPTS - Specify bonding module parameters, e.g. miimon - link polling interval for fault detection (in ms)

Da wir die Bonding-Schnittstelle mit der IP-Adresse und der Netzmaske konfiguriert haben, müssen wir sie nicht in den einzelnen Interfaces-Dateien angeben, aus denen die Bindung besteht.

2. Erstellen der Slave-Schnittstellen
Wir würden em0 und em1 als Slave-Schnittstellen verwenden, um die bond0-Bonding-Schnittstelle zu erstellen. Die Zeilen MASTER und SLAVE definieren die Master-Bonding-Interfaces bond0 und em0/em1 als Slave-Interfaces.

# vi /etc/sysconfig/network-scripts/ifcfg-em0
DEVICE=em0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
# vi /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

3. Konfigurieren Sie den Bonding-Treiber
Die Konfigurationsdatei /etc/modprobe.conf ist auf RHEL 6 veraltet und die Konfigurationsdateien befinden sich jetzt im Verzeichnis /etc/modprobe.d. Die ältere Konfigurationsdatei wird weiterhin unterstützt, aber nicht empfohlen. Erstellen Sie eine neue Datei bond.conf im Verzeichnis /etc/modprobe.d, um dem Kernel mitzuteilen, dass er den Bonding-Treiber für das neue Gerät bond0 verwenden soll.

# vi /etc/modprobe.d/bond.conf
alias bond0 bonding

4. Starten Sie die Netzwerkdienste neu
Starten Sie die Netzwerkdienste neu, um die Bonding-Schnittstelle zu aktivieren.

# service network restart

Falls Sie den Netzwerkdienst nicht neu starten möchten, können Sie die Bonding-Schnittstelle einzeln ausloten:

# ifup bond0

5. Bestätigen
Überprüfen Sie die neue Schnittstelle in der Ausgabe des ifconfig-Befehls:

# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:0C:29:9B:FD:2B
          inet addr:10.10.1.10  Bcast:10.10.1.1  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe9b:fd2b/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:39 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13875 (13.5 KiB)  TX bytes:3446 (3.3 KiB)

So überprüfen Sie, ob das Bonding-Modul richtig geladen ist:

# lsmod |grep bond
bonding               122351  0

So überprüfen Sie, welche Schnittstelle derzeit aktiv ist (im Falle des aktiven Backup-Modus):

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: em0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 5000
Down Delay (ms): 5000

Slave Interface: em0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:21:28:b2:65:26
Slave queue ID: 0

Slave Interface: em1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:21:28:b2:65:27
Slave queue ID: 0

Falls Sie testen möchten, ob das Bonding richtig konfiguriert ist, bringen Sie eine aktive Schnittstelle (hier em0) aus dem Bonding herunter. Sie würden immer noch feststellen, dass die Bonding-Schnittstelle immer noch zugänglich ist.

# ifdown em0
RedHat / CentOS :So ändern Sie die aktuell aktive Slave-Schnittstelle des Online-Bondings


Linux
  1. So erstellen Sie ein lokales Red Hat-Repository

  2. So spiegeln Sie ein Repository unter Linux

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

  4. So ändern Sie den NIC-Gerätenamen in CentOS / RHEL 6

  5. So konfigurieren Sie die Schnittstellenbindung (NIC-Teaming) unter Oracle Linux 6

So erstellen Sie einen Sudo-Benutzer unter CentOS

Konfigurieren Sie das NIC-Bonding (Network Interface Card) in CentOS 7 / RHEL 7

So installieren Sie Brave Browser auf Fedora, Red Hat und CentOS

So erstellen Sie einen Sudo-Benutzer unter CentOS

So installieren Sie Textpattern unter CentOS 7

So installieren Sie Dgraph unter CentOS 8