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 BondingLogin as ROOT to CLI of Airwave and run the below commands.# cd /etc/sysconfig/network-scripts/# vi ifcfg-bond0We’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=noSave and exit.# vi ifcfg-eth0Fill the below details in this fileDEVICE=eth0BOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=noSave and exit.# vi ifcfg-eth1Fill the below details in this fileDEVICE=eth1BOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=noSave 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.confAppend 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'";
Just to say this works OK but with a couple of caveats:
Note that I have bonded eth2 & eth3, and am not using eth0 or eth1 because of the physical setup of my server so the above may behave differently (it may even work!) if eth0 is in your bonded interface.
And to have a correct graphic under the AMP -> System -> Performance -> Usage by protocol (bond0) the following file must also be updated, otherwise the graphic will be empty:
# vi /etc/sysconfig/iptables
Change all "eth0" entries to "bond0", the following VI sequence will do that, include the semicolon:
Save and exit.
Restart the iptables services
# service iptables restart
need to add below command also to get the change reflected in AMP > system > performance page
dbc "update seas_config set system_bw_if = 'bond0'";
At Aruba, we believe that the most dynamic customer experiences happen at the Edge. Our mission is to deliver innovative solutions that harness data at the Edge to drive powerful business outcomes.
© Copyright 2021 Hewlett Packard Enterprise Development LPAll Rights Reserved.