Raspberry und das Teaming bzw. Bonding

Raspeberry Pi 2 so einstellen das 2 Netzwerkkarten als Failover arbeiten

Dazu habe ich einen Raspberry PI 2 mit einem USB Netzwerkadapter verbunden und folgendes angepasst :
als erstes die passende Software installieren –> sudo apt-get install ifenslave-2.6
In der Datei modules einstellen das bonding geladen wird beim start
sudo nano /etc/modules einfügen des Befehls “bonding” danach eine Leerzeile haben und mit Strg+O speichern und mit Strg+X beenden
Danach die Datei /etc/network/interfaces bearbeitet, vorher die originale sichern mit
sudo cp interfaces interfaces.orig
sudo nano /etc/network/interfaces

dann sieht meine Datei so aus

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
bond-master bond0

auto eth1
iface eth1 inet manual
bond-master bond0

auto bond0
iface bond0 inet static
address 192.168.176.20
netmask 255.255.255.0
network 192.168.176.0
broadcast 192.168.176.255
gateway 192.168.176.1
bond-mode active-backup
bond-miimon 100
bond-slaves all
bond-updelay 200
bond-downdelay 200

Das war es auch schon, ich starte danach den Raspberry neu mit sudo shutdown -r now

Ansehen wie es arbeitet kann man mit dem Befehl ifconfig in meinem Fall ist die Karte eth1 (der USB Adpater) gerade aktive

bond0     Link encap:Ethernet  Hardware Adresse b8:27:eb:ef:ea:34
inet Adresse:192.168.176.20  Bcast:192.168.176.255  Maske:255.255.255.0
inet6-Adresse: fe80::ba27:ebff:feef:ea34/64 G?ltigkeitsbereich:Verbindung
inet6-Adresse: 2a02:560:4164:6000:59c3:5bea:5de:9dd8/64 G?ltigkeitsbereich:Global
UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metrik:1
RX packets:970 errors:0 dropped:32 overruns:0 frame:0
TX packets:915 errors:0 dropped:3 overruns:0 carrier:0

Kollisionen:0 Sendewarteschlangenl?nge:0
RX bytes:100139 (97.7 KiB)  TX bytes:97340 (95.0 KiB)

eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:ef:ea:34
UP BROADCAST SLAVE MULTICAST  MTU:1500  Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

Kollisionen:0 Sendewarteschlangenl?nge:1000
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  Hardware Adresse b8:27:eb:ef:ea:34
inet6-Adresse: fe80::7943:b1d9:2b45:7c59/64 G?ltigkeitsbereich:Verbindung
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metrik:1
RX packets:970 errors:0 dropped:0 overruns:0 frame:0
TX packets:915 errors:0 dropped:0 overruns:0 carrier:0

Kollisionen:0 Sendewarteschlangenl?nge:1000
RX bytes:100139 (97.7 KiB)  TX bytes:97340 (95.0 KiB)

lo        Link encap:Lokale Schleife
inet Adresse:127.0.0.1  Maske:255.0.0.0
inet6-Adresse: ::1/128 G?ltigkeitsbereich:Maschine
UP LOOPBACK RUNNING  MTU:65536  Metrik:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenl?nge:0
RX bytes:79 (79.0 B)  TX bytes:79 (79.0 B)

Wenn man jetzt ein Netzwerkkabel abzieht oder den Switchport down setzt, dann übernimmt die andere Netzwerkkarte

Es gibt insgesamt 7 verschiedene Modi in dem man das Bonding betreiben kann

Modus 0

( »balance-rr« ): Im Round-Robin-Verfahren senden die Netzwerkkarten, angefangen bei der ersten, sequenziell. Das sorgt für Lastverteilung und Fehlertoleranz. Die Netzwerkkarten müssen aber am selben Switch hängen.

Modus 1 ( »active-backup« ):

Nur ein Interface im Bündel sendet und empfängt. Tritt ein Fehler auf, übernimmt eine andere Schnittstelle. Die Netzwerkkarten müssen dabei nicht am selben Switch hängen.

Modus 2 ( »balance-xor« ):

Über die MAC-Adressen sind Quelle und Ziel einander fest zugeordnet. Hierzu müssen die Netzwerkkarten am selben Switch hängen.

Modus 3 ( »broadcast« ):

In diesem Modus sendet der Rechner seine Daten auf allen Netzwerkschnittstellen, was den Einsatz mehrerer Switches erlaubt und fehlertolerant ist, aber kein Load Balancing ermöglicht.

Modus 4 ( »802.3ad« ):

Der Modus lehnt sich an den 802.3ad-Standard der IEEE an. Verfügen Netzwerkschnittstellen über die gleiche Übertragungsgeschwindigkeit und Duplex-Einstellung, lassen sie sich über das Link Aggregation Control Protocol (LACP) dynamisch bündeln.

Modus 5 ( »balance-tlb« ):

Modus 5 funktioniert wie Modus 2, nur dass das Auswahlverfahren der Partner auf ausgefeilteren Algorithmen beruht, keine Änderungen an den Switches nötig und verschiedene Switches zulässig sind.

Modus 6 ( »balance-alb« ):

Die Sende- und auch die Empfangslast verteilt dieser Modus auf die verschiedenen Interfaces. Das unterscheidet ihn von Modus 5. Die Bandbreite der Netzwerkkarten wird dabei berücksichtigt.