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!

One Comment

  • scottsmith7 says:

    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!

Leave a Reply

You must be logged in to post a comment.