Intel® Ethernet 800 Series
Linux Performance Tuning Guide
Adapter Bonding
Linux bonding is a powerful feature that significantly improves network performance, redundancy, and fault tolerance in server environments. However, it is important to note that it requires compatible network hardware and proper configuration on both the server and the switch to function properly.
The bonding driver in Linux allows you to aggregate multiple physical network interfaces into a bonded interface (bond). This bond appears as a single virtual network interface to the operating system and to applications.
Bonding provides several modes of operation, each with its own characteristics:
Mode | Type |
---|---|
0 | Round Robin |
1 | Active Backup |
2 | XOR |
3 | Broadcast |
4 | LACP |
5 | Transmit Load Balance |
6 | Adaptive Load Balance |
Different methods to create Adapter Bonding in Linux are available. One of the most common methods is Configuration Using Network Configuration Files.
For example:
or
To create Adapter Bonding using the Configuration Using Network Configuration Files method:
- Select any two or more NIC ports for bonding. For example:
ethX ethY - Open the NIC configuration files for the required NIC interface:
/etc/sysconfig/network-scripts/ For example:
vi ifcfg-ethX vi ifcfg-ethY - Append the following text:
MASTER=bondN (Note: NÒan integer to mention the bond number) SLAVE=yes - Create a bond network script file, using:
vi /etc/sysconfig/network-scripts/ifcfg-bondN - Place the following text:
DEVICE=bondN [Note: N -> an integer to mention the bond number] ONBOOT=yes USERCTL=no BOOTPROTO=dhcp (or) none IPADDR=200.20.2.4 [required if BOOTPROTO=none] NETMASK=255.255.255.0 [required if BOOTPROTO=none] NETWORK=200.20.2.0 [required if BOOTPROTO=none] BROADCAST=200.20.2.255 [required if BOOTPROTO=none] BONDING_OPTS="mode=1 miimon=100" Note:Mode can be any integer from 0 to 6 based on the requirement. - Restart the network services, using:
service network restart or
systemctl restart NetworkManager.service