Network bonding on Ubuntu servers combines multiple network interfaces into a single logical interface, enhancing bandwidth and providing failover capabilities. This listicle covers practical troubleshooting steps for system administrators and DevOps professionals who face connectivity or performance issues with bonded interfaces on Ubuntu servers.
Verify Bonding Module is Loaded
Network bonding relies on the Linux kernel module bonding. Use lsmod | grep bonding to confirm it is loaded. If missing, load it manually with modprobe bonding. Without this module, bonded interfaces cannot function, so ensuring it’s active is the first fundamental step.
Check Network Interface Configuration Files
Ubuntu typically uses /etc/netplan/ or /etc/network/interfaces for network configuration. Verify that all slave interfaces and the bond master are correctly defined with proper bonding options such as mode=802.3ad or mode=balance-rr. Misconfigured YAML or interface files cause bonding to fail or behave unpredictably.
Validate Slave Interface Status
Each physical interface assigned to the bond should be up and free of errors. Use ip link show or ethtool to check their status. A down or faulty slave interface can prevent the bond from forming or cause it to drop unexpectedly.
Confirm Bonding Mode Compatibility
Ubuntu supports several bonding modes like balance-rr, active-backup, and 802.3ad (LACP). Ensure the mode set on the server matches the switch’s configuration. For example, using 802.3ad requires the switch to support and have LACP enabled; otherwise, the bond will not aggregate links properly.
Inspect Bonding Interface Status via /proc
Check /proc/net/bonding/bond0 (replace bond0 with your bond name) for detailed runtime status. It shows active slaves, link status, and mode-specific information. This file is invaluable for diagnosing which interfaces are active and how the bond is behaving internally.
Review System Logs for Errors
System logs often reveal bonding-related errors. Use journalctl -u systemd-networkd or tail -f /var/log/syslog to spot issues like interface flaps, bonding driver errors, or misconfigurations reported during boot or runtime. Logs provide clues that are not visible through standard commands.
Test Failover Behavior
For active-backup bonding mode, simulate a failure by unplugging one slave interface and observe if traffic seamlessly shifts to another interface. Use ping or iperf to test connectivity during failover. Failure to switch indicates either misconfiguration or hardware problems.
Check Switch Configuration and Compatibility
Network switches must be configured to support bonding modes, especially for 802.3ad (LACP). Verify that LACP is enabled and properly set on the switch ports connected to the bonded interfaces. Incompatible or misconfigured switches will cause bond negotiation failures or degraded performance.
Monitor Network Traffic and Performance
Use tools like iftop, iptraf, or nload to monitor traffic on bonded interfaces. Uneven traffic distribution or unexpected drops can indicate bonding algorithm issues or hardware faults. Real-time monitoring helps pinpoint whether issues are due to bonding or external factors.
Update Network Drivers and Kernel
Outdated or buggy network drivers and kernel versions can cause bonding instability. Check your Ubuntu server’s current kernel version with uname -r and network driver versions with ethtool -i eth0. Consult Ubuntu’s official repositories or vendor sites for updates that address bonding-related bugs.
How to Choose
When troubleshooting network bonding, prioritize verifying kernel module presence and correct interface configurations first, as these are common root causes. Next, assess hardware status and switch compatibility, since bonding depends on both ends working in harmony. Logs and runtime status files provide contextual insights, while testing failover confirms operational resilience. Regular driver and kernel updates ensure stability in the long term. The choice of which step to focus on depends on symptoms: connectivity loss points to hardware or switch issues, while configuration errors often cause partial failures or degraded performance.
Frequently Asked Questions
Q: How do I know if my bonding mode is set correctly?
Check /proc/net/bonding/bond0 for the current mode and compare it with your switch configuration. Mismatched modes cause bonding failures.
Q: Why does my bond show only one active slave?
This is expected in active-backup mode, where only one interface is active at a time. For load balancing, use modes like balance-rr or 802.3ad.
Q: Can I bond wireless interfaces on Ubuntu?
Wireless interfaces generally do not support bonding due to hardware and driver limitations. Bonding is typically used with wired Ethernet interfaces.
Q: What causes intermittent drops in bonded interfaces?
Common causes include hardware faults, cable issues, switch misconfigurations, or driver bugs. Use logs and interface diagnostics to isolate the problem.
Q: Is NetworkManager compatible with bonding on Ubuntu servers?
While NetworkManager supports bonding, many server environments prefer netplan or ifupdown for finer control and scripting capabilities.
Q: How can I permanently enable the bonding module?
Add bonding to /etc/modules so it loads at boot time, ensuring the bonding driver is always available.
Final Thoughts
Network bonding is a powerful feature for enhancing network throughput and redundancy on Ubuntu servers, but it requires careful configuration and compatible hardware. Systematic troubleshooting—starting from kernel modules and interface setup through switch compatibility and driver versions—helps quickly identify and resolve issues. Consistent monitoring and testing ensure your bonded interfaces perform reliably in production environments.
Related
- Anterior Pituitary Hormones: Targets and Effects Explained Simply
- Anterior Pituitary Hormones Functions Explained for Beginners
- Ripen Figs vs Buy Ripe Figs: Which Is Best for You?