This is an old revision of the document!
Table of Contents
CentOS Bonding Interfaces
Jun 2017
Introduction
For network redundancy, we can bond interface pairs on the G6/G7 servers. For this example I am using CentOS 6.x, so luckily still have the ethx naming convention.
Two bond a pair of interfaces requires three files (four if you want to do some multicast routing). first we will look at bonding a pair of interfaces for management, then we can look at bonding a pair of interfaces for ingest/egress.
Management Interface Bonding
For bonding the management interfaces, we will require three files. I am making the assumption that we are using the first two interfaces (eth0 and eth1) for management, and that this is our first bond on this device (so bond0):
ifcfg-eth0 ifcfg-eth1 ifcfg-bond0
For this to work, you will need the UUID of each interface, if you don't have this, look here for instructions on how to generate the UUIDs.
ifcfg-eth0
DEVICE=eth0 HWADDR=00:1E:67:EB:6D:F2 TYPE=Ethernet UUID=cceda895-dd2b-4096-9d9c-5985dd0872d7 ONBOOT=yes MASTER=bond0 SLAVE=yes
Notice that there is no addressing information in the interface configuration file(s)
ifcfg-eth1
DEVICE=eth1 HWADDR=00:1E:67:EB:6D:F3 TYPE=Ethernet UUID=7ecc849f-eefb-43a0-9796-99d368bbb28a ONBOOT=yes MASTER=bond0 SLAVE=yes
ifcfg-bond0
InDEVICE=bond0 ONBOOT=yes BOOTPROTO=static USERCTL=no BONDING_OPTS="mode=1 miimon=100" IPADDR=192.168.27.100 NETMASK=255.255.255.0 GATEWAY=192.168.27.254 DNS1=172.16.178.100 DNS2=8.8.8.8
So ifcfg-eth0 and ifcfg-eth1 don't contain any address information, but they both contain the entry MASTER=bond0 to tie them to a particular bond file.
ifcfg-bond0 contains all of the addressing information for the two interfaces that are bonded (ifcfg-eth0 and ifcfg-eth1)
Reboot the server, and you should be able to ping the management address (192.168.27.100 in this case) and if you only unplug one interface at a time, the pings should continue (you might miss one or two pings during transition).