Das FreeBSD-Handbuch
Zurück | Kapitel 32. Weiterführende Netzwerkthemen | Weiter

# 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"

Zurück | Zum Anfang | Weiter
LAN-Kopplung mit einer Bridge | Nach oben | Start und Betrieb von FreeBSD über ein Netzwerk

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>.