Dienstag, 9. Oktober 2007

Linux Ethernet bonding

I have two NICs Intel 82571EB Gigabit Ethernet and need to bond them for Load Balancing and fault tolerance. Then first we add the module with mode=6 (Sets ALB, Active Load Balancing) and miimon=80 (in milliseconds if NIC is active)

# if you NIC is compatible with MII (miimon) you can type:
goku:~#ethtool ethx | grep 'Link detected'

I always thought that this command only detects whether there is link in the network, but goes on page official redhat =p

#add the module...
goku:~# modprobe bonding mode=6 miimon=80
goku:~#lsmod | grep bond
bonding 82869 0

# then we can set the ip address with ifconfig and ifenslave for bonding (apt-get install ifenslave-2.6)
ifconfig bond0 172.16.1.30 netmask 255.255.255.0 hw ether --:--:--:--:--:--
ifenslave bond0 eth4 eth5

# and see the bond status
goku:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.0 (January 14, 2004)

Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth5
MII Status: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth4
MII Status: up
Link Failure Count: 0
Permanent HW addr: --:--:--:--:--:d2

Slave Interface: eth5
MII Status: up
Link Failure Count: 0
Permanent HW addr: --:--:--:--:--:d3

# and that's it, we have two Intel NICs with ALB running...

0 Kommentare:

Kommentar veröffentlichen