Back to article
Boost Reliability with Ethernet Bonding and Linux
Recycling the Ethernet
August 30, 2007
An easy, inexpensive way to double up Ethernet interfaces to get more more bandwidth and reliability is called Ethernet bonding. While Gigabit Ethernet is all exciting and the hot new fad, you can get a lot of mileage out of using Ethernet bonding to give your existing gear a nice boost without spending much extra money. Just stuff two ordinary 10/100 Ethernet interfaces into a machine, tweak a few configuration files, and you're in business. If one fails you won't lose connectivity. It is a good cheap upgrade for your servers--you'll have several options for configuring load balancing and failover, and with the right gear you'll get an instant bandwidth boost by combining the bandwidth of the two interfaces.
To increase performance by combining the bandwidth of each NIC, you need a switch that supports link aggregation. Or you can use a special option in the kernel's
The Linux kernel has everything you need for this, and it's not very difficult to set up. Fedora and Debian each have their own special ways of configuring Ethernet bonding. (For you fine noobs wondering "But what about Ubuntu?" don't worry. Ubuntu is derived from Debian, so these instructions will work for them too.)
You're not limited to bonding two interfaces; you can go nuts and bond as many as you like, and can even bond machines and subnets. Clusters use channel-bonding to create super-fat pipelines. You can even bond Gigabit Ethernet. Which is very fun and not difficult, but today we shall limit ourselves to boosting the network performance of standalone servers.
2.6 kernels should have everything you need. If your system is missing some pieces, refer to the