Einrichtung eines Kanalbündels mit Ethernet-NICs

Beschreibung

Zur Erhöhung der Ausfallsicherheit oder um mehr Bandbreite zu bekommen, kann man mehrere Ethernet-Interfaces zu einem logischen Interface bündeln. Diese Schnittstellen können sich auf verschiedenen Adapterkarten befinden und von verschiedenen Herstellern stammen. Nach meiner Erfahrung ist es mit gleichen Interfaces allerdings einfacher.
Es gibt sechs Modi für Bonding:

Einrichtung

Jedes Interface des Bündels wird zuerst mit YaST für DHCP eingerichtet. Dadurch wird im Verzeichnis /etc/sysconfig/network für jedes Interface eine Datei (ifcfg-eth-<MAC-Adresse>) angelegt. Der Inhalt sieht dann etwa so aus:

BOOTPROTO='dhcp'
MTU=''
NAME='D-Link DFE-530TX rev B'
REMOTE_IPADDR=''
STARTMODE='auto'
UNIQUE='rBUF.GtN+arZDK79'
USERCONTROL='no'
_nm_name='bus-pci-0000:00:0c.0'

Das Interessante an diesen Dateien ist ausschließlich die PCI-Bus-ID (bus-pci-0000:00:0c.0).
Im nächsten Schritt wird eine Datei ifcfg-bond0 für die Konfiguration des Bündels angelegt:

BOOTPROTO='static'
BROADCAST='172.16.32.255'
IPADDR='172.16.32.10'
MTU=''
NETMASK='255.255.255.0'
NETWORK='172.16.32.0'
REMOTE_IPADDR=''
STARTMODE='onboot'
BONDING_MASTER="yes"
BONDING_MODULE_OPTS="mode=802.3ad lacp_rate=fast miimon=100 use_carrier=0"
BONDING_SLAVE0='bus-pci-0000:00:0c.0'
BONDING_SLAVE1='bus-pci-0000:00:0d.0'

Diese Konfiguration bündelt zwei Interfaces mit LACP (IEEE 802.3ad). Wenn auf dem Switch LACP unterstützt wird und das Protokoll aktiviert ist, ist das die einfachste Möglichkeit, da keine weitere Konfiguration auf dem Switch notwendig ist.

Für den Modus balance-rr sehen die Modul-Optionen wie folgt aus:

BONDING_MODULE_OPTS="mode=balance-rr miimon=100 use_carrier=1"

Das funktioniert allerdings nur, wenn der Treiber der NIC netif_carrier_on/off unterstützt. Im Zweifelsfall muss man das im Sourcecode des Treibers nachschauen. Wenn das nicht der Fall ist, dann muss die Option use_carrier auf 0 gesetzt werden. Die Überwachung des Carriers ist effizienter und der empfohlene Modus.

Die Konfigurationsdateien der physikalischen Interfaces können nun gelöscht werden.

Nun muss noch im Verzeichnis /etc/sysconfig/network die Datei routes angelegt werden. In diese Datei kommt z. B. folgender Eintrag für die Default-Route:

default 172.16.32.1 - -

Das war's dann auch schon. Netzwerk neu starten und das Bündel rennt. ;-)

Die Adressen, PCI-Bus-IDs usw. müssen natürlich an die jeweiligen Gegebenheiten angepasst werden. Für weitere Bündel gilt das gleiche Vorgehen. Nur der Name der Datei muss mit der fortlaufenden Nummer am Ende angepasst werden.



Anmerkung zur Fußzeile ;-)

zurück