Channel Bonding Interfaces
Red Hat Enterprise Linux allows administrators to bind multiple network interfaces together into a single channel using the bonding kernel module and a special network interface called a channel bonding interface. Channel bonding enables two or more network interfaces to act as one, simultaneously increasing the bandwidth and providing redundancy.
To create a channel bonding interface, create a file in the /etc/sysconfig/network-scripts/ directory called ifcfg-bond, replacing with the number for the interface, such as 0.
The contents of the file can be identical to whatever type of interface is getting bonded, such as an Ethernet interface. The only difference is that the DEVICE= directive must be bond, replacing with the number for the interface.
The following is a sample channel bonding configuration file:
After the channel bonding interface is created, the network interfaces to be bound together must be configured by adding the MASTER= and SLAVE= directives to their configuration files. The configuration files for each of the channel-bonded interfaces can be nearly identical.
For example, if two Ethernet interfaces are being channel bonded, both eth0 and eth1 may look like the following example:
In this example, replace with the numerical value for the interface.
For a channel bonding interface to be valid, the kernel module must be loaded. To ensure that the module is loaded when the channel bonding interface is brought up, add the following line to /etc/modprobe.conf:
alias bond bonding
Replace with the number of the interface, such as 0. For each configured channel bonding interface, there must be a corresponding entry in /etc/modprobe.conf.
Once /etc/modprobe.conf is configured — and the channel bonding interface and network interfaces are configured — the ifup command can be used to bring up the channel bonding interface.
Important aspects of the channel bonding interface are controlled through the kernel module. For more information about controlling the bonding modules, refer to Section 40.5.2, “The Channel Bonding Module”.
This simple post will show how to configure Ethernet Bonding on two (or more) network interfaces on RHEL 5 or CentOS 5.
I’ve tested this configuration on a CentOS 5.2 with kernel 2.6.18-92.1.22.el5 as you could see below :
#1 SMP Tue Dec 16 11:57:43 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
CentOS release 5.2 (Final)
If you want to create a bonding on two interface (i.e. eth0 and eth1) you should do the following :
Copy /etc/sysconfig/network-scripts/ifcfg-eth1 to /etc/sysconfig/network-scripts/ifcfg-bond0 to keep the same file permission by executing the following commands :
copy ifcfg-eth1 ifcfg-bond0
Edit /etc/modprobe.conf adding the following line :
Reboot your system to let modules be loaded or load it manually with the following command :
If you haven’t rebooted your system, restart your network with the following command :
You should check if bonding is working you should look at /proc/net/bonding/bond0 with the following command :
and you should see something similar to the following :
Ethernet Channel Bonding Driver: v3.2.4 (January 28, 2008)
Bonding Mode: load balancing (round-robin)
MII Polling Interval (ms): 0
Permanent HW addr: 00:15:17:88:5a:3c
Permanent HW addr: 00:15:17:88:5a:3d
Hope this help
How to Set up Network Bonding on CentOS 5.x Tutorial