Red Hat Training
A Red Hat training course is available for RHEL 8
3.11. 異なるネットワークボンディングモード
Linux ボンディングドライバーは、リンクアグリゲーションを提供します。ボンディングは、複数のネットワークインターフェイスを並行して集約して、単一の論理結合インターフェイスを提供するプロセスです。ボンディングされたインターフェイスのアクションは、モードとも呼ばれるボンディングポリシーによって異なります。さまざまなモードが、ロードバランシングサービスまたはホットスタンバイサービスのいずれかを提供します。
次のモードがあります。
- Balance-rr (モード 0)
Balance-rr
は、使用可能な最初のポートから最後のポートへとパケットを順次送信するラウンドロビンアルゴリズムを使用します。このモードは、ロードバランシングとフォールトトレランスを提供します。このモードでは、EtherChannel または同様ポートのグループ化とも呼ばれるポートアグリゲーショングループのスイッチ設定が必要です。EtherChannel は、複数の物理イーサネットリンクを 1 つの論理イーサネットリンクにグループ化するポートリンクアグリゲーションテクノロジーです。
このモードの欠点は、負荷の高いワークロードや、TCP スループットと順序付けられたパケット配信が不可欠な場合には適していないことです。
- Active-backup (Mode 1)
Active-backup
は、結合内でアクティブなポートが 1 つだけであることを決定するポリシーを使用します。このモードはフォールトトレランスを提供し、スイッチ設定は必要ありません。アクティブポートに障害が発生すると、代替ポートがアクティブになります。ボンディングは、Gratuitous Address Resolution Protocol (ARP) 応答をネットワークに送信します。Gratuitous ARP は、ARP フレームの受信者に転送テーブルの更新を強制します。
Active-backup
モードは、Gratuitous ARP を送信して、ホストの接続を維持するための新しいパスを通知します。primary
オプションは、ボンディングインターフェイスの優先ポートを定義します。- Balance-xor (Mode 2)
Balance-xor
は、選択された送信ハッシュポリシーを使用してパケットを送信します。このモードは、ロードバランシングとフォールトトレランスを提供し、Etherchannel または同様のポートグループをセットアップするためのスイッチ設定を必要とします。パケット送信を変更して送信のバランスを取るために、このモードでは
xmit_hash_policy
オプションを使用します。インターフェイス上のトラフィックの送信元または宛先に応じて、インターフェイスには追加の負荷分散設定が必要です。xmit_hash_policy bonding parameter の説明を参照してください。- Broadcast (Mode 3)
Broadcast
は、すべてのインターフェイスですべてのパケットを送信するポリシーを使用します。このモードは、フォールトトレランスを提供し、EthercChannel または同様のポートグループをセットアップするためのスイッチ設定を必要とします。このモードの欠点は、負荷の高いワークロードや、TCP スループットと順序付けられたパケット配信が不可欠な場合には適していないことです。
- 802.3ad (Mode 4)
802.3ad
は、同じ名前の IEEE 標準の動的リンクアグリゲーションポリシーを使用します。このモードはフォールトトレランスを提供します。このモードでは、Link Aggregation Control Protocol (LACP) ポートグループを設定するためのスイッチ設定が必要です。このモードは、同じ速度とデュプレックス設定を共有するアグリゲーショングループを作成し、アクティブなアグリゲーターのすべてのポートを利用します。インターフェイス上のトラフィックの送信元または宛先に応じて、モードには追加の負荷分散設定が必要です。
デフォルトでは、発信トラフィックのポート選択は送信ハッシュポリシーに依存します。送信ハッシュポリシーの
xmit_hash_policy
オプションを使用して、ポートの選択を変更し、送信を分散します。802.3ad
とBalance-xor
の違いはコンプライアンスです。802.3ad
ポリシーは、ポートアグリゲーショングループ間で LACP をネゴシエートします。xmit_hash_policy bonding parameter の説明を参照してください。- Balance-tlb (Mode 5)
Balance-tlb
は、送信負荷分散ポリシーを使用します。このモードは、フォールトトレランスと負荷分散を提供し、スイッチサポートを必要としないチャネルボンディングを確立します。アクティブポートは着信トラフィックを受信します。アクティブポートに障害が発生した場合、別のポートが障害ポートの MAC アドレスを引き継ぎます。発信トラフィックを処理するインターフェイスを決定するには、次のいずれかのモードを使用します。
-
値が
0
: ハッシュ分散ポリシーを使用して、負荷分散なしでトラフィックを配分します 値が
1
: 負荷分散を使用してトラフィックを各ポートに配分しますボンディングオプション
tlb_dynamic_lb=0
を使用すると、このボンディングモードはxmit_hash_policy
ボンディングオプションを使用して送信を分散します。primary
オプションは、ボンディングインターフェイスの優先ポートを定義します。
xmit_hash_policy bonding parameter の説明を参照してください。
-
値が
- Balance-alb (Mode 6)
Balance-alb
は、適応負荷分散ポリシーを使用します。このモードは、フォールトトレランスとロードバランシングを提供し、特別なスイッチサポートを必要としません。このモードには、IPv4 および IPv6 トラフィックのバランス - 送信ロードバランシング (
balance-tlb
) と受信ロードバランシングが含まれます。ボンディングは、ローカルシステムから送信された ARP 応答を傍受し、ボンディング内のポートの 1 つの送信元ハードウェアアドレスを上書きします。ARP ネゴシエーションは、受信負荷分散を管理します。したがって、異なるポートは、サーバーに対して異なるハードウェアアドレスを使用します。primary
オプションは、ボンディングインターフェイスの優先ポートを定義します。ボンディングオプションtlb_dynamic_lb=0
を使用すると、このボンディングモードはxmit_hash_policy
ボンディングオプションを使用して送信を分散します。xmit_hash_policy bonding parameter の説明を参照してください。
関連情報
-
/usr/share/doc/kernel-doc-<version>/Documentation/networking/bonding.rst
(kernel-doc
パッケージで提供) -
/usr/share/doc/kernel-doc-<version>/Documentation/networking/bonding.txt
(kernel-doc
パッケージで提供) - Which bonding modes work when used with a bridge that virtual machine guests or containers connect to?
- How are the values for different policies in "xmit_hash_policy" bonding parameter calculated?