4.2.2. 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<N>
, replacing <N>
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<N>
, replacing <N>
with the number for the interface.
The following is a sample channel bonding configuration file:
Example 4.1. Sample ifcfg-bond0 interface configuration file
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="<bonding parameters separated by spaces>
"
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:
DEVICE=eth<N>
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
In this example, replace <N>
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, create a new file as root named <bonding>
.conf
in the /etc/modprobe.d/
directory. Note that you can name this file anything you like as long as it ends with a .conf
extension. Insert the following line in this new file:
alias bond<N>
bonding
Replace <N>
with the interface number, such as 0
. For each configured channel bonding interface, there must be a corresponding entry in your new /etc/modprobe.d/<bonding>
.conf
file.
Parameters for the bonding kernel module must be specified as a space-separated list in the
BONDING_OPTS="<bonding parameters>
"
directive in the ifcfg-bond
<N>
interface file. Do
not specify options for the bonding device in
/etc/modprobe.d/<bonding>
.conf
, or in the deprecated
/etc/modprobe.conf
file. For further instructions and advice on configuring the bonding module and to view the list of bonding parameters, refer to
Section 22.7.2, “Using Channel Bonding”.