LACP bonding network interface setup
A bonding network interface could be used for redundancy or higher speed requirements than 1 NIC can offer. This tutorial will help you set up an LACP (IEEE 802.3ad) bonding network interface. It requires that the switch your server is connected to is set up accordingly. If you’re unsure please contact our support team.
Step 1: Log in with SSH
Login as root. Please see this article for instructions if you don’t know how to connect.
Step 2: Disable NetworkManager
In our experience, NetworkManager is pretty unpredictable and near useless within a server environment and we prefer to disable NetworkManager. These instructions won’t work if NetworkManager is enabled!
systemctl stop NetworkManager systemctl disable NetworkManage
Step 3: Configure nameservers
Because NetworkManager is now disabled you need to set up your nameservers manually. Open /etc/resolv.conf with your favorite text editor:
The content of that file should be as follows:
nameserver 184.108.40.206 nameserver 220.127.116.11
Step 4: Load bonding kernel module
Step 5: Create bonding interface configuration file
Create a new configuration file called ifcfg-bond0 in the directory /etc/sysconfig/network-scripts. We use our favorite text-editor nano to do so:
We will give this file the following content:
DEVICE=bond0 Type=Bond NAME=bond0 BONDING_MASTER=yes BOOTPROTO=none ONBOOT=yes IPADDR=89.207.131.xx PREFIX=24 GATEWAY=18.104.22.168 NM_CONTROLLED=no BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
Please replace the IP address on the line IPADDR=89.207.131.xx with the main IP address of your server and GATEWAY=22.214.171.124 with the gateway which is correct for your IP address.
Step 6: Update physical interface configuration files
It’s time to update the physical interface configuration files. Our server uses enp6s0 and enp7s0 as interfaces, so we start with enp6s0:
The content of this file is:
DEVICE=enp6s0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes NM_CONTROLLED=no IPV6INIT=no MASTER=bond0 SLAVE=yes
We update enp7s0 next:
The content of this file is:
DEVICE=enp7s0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes NM_CONTROLLED=no IPV6INIT=no MASTER=bond0 SLAVE=yes
Step 8: Reboot
Reboot your server with:
Step 9: Check bonding interface status
After reboot your server should have bonding active. Check with:
Output should be something like:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2 (0) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info LACP rate: fast Min links: 0 Aggregator selection policy (ad_select): stable System priority: 65535 System MAC address: 00:25:90:XX:XX:XX Active Aggregator Info: Aggregator ID: 2 Number of ports: 2 Actor Key: 9 Partner Key: 20002 Partner Mac Address: cc:4e:24:XX:XX:XX Slave Interface: enp6s0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:25:90:XX:XX:XX Slave queue ID: 0 Aggregator ID: 2 Actor Churn State: none Partner Churn State: none Actor Churned Count: 0 Partner Churned Count: 0 details actor lacp pdu: system priority: 65535 system mac address: 00:25:90:XX:XX:XX port key: 9 port priority: 255 port number: 1 port state: 63 details partner lacp pdu: system priority: 1 system mac address: cc:4e:24:XX:XX:XX oper key: 20002 port priority: 1 port number: 6 port state: 63 Slave Interface: enp7s0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:25:90:XX:XX:XX Slave queue ID: 0 Aggregator ID: 2 Actor Churn State: none Partner Churn State: none Actor Churned Count: 0 Partner Churned Count: 0 details actor lacp pdu: system priority: 65535 system mac address: 00:25:90:XX:XX:XX port key: 9 port priority: 255 port number: 2 port state: 63 details partner lacp pdu: system priority: 1 system mac address: cc:4e:24:XX:XX:XX oper key: 20002 port priority: 1 port number: 262 port state: 63
Congratulations, you have setup LACP bonding network interface according to IEEE 802.3ad.