Bonded Network Connections

From DISI
Revision as of 21:20, 18 July 2017 by Benrwong (talk | contribs) (A page describing how to create the conditions for network bonding to a server. Includes configs of the network switch and the server)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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
#DOMAIN="cluster.ucsf.bkslab.org bkslab.org ucsf.bkslab.org"
#NAME="Vlan bond0.200"
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