31.6. Verbindingsaggregatie en failover
Terug | Hoofdstuk 31. Geavanceerde netwerken | Volgende

## 31.6. Verbindingsaggregatie en failover

Geschreven door Andrew Thompson.

### 31.6.1. Introductie

De interface lagg(4) maakt het mogelijk om meerdere netwerkinterfaces te aggregeren in één virtueel interface voor het bieden van fout-tolerante en zeer snelle verbindingen.

### 31.6.2. Werkmodi

Failover

  Zendt en ontvangt verkeer alleen door de meesterpoort. Wanneer de meesterpoort niet beschikbaar is, wordt de volgende actieve poort gebruikt. De eerste toegevoegde interface is de meesterpoort; alle interfaces die hierna zijn toegevoegd worden gebruikt als failover-apparaten. Als failover naar een niet-meesterpoort plaatsvindt, dan wordt de originele poort de meester wanneer deze weer beschikbaar wordt.

Cisco® Fast EtherChannel®

  Cisco® Fast EtherChannel® (FEC), is een statische installatie en onderhandelt niet over aggregatie met de peer noch wisselt het frames uit om de verbinding te monitoren. Indien de switch LACP ondersteunt dient dat gebruikt te worden.

  FEC balanceert uitgaand verkeer over de actieve poorten gebaseerd op gehashde informatie over protocolheaders en accepteert inkomend verkeer van elke actieve poort. De hash bevat het Ethernet bron- en doeladres, en indien beschikbaar, de VLAN-tag, en de IPv4/IPv6 bron- en doeladressen.

LACP

  Het IEEE® 802.3ad Link Aggregation Control Protocol (LACP) en het Marker Protocol. LACP onderhandelt met de peer over een verzameling aggregeerbare verbindingen in één of meerdere Link Aggregated Groups (LAG). Elke LAG is opgebouwd uit poorten die dezelfde snelheid hebben, ingesteld op full-duplex werking. Het verkeer zal over de poorten in de LAG gebalanceerd worden met de hoogste totaalsnelheid, in de meeste gevallen zal er slechts één LAG zijn die alle poorten bevat. Wanneer er fysieke verbindingen veranderen, zal Link Aggregation snel naar een nieuwe opstelling convergeren.

  LACP balanceert uitgaand verkeer over de actieve poorten gebaseerd op gehashde informatie over protocolheaders en accepteert inkomend verkeer van elke actieve poort. De hash bevat het Ethernet bron- en doeladres, en indien beschikbaar, de VLAN-tag, en de IPv4/IPv6 bron- en doeladressen.

Loadbalance

  Dit is een alias van de FEC modus.

Round-Robin

  Distribueert uitgaand verkeer door middel van een round-robin scheduler over alle actieve poorten en accepteert inkomend verkeer van elke actieve poort. Deze modus schendt Ethernet frame-ordering en dient met zorg gebruikt te worden.

### 31.6.3. Voorbeelden

Voorbeeld 31.1. LACP-aggregatie met een Cisco® switch

Dit voorbeeld verbindt twee interfaces op een FreeBSD-machine met de switch als een enkele loadgebalanceerde en fout-tolerante verbinding. Er kunnen meer interfaces worden toegevoegd om de doorvoer en fouttolerantie te verhogen. Aangezien frame-ordering verplicht is op Ethernetverbindingen stroomt al het verkeer tussen twee stations altijd over dezelfde fysieke verbinding zodat de maximum snelheid beperkt wordt tot die van één interface. Het verzendalgoritme probeert zoveel mogelijk informatie te gebruiken voor het onderscheiden van verschillende verkeersstromen en deze over de beschikbare interfaces te balanceren.

Voeg op de Cisco® switch de interfaces `FastEthernet0/1` en `FastEthernet0/2` aan de kanaalgroep `1` toe:

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

Maak de lagg(4)-interface aan met `fxp0` en `fxp1` en activeer de interface met IP-adres `10.0.0.3/24`:

`#` `ifconfig `fxp0` up` `#` `ifconfig `fxp1` up` `#` `ifconfig `lagg`0`` create` `#` `ifconfig `lagg`0`` up laggproto lacp laggport `fxp0` laggport `fxp1` `10.0.0.3/24``

Bekijk de interfacestatus van ifconfig:

`#` `ifconfig `lagg`0```

Poorten die als ACTIVE zijn gemarkeerd zijn lid van de actieve aggregatiegroep waarover onderhandeld is met de verre switch en waarover verkeer zal worden verzonden en ontvangen. Gebruik de uitgebreide uitvoer van ifconfig(8) om de LAG-identifiers te bekijken.

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>

Gebruik, om de toestand van de poorten op de switch te bekijken, `show lacp neighbor`.

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

Gebruik voor meer detail het commando `show lacp neighbor detail`.

Voeg de volgende regels aan `/etc/rc.conf` toe om deze informatie na het opnieuw starten te behouden:

ifconfig_`fxp0`="up" ifconfig_`fxp1`="up" cloned_interfaces="`lagg`0``" ifconfig_`lagg`0``="laggproto lacp laggport `fxp0` laggport `fxp1` `10.0.0.3/24`"
Voorbeeld 31.2. Failover-modus

Failover-modus kan worden gebruikt om op een secondaire interface over te schakelen wanneer de verbinding op de meesterinterface verloren is. Activeer de onderliggende fysieke interface. Creëer de interface `lagg`0``, met `fxp0` als de meesterinterface en `fxp1` als de secondaire interface en ken er IP-adres `10.0.0.15/24` aan toe:

`#` `ifconfig `fxp0` up` `#` `ifconfig `fxp1` up` `#` `ifconfig `lagg`0`` create` `#` `ifconfig `lagg`0`` up laggproto failover laggport `fxp0` laggport `fxp1` `10.0.0.15/24``

De interface zal er ongeveer als volgt uitzien, de grote verschillen zullen het MAC-adres en de apparaatnamen zijn:

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

Het verkeer zal worden verzonden en ontvangen op `fxp0`. Indien de verbinding op `fxp0` verloren is, zal `fxp1` de actieve verbinding worden. Indien de verbinding op de meesterinterface hersteld is, zal het weer de actieve verbinding worden.

Voeg de volgende regels aan `/etc/rc.conf` toe om deze informatie na het opnieuw starten te behouden:

ifconfig_`fxp0`="up" ifconfig_`fxp1`="up" cloned_interfaces="`lagg`0``" ifconfig_`lagg`0``="laggproto lacp laggport `fxp0` laggport `fxp1` `10.0.0.15/24`"
Voorbeeld 31.3. Failover-modus tussen bekabelde en draadloze interfaces

Voor laptop-gebruikers is het normaliter wenselijk om het draadloze interface als secundair interface te gebruiken indien het bekabelde interface niet beschikbaar is. Met lagg(4) is het mogelijk om één IP-adres te gebruiken en het bekabelde interface voor zowel prestatie als veiligheid te prefereren terwijl de mogelijkheid behouden blijft om de draadloze verbinding te gebruiken.

In deze opstelling dient het MAC-adres van het onderliggende draadloze interface overschreven te worden om met dat van lagg(4) overeen te komen, welke afkomstig is van het primaire interface dat wordt gebruikt, het bekabelde interface.

In deze opstelling wordt het bekabelde interface, `bge0` als meester gebruikt, en het draadloze interface, `wlan0`, als het failover-interface. `wlan0` was aangemaakt vanuit `iwn0` voor welke het MAC-adres van de bekabelde verbinding zal worden gebruikt. De eerste stap is om het MAC-adres van het bekabelde interface te verkrijgen:

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

`bge0` kan vervangen worden door het eigenlijke interface, er zal een andere regel met `ether` verschijnen, dit is het MAC-adres van het bekabelde interface. Om het onderliggende draadloze interface, `iwn0` te wijzigen:

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

Activeer het draadloze interface maar geef er nog geen IP-adres aan:

`#` `ifconfig `wlan0` create wlandev `iwn0` ssid `mijn_router` up`

Activeer de interface `bge0`. Maak het lagg(4)-interface aan met `bge0` als meester, en met failover naar `wlan0` indien nodig:

`#` `ifconfig `bge0` up` `#` `ifconfig `lagg`0`` create` `#` `ifconfig `lagg`0`` up laggproto failover laggport `bge0` laggport `wlan0``

Het interface zal er ongeveer als volgt uitzien, de grootste verschillen zullen het MAC-adres en de apparaatnamen zijn:

`#` `ifconfig `lagg`0``` 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>

Start vervolgens de DHCP-cliënt om een IP-adres te verkrijgen:

`#` `dhclient `lagg`0```

Om deze configuratie bij het opstarten te behouden, kan het volgende aan `/etc/rc.conf` worden toegevoegd:

ifconfig_bge0="up" ifconfig_iwn0="ether 00:21:70:da:ae:37" wlans_iwn0="wlan0" ifconfig_wlan0="WPA" cloned_interfaces="`lagg`0``" ifconfig_`lagg`0``="laggproto failover laggport bge0 laggport wlan0 DHCP"

Terug | Omhoog | Volgende
31.5. Bridging | Begin | 31.7. Schijfloos werken