This article talks about enabling Ethernet Bonding on Airwave.
Environment: This article applies to all versions of Airwave which are built on CentOS 6 and greater.
I would like to connect Airwave server (a physical server) using two NIC’s and enable NIC bonding in CentOS. However, after installing CentOS from the Airwave ISO file I only seeing one NIC – eth0.
Before going through the configuration, an insight about Ethernet Bonding.
Channel bonding (also known as “Ethernet bonding”) is a computer networking arrangement in which two or more network interfaces on a host computer are combined for redundancy or increased throughput.
mode=0 (Balance-rr) – This mode provides load balancing and fault tolerance.
mode=1 (active-backup) – This mode provides fault tolerance.
mode=2 (balance-xor) – This mode provides load balancing and fault tolerance.
mode=3 (broadcast) – This mode provides fault tolerance.
mode=4 (802.3ad) – This mode provides load balancing and fault tolerance.
mode=5 (balance-tlb) – Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.
mode=6 (balance-alb) – Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.
Note: Always append extra configuration in case of a rollback.
Configuring Channel Bonding
Login as ROOT to CLI of Airwave and run the below commands.
# cd /etc/sysconfig/network-scripts/
# vi ifcfg-bond0
We’ll be using mode=6 (balance-alb)
Fill in the below details in the file
DEVICE=bond0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=A.B.C.D
NETMASK=255.255.0.0
NETWORK=X.X.X.X
BONDING_OPTS="miimon=100 mode=balance-alb"
TYPE=Unknown
IPV6INIT=no
Save and exit.
# vi ifcfg-eth0
Fill the below details in this file
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
Save and exit.
# vi ifcfg-eth1
Fill the below details in this file
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
Save and exit.
We could add more interfaces to the Bond Interfaces.
Define bonding network interface in /etc/modprobe.d/bonding.conf
# vi /etc/modprobe.d/bonding.conf
Append the following onto the end out your modprobe config file
alias bond0 bonding
Save and Exit.
Restart the Network Services.
# service network restart
After making this change,we must tell Airwave to use the bond0 interface for things like links in email alerts and commands for devices to fetch firmware images from the AMP.
This command will do that:
# dbc "update seas_config set ap_facing_amp_interface = 'bond0'";