IMG 1010 - GCEMS redundancy - Utilizing Bonding
To aid in the GCEMS redundancy fail-over situation, a technique labeled Bonding can be applied to the Network Cards on any GCEMS servers utilizing GCEMS or Host Redundancy. Bonding along with a specific network setup (both displayed in diagrams below), can be utilized so the IMG has full GCEMS redundancy in the event a failure occurs. The Bonding technique being employed on the GCEMS is labeled active-backup mode. Bonding is supported on the GCEMS servers that are running Red Hat Enterprise Linux 5.5 and above. Refer to the topics listed in the Related Items heading below for more information. Refer to the information below.
Network Diagram (One subnet scenario)
Configuration (One Subnet)
The configuration below describes the configuration needed to set up bonding on the GCEMS servers when there is only one subnet involved. All modifications below are to be done as root user only.
Create the bond0 and bond1 files
Configure the IP address, netmask, gateway, and bonding options on the server running the primary GCEMS. Using the vi editor, create the ifcfg-bond0 file and enter the following information. (Update values displayed below to match your network configuration)
[root@localhost]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.4.10
NETMASK=255.255.255.0
GATEWAY=192.168.4.1
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=no
BONDING_OPTS=”mode=1 miimon=100 use_carrier=0 primary=eth0 primary_reselect=2”
Additional Information:
IPADDR = IP Address being configured on active network interface on primary GCEMS server.
NETMASK = Subnet Mask being configured on the active network interface on primary GCEMS server.
GATEWAY = IP address of the network gateway in your network
mode=1 - Sets mode to be active-backup.
miimon=100 - Sets the link monitoring interval to 100 ms
use_carrier=0 - Sets the method used for miimon and improves link detection by miimon
primary=eth0 - Defines eth0 as the “active” port
primary_reselect=2 (failure) - The primary slave becomes the active slave only if the current active fails and the primary slave is up.
Configure the IP address, netmask, gateway, and bonding options on the server running the standby GCEMS. Using the vi editor, create the ifcfg-bond1 file and enter the information displayed in step 1 above using values that match your network configuration).
Modify the existing Ethernet configuration for bonding on the server running primary GCEMS
Create a backup of the existing ifcfg-eth0 and ifcfg-eth1 files located in the /etc/sysconfig/network-scripts directory. See examples below.
Create backup of ifcfg-eth0 file.
[root@localhost]# cp ifcfg-eth0 backup.ifcfg-eth0
Create backup of ifcfg-eth1 file.
[root@localhost]# cp ifcfg-eth1 backup.ifcfg-eth1
Using vi editor, comment out the parameters in the ifcfg-eth0 file that will be configured in bond0. See example below.
Do the same for ifcfg-eth1. See example below.
Configure Bonding
Modify the /etc/modproble.conf file. Follow examples below.
Create a backup of the modprobe.conf file.
Using vi editor, add the parameters below to the modprobe.conf file.
Activate Bonding and restart the service
Load the bond module and restart the service. See example below.
Enter the commands below to verify the Bonding settings are applied correctly
Network Diagram (Two subnet scenario)
The dashed blue/red lines indicate that the GCEMS can exist on multiple VLANs, not just the vlan for OAM&P. For example:
Red = Network Management
Blue = SIP, RTP, RADIUS
Configuration (Two Subnets)
The configuration below describes the configuration needed to set up bonding on the GCEMS servers when there are two subnets involved. Note the diagram that extra hardware is needed. Before starting the procedure, verify the following:
The NICs on the server must support IEEE Standard 802.1Q, VLAN Tagging.
The switch must be a managed switch with support for port-based VLAN and VLAN Tagging
The procedure below configures two VLANS. One with VLAN ID=101 and another with VLAN ID=102. OAMP traffic will use VLAN ID 101 and VoIP traffic will be on VLAN ID 102 ports. See table below.
OAMP private subnet | Remotely accesible subnet |
IP Address = 192.168.4.20 | IP Address = 10.129.44.10 |
Netmask = 255.255.255.0 | Netmask = 255.255.255.224 |
Network Gateway = 192.168.4.1 | Network Gateway = 10.129.44.1 |
VLAN ID = 101 | VLAN ID = 102 |
Create the bond0 and bond1 files
Configure the IP address, netmask, gateway, and bonding options on the server running the primary GCEMS. Using the vi editor, create the ifcfg-bond0 file and enter the following information. (Update values displayed below to match your network configuration)
Additional Information:
IPADDR = IP Address being configured on active network interface on primary GCEMS server.
NETMASK = Subnet Mask being configured on the active network interface on primary GCEMS server.
GATEWAY = IP address of the network gateway in your network
mode=1 - Sets mode to be active-backup.
miimon=100 - Sets the link monitoring interval to 100 ms
use_carrier=0 - Sets the method used for miimon and improves link detection by miimon.
primary=eth0 - Defines eth0 as the “active” port
primary_reselect=2 (failure) - The primary slave becomes the active slave only if the current active fails and the primary slave is up.
Configure the IP address, netmask, gateway, and bonding options on the server running the standby GCEMS. Using the vi editor, create the ifcfg-bond1 file and enter the information displayed in step 1 above using values that match your network configuration).
Modify the Bond Interface created
The procedure below describes how to modify the ifcfg-bond0 for use with VLAN tagging. Comment out the following parameters (IPADDR, NETMASK, GATEWAY) from ifcfg-bond0 created above. The commented out parameters will be configured in another file.
Go to the /etc/sysconfig/network-scripts directory and using a vi editor, comment out the IPADDR, NETMASK, and GATEWAY parameters. See example below.
Bond configuration for VLAN ID 101 and VLAN ID 102
For different VLAN ID's create bond device bond0.y where the y value determines the VLAN ID. Create two new bond interfaces for VLAN tagging: Ifcfg-bond0.101 and ifcfg-bond0.102.
Using the vi editor, create the ifcfg-bond0.101. Configure IPADDR, NETMASK, and GATEWAY, and then enable VLAN tagging. See example below.
Create ifcfg-bond0.101
Using the vi editor, create the ifcfg-bond0.102. Configure IPADDR, NETMASK, and GATEWAY, and then enable VLAN tagging. See example below.
Configure Bonding
Check /etc/modprobe.conf for the following bonding components.
Activate Bonding and Restart Network
Load the bond module and restart the network.
Verify the bonding settings were applied by entering the following command.
Additional Information
This procedure was tested using Red Hat Enterprise Linux (RHEL) 5.5. The procedure was created using Red Hat Enterprise Linux (RHEL) v5.5 or later.
For additional information on bonding and the different bonding procedures, refer to the following links.