RedHat Channel Bonding
There is a first tome for everything right? Well, today was my first time setting up ethernet channel bonding on RedHat; RHEL 5.3 x64 to be exact, but any RHEL 5 or CentOS 5 should be exactly the same.
I found a great tutorial at http://www.linuxtopia.org/online_books/rhel5/rhel5_administration/rhel5_s1-networkscripts-interfaces.html. I’ll repost the relevant bits here lest they become lost somehow:
in /etc/sysconfig/network-scripts/ifcfg-bond0
———————————–
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.10
USERCTL=no
———————————–
And then for /etc/sysconfig/network-scripts/ifcfg-eth0
———————————–
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
———————————–
And pretty much the same for /etc/sysconfig/network-scripts/ifcfg-eth1
———————————–
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
———————————–
Lastly add to /etc/modprobe.conf
alias bond0 bonding
and reboot! TADA!
Linc-
I had never done this until recently either. On the system where I was setting up bonding, I also wanted to use Xen.
As it turns out some versions of Xen have a bug in the interface handling scripts, where the device name must look like “ethX” – if “bondX” is used, bonding will not work correctly for the virtual systems. So if “eth0” fails… no network for the virtual system.
In my case, time was of the essence, so I changed the bonded interface to “eth3”, and the virtualized system had a functioning bonded interface.
Cool stuff!