Linuxのチャネルボンディングモードの違いは何ですか?


8

Linuxでは、複数のネットワークインターフェースを「結合された」ネットワークインターフェースに組み合わせて、フェイルオーバーを提供できます。

ただし、いくつかのモードがあり、そのうちのいくつかはスイッチのサポートを必要としません。どのモードでも使用できるという点で、スイッチに制約はありません。

ただし、さまざまなモードについて読むと、それぞれの長所と短所がすぐにはわかりません。

  1. 一部のモードはより高速なフェイルオーバーを提供しますか?
  2. 各モードのCPU負荷への影響はどうですか?
  3. 冗長性を提供するだけでなく、帯域幅を組み合わせることができるモードはどれですか?
  4. それには制限がありますか?
  5. balance-rrはスイッチのサポートを必要としますか?
  6. 信頼性は?長期にわたるあなたの経験は何ですか?

あなたは持って読んでカーネルボンディングHOWTOを、あなたは持っていませんか?それはあなたの質問に答えるべきです。
the-wabbit

はい、それは彼らがある程度まで何をするかを教えてくれます。ただし、運用環境でのパフォーマンスはわかりません。「スイッチのサポートは不要」と言う人もいます。他の人はコメントがなく、あなたが推測するままにしておきます。
Matt

なぜ反対票かはわかりません。これは完全に有効な質問であり、トピックに関してはそうではありませんか?
マット

反対票および/または準決議をした人は誰でも、少なくとも質問を改善する機会を得られるように、理由を教えてください。
マット

あなたの質問の仕方が、あなたが質問する前にあなたが多くの調査やドキュメントを読んでいなかったように思われるので、私はおそらく反対票を投じていると思います。反対投票のツールチップを参照してください。
Zoredache

回答:


9
  1. フェイルオーバーの最大の要因は、リンク障害が検出される速度です。ホストからケーブルを外すと、すべて正常に機能します。それ以外の場合はデッドスイッチのライブリンクを残します。ほとんどのモード(ビーコン/キープアライブをサポートするモードを除く)は、トラフィックの一部をどこにも送信しません。

  2. 一般的に言って、ネットワークトラフィックは割り込み駆動型です。さまざまなハッシュアルゴリズムが意味のある違いを生むことはありません。

  3. アクティブ/スタンバイまたはブロードキャストすべてではないモードは、さまざまな程度でトラフィックを共有します。一部のモードはパケット単位でバランスをとることができ、他のモードはフロー単位で動作します。前者はより均等に負荷を分散しますが、後者は実際のネットワークではるかに役立ちます(読み取り:機能的/安定的)。

  4. はい-各モードには制限がありますが、アプリケーションと対話するには、アプリケーションについてもっと知る必要があります。

  5. LACP / 802.3ad(モード4)のみがスイッチでのサポートを明示的に必要とします。とはいえ、特定のパターンでスイッチに送信したからといって、スイッチが同じ方法でスイッチに送信するわけではありません。

  6. 私が本番環境で信頼する傾向がある唯一のモードは802.3adであり、適切に構成されたスイッチにより、正しいリンクのみが最終的にチャネルに到達することを保証し、トラフィックの共有にある程度の対称性と予測可能な応答を提供します。リンクがダウンしています。このモードでは、いくつかの一般的ですが厄介な問題(つまり、ユニキャストフラッディング)も回避されます。アクティブ/スタンバイも非常に一般的です。特定の状況では他のモードが必要になる場合がありますが、IMOはより痛みを伴う傾向があります。

他のフロー/ MAC / IPベースのバランシングモードまたはアクティブ/スタンバイも問題なく、管理されていないスイッチを扱うときに必要になる場合があります。


10

これらのポイントのほとんどは/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ギガビット/秒を超えることはできません。


802.3adはLACPの使用を義務付けていないことに注意してください。LACPは、動的リンク集約構成用の単なる制御プロトコルであり、LACPなしで完全に静的 LAセットアップを行うことができます。
the-wabbit

1
これは事実ですが、ほとんどのスイッチは静的リンク集約構成を許可せず、集約を「LACPモード」で呼び出します。
wazoox

802.3adは、静的LAとLACPの両方を定義します。スイッチが802.3adに準拠すると主張する場合、両方を実装する必要があります。LACPを実装し、静的LAも実装した、手元にあるすべてのスイッチモデル。
the-wabbit

1

カーネルのドキュメントはそれらの質問のいくつかに答えます:

イーサネットボンディング


1
リンクを提供するだけでなく、この回答の改善に少し時間をかけてください。リンクは役に立ちますが、ここでの回答は単なるドキュメントへのリンクではありません。
Zoredache

そのリンクをありがとう。セクション12.1.1シングルスイッチトポロジのMTボンディングモードの選択は、私が求めていたものです。
Matt

ええ、
それで私は
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.