Ubuntu- Bonding

Auf einem Server mit 3 Netzwerkinterfaces (1 x Broadcom onboard, 1 x Dual Intel EtherExpress 1000) und Ubuntu 10.04.2 LTS 64 Bit sollen diese 3 Netzwerkinterfaces zu einem Bond (802.3ad) zusammengefasst werden. Die Switchports mit dem der Host verbunden ist müssen natürlich auch auf LACP konfiguriert werden- das ist aber nicht Thema dieses Artikels. Nach vielen Fehlversuchen hat folgendes zum Erfolg geführt:
Installation des ifenslave- Programmes:  
apt-get install ifenslave-2.6
  Nach Fertigstellen der Installation kann mit der Konfiguration weitergemacht werden. Als erstes muss das Bonding- Modul des Kernel geladen werden. Hierzu wird in die bonding.conf folgendes eingetragen:  
vi /etc/modprobe.d/bonding.conf
install bond0 /sbin/modprobe bonding -o bond0 mode=802.3ad miimon=100
  Danach wird noch die Netzwerkkonfiguration angepasst:  
vi /etc/network/interfaces
   
auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth2 inet manual

iface eth3 inet manual
   
# The primary network interface
auto bond0
iface bond0 inet static
        address 172.16.0.36
        netmask 255.255.240.0
        network 172.16.0.0
        broadcast 172.16.15.255
        gateway 172.16.10.254
        up /sbin/ifenslave bond0 eth0 eth2 eth3
        down /sbin/ifenslave -d bond0 eth0 eth2 eth3
        bond-mode 802.3ad
        bond-miimon 100
        bond-lacp_rate 1
  Nun am einfachsten den Server mal durchstarten- erspart viel Mühe mit dem Laden des Moduls und dem Neustart des Netzwerks.

Wenn alles funktioniert hat sollte das in etwa so aussehen:  
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 3
        Number of ports: 3
        Actor Key: 17
        Partner Key: 1044
        Partner Mac Address: 02:04:96:36:e5:d0

Slave Interface: eth0
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:30:05:fa:fb:d2
Aggregator ID: 3

Slave Interface: eth2
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:0e:0c:c4:e0:e0
Aggregator ID: 3



Slave Interface: eth3
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:0e:0c:c4:e0:e1
Aggregator ID: 3
  Fertig!
Nun sollte z.B. ein Dauerping auf den Host auch dann noch weiterlaufen wenn Netzwerkkabel abgezogen werden. Hierbei aber beachten dass mindestens eins angesteckt bleiben muss ;-)