[ Thanks to Michael
Hall for this link. ]
“Most administrators assume that bonding multiple network cards
together instantly results in double the bandwidth and
high-availability in case a link goes down. Unfortunately, this is
not true. Let’s start with the most common example, where you have
a server with high network load, and wish to allow more than
1Gb/s.“Bonding With 802.3Ad
“You connect two interfaces to your switch, enable bonding, and
discover half your packets are getting lost. If Linux is configured
for 802.3ad link aggregation, the switch must also be told about
this. In the Cisco world, this is called an EtherChannel. Once the
switch knows those two ports are actually supposed to use 802.3ad,
it will load balance the traffic destined for your attached
server.“This works great if a large number of network connections from
a diverse set of clients are connecting. If, however, the majority
of the throughput is coming from a single server, you won’t get
better than the 1Gb/s port speed. Switches are load balancing based
on the source MAC address by default, so if only one connection
takes place, it always gets sent down the same link. Many switches
support changing of the load balancing algorithm, so if you fall
into the single server-to-server category, make sure you allow it
to round-robin the Ethernet frames.”