Monitoring, Management & Location Tracking

Instructions for Setting up Ethernet Failover (bonded interface) on AMP



This works only with AMP servers running 2.6.9-42.0.2 and later kernel versions (i.e. CentOS 4.4 or higher). To configure NTP settings manually, see the end of this article. 

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
NOTE: Once you do this, you will no longer be able to use the AMP Setup > Network page in the AMP web GUI to modify network settings. 

NOTE: After completing this process please contact AirWave Support. Let them know you've set up a bonded interface. Provide them with the eth0 MAC address and ask them to generate a new license key tied to that MAC address. 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

1) Make sure that AMP is on the network and has the correct IP address assigned to eth0. Set NTP settings in the AMP GUI if possible. 

2) Create an ifcfg file for bond0 as follows: 

# cd /etc/sysconfig/network-scripts 

# cp ifcfg-eth0 ifcfg-bond0 

3) Modify files ifcfg-bond0, ifcfg-eth0 and ifcfg-eth1 as follows: 
(NOTE: the commands that follow use the vi editor; if you're not familiar with vi, nano is easier to use and is also available from the AMP command line.) 

# vi ifcfg-bond0 

Change the first line to read 'DEVICE=bond0' (the '0' is a zero). 

UPDATE 2 

Remove “HWADDR=11:22:33:44:55:66” from this file. 
(NOTE: Having the “HWADDR=11:22:33:44:55:66” in the ifcfg-bond0 file can prevent the bonded interface from starting properly in later versions of CentOS.) 

Save and quit. 

# vi ifcfg-eth0 

Add the following lines: 

MASTER=bond0 
SLAVE=yes 

Save and quit. 

# vi ifcfg-eth1 

Add the MASTER and SLAVE lines as above. 
Remove any DHCP lines from this file. 
Save and quit. 

4) Modify file modprobe.conf as follows: 

# vi /etc/modprobe.conf 

Add the following lines: 

alias bond0 bonding 
options bond0 mode=1 primary=eth0 miimon=200 

(That's right, miimon -- media-independent interface monitoring.) 

5) Run the following command to set the AP-facing AMP interface to bond0 in the database: 

# dbc "update seas_config set ap_facing_amp_interface='bond0';" 

6) Run the following commands from the AMP command line to set the permissions on the ifcfg files to Read-Only. This prevents these files from being accidentally overwritten from the AMP GUI. 

# cd /etc/sysconfig/network-scripts 
# chmod 444 ifcfg-bond0 
# chmod 444 ifcfg-eth0 
# chmod 444 ifcfg-eth1 

7) Reboot the AMP server. 

8) Check that you can still ping the default gateway and that you can access the AMP web GUI. 

9) To verify that the failover is configured correctly, run the following command: 

# cat /proc/net/bonding/bond0 

Additionally, you can run the 'ifconfig' command to verify that packets are only being sent across eth0. 

The 'bond0' interface is the 'virtual' NIC card that moves from eth0 to eth1 when eth0 has a link failure. 

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
Troubleshooting 

Interfaces 'flip' caUsing_AMP license to become invalid: 
Under some circumstances, when the server reboots, the two interfaces will 'flip' such that eth0 becomes eth1 and eth1 becomes eth0. When this happens the AMP's license will no longer work. 

The AMP server's license validation process looks at the IP address of eth0, that is why most licenses are tied to the server's IP address. When creating a bonded interface, eth0 has no IP address, so the license validation process checks the MAC address of eth0. For these cases a license is generated that is tied to a MAC address rather than an IP address. 

When the interfaces 'flip', the MAC address associated with eth0 is no longer the one specified in the license. 

SOLUTION: 
Specify in the ifcfg files which interface should be associated with which MAC address. 

To do this, go to the network-scripts directory: 

# cd /etc/sysconfig/network-scripts 

...and add a line specifying the MAC address (HWADDR) to the ifcfg file of each of the interfaces: 

# echo "HWADDR=[MAC_ADDRESS]" >> ifcfg-eth0 

Example: 

# echo "HWADDR=11:22:33:44:55:66" >> ifcfg-eth0 

Cat the file to make sure all is well. (Also check to make sure that the file includes the line "ONBOOT=yes".) 

# cat ifcfg-eth0 

Example file (order is not important): 

DEVICE=eth0 
USERCTL=no 
MASTER=bond0 
SLAVE=yes 
BOOTPROTO=none 
ONBOOT=yes 
HWADDR=01:02:03:04:05:06 

Repeat for eth1 with the appropriate MAC address for that interface. 

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

To manually configure NTP servers in AMP, edit the file ntp.conf: 

# vi /etc/ntp.conf 

Add the following line 

server xxx.xxx.xxx.xxx 

Next run the following command to reload the ntpd process with the correct NTP server information: 

# service ntpd restart 

Once the interfaces are bonded you will need to update a field in the database so that the bandwidth by protocol graph on the System > Performance page will work. 

To set the system bandwidth interface to the bond0 interface, run the following command: 

# dbc "update seas_config set system_bw_if ='bond0'" 

If the command is successful the output will be: 

UPDATE 1 

NOTE: Those are single quotes ( ' ) around bond0 and double quotes ( " ) before update and at the end of the command string.) 

Restart the AMP processes by doing a make: 

# root 
# make 

Once the make finishes, wait a few minutes for the services to come back up, then check the graphs on the System > Performance page.

Version History
Revision #:
2 of 2
Last update:
‎06-27-2014 10:12 AM
Updated by:
 
Labels (1)
Contributors
Search Airheads
Showing results for 
Search instead for 
Did you mean: 
Is this a frequent problem?

Request an official Aruba knowledge base article to be written by our experts.