Environment: RHEL 5.x/6.x
Following the example below will create a NIC Channel Bonding using eth0, eth1 and round-robin policy for fault tolerance and load balancing:
- As root, create a Bond0 Configuration File: # vi /etc/sysconfig/network-scripts/ifcfg-bond0
- Add the following lines to the Bond0 Configuration File:
DEVICE=bond0
IPADDR=192.168.1.10
NETWORK=192.168.1.0
NETMASK=255.255.255.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
BONDING_OPTS="mode=0 miimon=100"
Note: Replace IP address, Network and Netmask settings accordingly.
Note: Detailed description of the bonding options can be found in Red Hat's
Deployment Guide.
- Open the configuration file for eth0:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
- Edit eth0 configuration file adding the "MASTER" and "SLAVE" parameters:
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
- Repeat steps #3 and #4 for eth1.
- Open the kernel modules configuration file:
RHEL5 # vi /etc/modprobe.conf
RHEL6 # vi /etc/modprobe.d/modprobe.conf
Note: modprobe.conf file does not exist on RHEL6. Following the step listed above, the file will be created.
- Add the following line to modprobe.conf file:
alias bond0 bonding
options bond0 mode=balance-rr miimon=100
- Load the bonding Module:
# modprobe bonding
- Restart Network service:
# service network restart
- Check if the bonding interface was created successfully looking at the output of the ifconfig command:
# ifconfig
The output should list bond0 up and running as master and eth0\eth1 up and running as slaves.