|
Ethernet Bonding
Configuration in Debian
What is Ethernet Bonding ?
Ethernet bonding refers to aggregating multiple ethernet
channels together to form a single channel. This is primarily
used for redundancy in ethernet paths or for load balancing.
This page refers in particular to performing ethernet bonding
under linux, and so does not limit itself to discussion of
802.3ad Trunk Aggregation.
Bonding Types
The linux kernel bonding module supports a number of bonding
types.
Round Robin
Packets are transmitted in a round robin fashion over the
available slave interfaces. Provides both load balancing and
fault tolerance
Active Backup
One slave interface is active at any time. If one interface
fails, another interface takes over the MAC address and becomes
the active interface. Provides fault tolerance only. Doesn't
require special switch support
Balance XOR
Tranmissions are balanced across the slave interfaces based on
((source MAC) XOR (dest MAC)) modula slave count. The same slave
is selected for each destination MAC. Provides load balancing
and fault tolerance.
Broadcast
Transmits everything on all slave interfaces. Provides fault
tolerance.
802.3ad
This is classic IEEE 802.3ad Dynamic link aggregation. This
requires 802.3ad support in the switch and driver support for
retrieving the speed and duplex of each slave.
Balance TLB
Adaptive Transmit Load Balancing. Incoming traffic is received
on the active slave only, outgoing traffic is distributed
according to the current load on each slave. Doesn't require
special switch support
Balance ALB
Adaptive Load Balancing - provides both transmit load balancing
(TLB) and receive load balancing for IPv4 via ARP negotiation.
Doesn't require special switch support, but does require the
ability to change the MAC address of a device while it is open
Setup Bonding Ethernet on Debian with a
2.4 kernel
To use Bonding Ethernet for High-Availability (fail-over) on
Debian (Woody, Sarge or Sid with a 2.4.x kernel) you need to:
install package ifenslave-2.4.To install this package follow
this command
#apt-get install ifenslave-2.4
make sure the real NICs kernel modules are loaded automatically
edit /etc/network/interfaces to look like this:
iface bond0 inet static
address 10.31.1.5
netmask 255.255.255.0
network 10.31.1.0
gateway 10.31.1.254
up /sbin/ifenslave bond0 eth0
up /sbin/ifenslave bond0 eth1
comment or borrow the lines referring to your real NICs in the
same file
add the following lines to your /etc/modutils/arch/i386:
alias bond0 bonding
options bonding mode=1 miimon=100 downdelay=200 updelay=200
Now run the following command for update
#update-modules
Setup Bonding Ethernet on Debian with a
2.6 kernel
To use Bonding Ethernet for High-Availability (fail-over) on
Debian (Woody, Sarge or Sid with a 2.4.x kernel) you need to:
install package ifenslave-2.6.To install this package follow
this command
#apt-get install ifenslave-2.6
make sure the real NICs kernel modules are loaded automatically
edit /etc/network/interfaces to look like this:
iface bond0 inet static
address 10.31.1.5
netmask 255.255.255.0
network 10.31.1.0
gateway 10.31.1.254
up /sbin/ifenslave bond0 eth0
up /sbin/ifenslave bond0 eth1
comment or borrow the lines referring to your real NICs in the
same file
add the following lines to your /etc/modprobe.d/arch/i386:
alias bond0 bonding
options bonding mode=1 miimon=100 downdelay=200 updelay=200
|
|