16.2.3. Channel Bonding Interfaces
Red Hat Enterprise Linux allows administrators to bind multiple network interfaces together into a single channel using the
bondingkernel 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
ifcfg-bond<N>, replacing <N> with the number for the interface, such as
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,
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
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
eth1may 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
alias bond<N> bonding
Replace <N> with the number of the interface, such as
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="directive in the
ifcfg-bondNinterface file. Do not specify options for the bonding device in the
max_bondsparameters are not interface specific and therefore, if required, should be specified in
options bonding debug=1 max_bonds=1
max_bondsparameter should not be set when using
ifcfg-bondNfiles with the
BONDING_OPTSdirective as this directive will cause the network scripts to create the bond interfaces as required.
Note that any changes to
/etc/modprobe.confwill 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”.