32.6. Link-Aggregation und Failover

Geschrieben von Andrew Thompson. Übersetzt von Benedict Reuschling und Sharon Bahagi.

32.6.1. Einleitung

Die lagg(4)-Schnittstelle erlaubt die Aggregation von mehreren Netzwerkadaptern als eine virtuelle Schnittstelle mit dem Ziel, Ausfallsicherheit (Failover) und Hochgeschwindigkeitsverbindungen bereitzustellen.

32.6.2. Anwendungsoptionen

Ausfallsicherheit (Failover)

Sendet und empfängt Netzwerkverkehr nur auf dem Masterport. Sollte der Masterport nicht zur Verfügung stehen, wird der nächste aktive Port verwendet. Der zuerst hinzugefügte Adapter wird zum Masterport, jeder weitere Adapter dient als Gerät zur Ausfallsicherheit.

Cisco® Fast EtherChannel®

Cisco Fast EtherChannel (FEC), ist eine statische Konfiguration und handelt weder Aggregation mit der Gegenstelle aus, noch werden Frames zur Überwachung der Verbindung ausgetauscht. Wenn der Switch LACP unterstützt, sollte diese Option auch verwendet werden.

FEC balanciert den ausgehenden Verkehr über die aktiven Ports, basierend auf gehashten Protokollheaderinformationen und akzeptiert eingehenden Verkehr auf jedem aktiven Port. Der Hash enthält die Ethernet-Quell- und Zieladresse, und, falls verfügbar, den VLAN-Tag, sowie die IPv4/IPv6 Quell- und Zieladresse.

LACP

Das IEEE® 802.3ad Link-Aggregation Control Protokoll (LACP) und das Marker Protocol. LACP wird eine Menge von aggregierbaren Verbindungen mit der Gegenstelle in einer oder mehreren Link Aggregated Groups (LAG) aushandeln. Jede LAG besteht aus Ports der gleichen Geschwindigkeit, eingestellt auf Voll-Duplex-Betrieb. Der Verkehr wird über die Ports in der LAG mit der größten Gesamtgeschwindigkeit balanciert, in den meisten Fällen wird es nur eine LAG geben, die alle Ports enthält. Im Falle von Änderungen in der physischen Anbindung wird die Link-Aggregation schnell zu einer neuen Konfiguration konvergieren.

LACP balanciert ausgehenden Verkehr über die aktiven Ports basierend auf der gehashten Protokollheaderinformation und akzeptiert eingehenden Verkehr auf jedem aktiven Port. Der Hash beinhaltet die Ethernet-Quell- und Zieladresse, und, soweit verfügbar, den VLAN-Tag, sowie die IPv4/IPv6 Quell- und Zieladresse.

Lastverteilung (Loadbalance)

Dabei handelt es sich um einen Alias des FEC-Modus.

Round-Robin

Verteilt ausgehenden Verkehr mittels einer Round-Robin-Zuteilung über alle aktiven Ports und akzeptiert eingehenden Verkehr auf jedem aktiven Port. Dieser Modus verletzt die Reihenfolge von Ethernet-Frames und sollte mit Vorsicht eingesetzt werden.

32.6.3. Beispiele

Beispiel 32-1. LACP Aggregation mit einem Switch von Cisco®

Dieses Beispiel verbindet zwei Adapter auf einer FreeBSD-Maschine mit dem Switch als eine einzelne, lastverteilte und ausfallsichere Verbindung. Weitere Adapter können hinzugefügt werden, um den Durchsatz zu erhöhen und die Ausfallsicherheit zu steigern. Da die Reihenfolge der Frames bei Ethernet zwingend eingehalten werden muss, fließt auch jeglicher Verkehr zwischen zwei Stationen über den gleichen physischen Kanal, was die maximale Geschwindigkeit der Verbindung auf die eines einzelnen Adapters beschränkt. Der Übertragungsalgorithmus versucht, so viele Informationen wie möglich zu verwenden, um die verschiedenen Verkehrsflüsse zu unterscheiden und balanciert diese über die verfügbaren Adapter.

Fügen Sie auf dem Cisco-Switch die Adapter FastEthernet0/1 und FastEthernet0/2 zu der channel-group 1 hinzu:

interface FastEthernet0/1
 channel-group 1 mode active
 channel-protocol lacp
!
interface FastEthernet0/2
 channel-group 1 mode active
 channel-protocol lacp

Auf der Maschine mit FreeBSD erstellen Sie die lagg(4)-Schnittstelle unter Verwendung von fxp0 und fxp1:

# ifconfig lagg0 create 
# ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1

Überprüfen Sie den Status der Schnittstelle, indem Sie folgendes eingeben:

# ifconfig lagg0

Ports, die als ACTIVE markiert sind, sind Teil der aktiven Aggregations-Gruppe, die mit dem Switch ausgehandelt wurde und der Verkehr wird über diese übertragen und empfangen. Benutzen Sie die ausführliche Ausgabe von ifconfig(8), um sich die LAG-Identifikatoren anzeigen zu lassen.

lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:05:5d:71:8d:b8
        media: Ethernet autoselect
        status: active
        laggproto lacp
        laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
        laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

Um den Status der Ports auf dem Switch anzuzeigen, geben Sie show lacp neighbor ein:

switch# show lacp neighbor
Flags:  S - Device is requesting Slow LACPDUs
        F - Device is requesting Fast LACPDUs
        A - Device is in Active mode       P - Device is in Passive mode

Channel group 1 neighbors

Partner's information:

                  LACP port                        Oper    Port     Port
Port      Flags   Priority  Dev ID         Age     Key     Number   State
Fa0/1     SA      32768     0005.5d71.8db8  29s    0x146   0x3      0x3D
Fa0/2     SA      32768     0005.5d71.8db8  29s    0x146   0x4      0x3D

Benutzen Sie das Kommando show lacp neighbor detail, um weitere Informationen zu erhalten.

Beispiel 32-2. Ausfallsicherer Modus

Der ausfallsichere Modus kann verwendet werden, um zu einer zweiten Schnittstelle zu wechseln, sollte die Verbindung mit der Master-Schnittstelle ausfallen. Erstellen und konfigurieren Sie die lagg0-Schnittstelle mit fxp0 als Master und fxp1 als die sekundäre Schnittstelle:

# ifconfig lagg0 create
# ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1

Die Schnittstelle wird so ähnlich wie im folgenden aussehen, mit dem großen Unterschied, dass die MAC-Adresse und die Gerätenamen unterschiedlich sein werden:

# ifconfig lagg0
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:05:5d:71:8d:b8
        media: Ethernet autoselect
        status: active
        laggproto failover
        laggport: fxp1 flags=0<>
        laggport: fxp0 flags=5<MASTER,ACTIVE>

Der Verkehr wird auf fxp0 übertragen und empfangen. Wenn die Verbindung auf fxp0 abbricht, so wird fxp1 die Verbindung übernehmen. Sobald die Verbindung auf der Master-Schnittstelle wiederhergestellt ist, wird diese auch wieder als aktive Schnittstelle genutzt.

Beispiel 32-3. Failover Modus zwischen drahtgebundenen und drahtlosen Schnittstellen

Für Laptop-Benutzer ist es normalerweise wünschenswert, wireless als sekundäre Schnittstelle einzurichten, die verwendet wird, wenn die Verbindung via Kabel nicht verfügbar ist. Mit lagg(4) ist es möglich, eine IP-Adresse für die Kabelverbindung zu verwenden. Sie ist leistungsfähig und sicher. Gleichzeitig haben Sie die Möglichkeit Daten über die drahtlose Verbindung zu übertragen.

In dieser Konfiguration, müssen wir die zugrunde liegenden MAC-Adresse der WLAN-Schnittstelle überschreiben, damit sie zur Adresse von lagg(4) passt, welche von der drahtgebundenen Masterschnittstelle vererbt wurde.

In dieser Konfiguration behandeln wir die drahtgebundene Schnittstelle bge0 als die Master und die drahtlose Schnittstelle wlan0 als die Failover-Schnittstelle. Die wlan0 wurde von der iwn0 mit der MAC-Adresse der kabelgebundenen eingerichtet. Im ersten Schritt erhalten wir die MAC-Adresse der kabelgebundenen Schnittstelle:

# ifconfig bge0
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
 options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
 ether 00:21:70:da:ae:37
 inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2
 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
 media: Ethernet autoselect (1000baseT <full-duplex>)
 status: active

Sie können bge0 in ihre tatsächliche ändern und werden eine andere ether-Zeile mit der MAC-Adresse ihrer kabelgebundenen Schnittstelle erhalten. Nun ändern wir die zugrunde liegende drahtlose Schnittstelle iwn0:

# ifconfig iwn0 ether 00:21:70:da:ae:37

Starten Sie den Wireless-Schnittstelle, aber ohne IP-Adresse:

# ifconfig wlan0 create wlandev iwn0 ssid my_router up

Erstellen Sie die lagg(4) Schnittstelle mit bge0 als Master und wlan0 als Failover falls notwendig:

# ifconfig lagg0 create
# ifconfig lagg0 up laggproto failover laggport bge0 laggport wlan0

Die Schnittstelle sieht änhlich aus, die Hauptunterschiede werden die MAC-Adresse und die Gerätenamen sein:

# ifconfig lagg0
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:21:70:da:ae:37
        media: Ethernet autoselect
        status: active
        laggproto failover
        laggport: wlan0 flags=0<>
        laggport: bge0 flags=5<MASTER,ACTIVE>

Um zu vermeiden, dass Sie dies nach jedem Neustart machen müssen, können Sie etwas in der Art in ihre /etc/rc.conf Datei schreiben:

ifconfig_bge0="up"
ifconfig_iwn0="ether 00:21:70:da:ae:37"
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP"
	

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.