LACP Bonding on Ubuntu 14.04 and 16.04

I’ve recently been acquiring servers and building up an Openstack on ScaleIO lab.  During this exercise I’ve been using bonded ethernet and IBoIP interfaces in order to trunk the multiple VLANs I need.

On Ubuntu 16.04, the “ifenslave” and “vlan” modules are included in the base server install.  I’m not sure if these packages are included by default on the desktop version, if they aren’t, the instructions for adding them are included below with the 14.04 specific info.


  • Installing required modules
# apt-get install ifenslave

Add the following modules in /etc/modules to load on reboot

# nano /etc/modules

Add these lines:

lp
rtc
loop
bonding
  • Edit the /etc/network/interface
$ sudo nano /etc/network/interfaces

Add/modify these lines:

#First Ethernet port
auto eth0
iface eth0 inet manual
     bond-master bond0

#Second Ethernet port
auto eth1
iface eth1 inet maunal
     bond-master bond0

#Create the bonded interface
auto bond0
iface bond0 inet static
     address X.X.X.X/24
     gateway X.X.X.X
     dns-nameservers X.X.X.X
     dns-search xyz.com
     bond-mode 4
     bond-miimon 100
     bond-lacp-rate 1
     bond-slaves eth0 eth1
     bond-xmit_hash_policy layer3+4

At this point you need to either reboot, or do the following:

# ifdown eth0  && ifdown eth1
# modprobe bonding
# ifup bond0

Now, assuming you have LACP set up properly on your switch, you should have a 2 link LACP bond.  You can check the status by running:

# cat /proc/net/bonding/bond0

Loading

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.