これらのポイントのほとんどは/usr/src/linux/Documentation/networking/bonding.txt
、お気に入りのディストリビューションのlinuxソースパッケージのドキュメントファイルで完全に説明されています。フェイルオーバーの速度は、ほとんどのモードで「miimon」パラメーターによって制御されますが、あまり低く設定しないでください。いずれにしても、通常の値は1秒未満です。
これが私が完成した最良の部品です:
balance-rr or 0
Round-robin policy: Transmit packets in sequential
order from the first available slave through the
last. This mode provides load balancing and fault
tolerance.
active-backup or 1
Active-backup policy: Only one slave in the bond is
active. A different slave becomes active if, and only
if, the active slave fails. The bond's MAC address is
externally visible on only one port (network adapter)
to avoid confusing the switch.
This mode provides fault tolerance. The "primary"
option affects the behavior of this mode.
balance-xor or 2
XOR policy: Transmit based on the selected transmit
hash policy. The default policy is a simple [(source
MAC address XOR'd with destination MAC address) modulo
slave count]. Alternate transmit policies may be
selected via the xmit_hash_policy option.
This mode provides load balancing and fault tolerance.
broadcast or 3
Broadcast policy: transmits everything on all slave
interfaces. This mode provides fault tolerance.
802.3ad or 4
IEEE 802.3ad Dynamic link aggregation. Creates
aggregation groups that share the same speed and
duplex settings. Utilizes all slaves in the active
aggregator according to the 802.3ad specification.
Slave selection for outgoing traffic is done according
to the transmit hash policy, which may be changed from
the default simple XOR policy via the xmit_hash_policy
option. Note that not all transmit policies may be 802.3ad
compliant, particularly inregards to the packet mis-ordering
requirements of section 43.2.4 of the 802.3ad standard.
Differing peer implementations will have varying tolerances for
noncompliance.
Note: Most switches will require some type of configuration
to enable 802.3ad mode.
balance-tlb or 5
Adaptive transmit load balancing: channel bonding that
does not require any special switch support. The
outgoing traffic is distributed according to the
current load (computed relative to the speed) on each
slave. Incoming traffic is received by the current
slave. If the receiving slave fails, another slave
takes over the MAC address of the failed receiving
slave.
balance-alb or 6
Adaptive load balancing: includes balance-tlb plus
receive load balancing (rlb) for IPV4 traffic, and
does not require any special switch support.
When a link is reconnected or a new slave joins the
bond the receive traffic is redistributed among all
active slaves in the bond by initiating ARP Replies
with the selected MAC address to each of the
clients. The updelay parameter must
be set to a value equal or greater than the switch's
forwarding delay so that the ARP Replies sent to the
peers will not be blocked by the switch.
balance-rr、active-backup、balance-tlb、balance-albはスイッチのサポートを必要としません。
balance-rrは、断片化を犠牲にしてパフォーマンスを向上させ、一部のプロトコル(CIFS)と3つ以上のインターフェースではパフォーマンスが低下します。
balance-albとbalance-tlbは、すべてのスイッチで正しく機能しない場合があります。多くの場合、いくつかのarpの問題があります(たとえば、一部のマシンは相互に接続できない場合があります)。安定したネットワークを実現するには、さまざまな設定(miimon、updelay)を微調整する必要がある場合があります。
balance-xorは、スイッチ構成を必要とする場合と必要としない場合があります。HPおよびCiscoスイッチで(LACPではなく)インターフェイスグループをセットアップする必要がありますが、D-Link、Netgear、およびFujitsuスイッチでは必要ないようです。
802.3adでは、スイッチ側にLACPグループが絶対に必要です。これは、パフォーマンスを向上させるために全体的にサポートされている最良のオプションです。
注:何をする場合でも、1つのネットワーク接続は常に1つの物理リンクのみを経由します。そのため、GigEインターフェースを集約する場合、各マシンに4つのGigEインターフェースが集約されていても(使用中のボンディングモードに関係なく)、マシンAからマシンBへのファイル転送は1ギガビット/秒を超えることはできません。