16.2.3. 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,
ifcfg-bond0
:
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, add the following line to
/etc/modprobe.conf
:
alias bond<N> bonding
Replace <N> with the number of the interface, such as
0
.
Important
In Red Hat Enterprise Linux 5.10, interface-specific parameters for the bonding kernel module must be specified as a space-separated list in the
BONDING_OPTS="bonding parameters"
directive in the ifcfg-bondN
interface file. Do not specify options for the bonding device in the /etc/modprobe.conf
file.
The
debug
and max_bonds
parameters are not interface specific and therefore, if required, should be specified in /etc/modprobe.conf
as follows:
options bonding debug=1 max_bonds=1
However, the
max_bonds
parameter should not be set when using ifcfg-bondN
files with the BONDING_OPTS
directive as this directive will cause the network scripts to create the bond interfaces as required.
Note that any changes to
/etc/modprobe.conf
will not take effect until the module is next loaded. A running module must first be unloaded. For further instructions and advice on configuring the bonding module, as well as to view the list of bonding parameters, refer to Section 45.5.1, “The Channel Bonding Module”.