Bonded Network Connections
Network interface bonding allows several network devices to form a single logical group. There are different types of network bonds you can choose. We are most interested in 802.3ad link aggregation which allows us to use multiple ethernet interfaces in one network bond that provides us the bandwidth of multiple ports.
Creating a 802.3ad bonded network connection requires configuration of a switch with this feature. This is the hardest part! We have Dell PowerConnect 6248 and HP ProCurves.
Dell PowerConnect Switch Configuration to Allow Bonded Networks
In the following example, I use ports 13 and 15 on our Dell PowerConnect 6248 switch to form an LACP trunk to my machine, futuregadget, which will have a bonded network connection. The trunk name on my switch is called port-channel 7/channel-group 7. Ports 13 & 15 are assigned to port-channel 7 along with several other small config changes.
Explanation of below configuration lines: port 15 on this switch is configured to be a part of channel-group 7. spanning-tree is activated on this port. It is configured to communicate on VLANs 100 and 200 which correspond to the Public network VLANs and the cluster 2 private network.
switch-2-1#show running-config interface ethernet 1/g15 channel-group 7 mode auto spanning-tree portfast switchport mode general switchport general acceptable-frame-type tagged-only switchport general allowed vlan add 100,200
switch-2-1#show interfaces port-channel 7 Channel Ports Hash Algorithm Type ------- ----------------------------- ------------------- ch7 Active: 1/g15 3
Configuration on CentOS 7 Server
Below are the configuration files listed under /etc/sysconfig/network-scripts.
ifcfg-bond0
DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes ONBOOT=yes BOOTPROTO=NONE BONDING_OPTS="mode=4 miimon=100"
ifcfg-bond0.100 - this creates a vlan 100 under network bond0. VLAN 100 corresponds to the VLAN generated on the network switch which is the public network.
VLAN=yes DEVICE=bond0.100 BOOTPROTO=static ONBOOT=yes IPADDR=169.230.26.84 NETMASK=255.255.255.0 GATEWAY=169.230.26.1 TYPE=Ethernet NM_CONTROLLED="no"
ifcfg-bond0.200 - this creates a vlan 200 under network bond0. VLAN 200 corresponds to the VLAN generated on the network switch which is the cluster 2 private network.
DEVICE=bond0.200 VLAN=yes ONBOOT=yes BOOTPROTO=static IPADDR=10.20.8.19 PREFIX=16 DNS1=10.20.1.1 NM_CONTROLLED=no TYPE=Ethernet UUID=e77811ae-8d46-698e-82f3-21a4616413c0
ifcfg-enp3s0 - configuration file for ethernet device connected to port 15 on switch.
TYPE=Ethernet BOOTPROTO=none NAME=enp3s0 UUID=d46b75ef-eb93-41b8-96c1-97b2f8f6cc48 DEVICE=enp3s0 ONBOOT=yes NM_CONTROLLED=no MASTER=bond0 SLAVE=yes