キャンセル
https://media.fs.com/images/community/uploads/post/201912/31/31-nic-teaming-nic-bonding-4.png

Windows NICチーミングとLinux NICボンディングの基本

Worton

翻訳者 ともや
2019年12月31日 に投稿された


NICチーミング(NIC:ネットワークインターフェイスカード)またはNICボンディングについてさまざまなベンダーから聞いたことがあると仮定します。複数の物理NICを、単一の目に見えるMACアドレスを外部に提示する仮想のNICにバインドしました。最終目標は、パフォーマンスの向上と冗長性の向上です。このガイドでは、Windows NICチーミングとLinux NICボンディングのそれぞれについて説明します。ロードバランシングとフォールトトレランスの機能を備えた2つの方法です。

Windows NICチーミングとは

NICチーミングは、Microsoftの世界では負荷分散/フェイルオーバー(LBFO)とも呼ばれ、同じ物理ホスト/サーバー内の複数の物理ネットワークアダプターカードをまとめて、単一の論理NICの形で「チーム」に入れます。Windowsオペレーティングシステムに接続された1つ以上の仮想アダプター(チームNIC、「tNIC」またはチームインターフェイスとも呼ばれる)として表示される接続されたネットワークアダプターは、同じIPを共有します。

Windows NICチーミングのモードはいくつですか?

市場ではさまざまな ネットワークアダプタが利用可能であり、Intel NICは主流の選択肢の中で最も一般的であり、Intel NICチーミングはいくつかのチーミングモードに分類できます:

アダプタフォールトトレランス(AFT) は、サーバーのネットワーク接続の自動冗長性を提供し、プライマリアダプタに障害が発生した場合、バックアップアダプタが引き継ぎます。

要件と制限:すべてのスイッチで動作します;すべてのチームメンバーは同じサブネットに接続する必要があります。チームごとに2〜8個のネットワークアダプターがあります。

スイッチフォールトトレランス(SFT) は、各アダプターが個別のスイッチに接続されている場合に2つのネットワークアダプターカード間のフェールオーバーを提供します。

要件と制限:個別のスイッチで動作します;すべてのチームメンバーは同じサブネットに接続する必要があります。SFTチームを作成するときは、スパニングツリープロトコル(STP)を有効にする必要があります。チームごとに2つのネットワークアダプターがあります。

適応負荷分散(ALB)は、負荷分散とアダプターのフォールトトレランスを提供します。受信負荷分散(RLB)は、デフォルトで有効になっているALBチームで有効または無効にできます。

要件と制限:すべてのスイッチで機能します。

仮想マシンロードバランシング(VMLB) は、チームインターフェイスにバインドされたVM(仮想マシン)間の送受信トラフィックロードバランシングを提供し、スイッチポート、ケーブル、またはネットワークカードの障害時のフォールトトレランスも提供します。

要件と制限:すべてのスイッチで機能します。

ファストイーサチャネル/リンクアグリゲーション(FEC) は、ロードバランシングアダプタのフォールトトレランスを提供し(ルーティングされたプロトコルのみ)、送受信スループットの向上に役立ちます。

要件と制限:FEC機能のリンク集約を備えたスイッチが必要チームごとに2〜8個のネットワークアダプターがあります。

ギガビットイーサチャネル/リンクアグリゲーション(GEC)は、FEC/リンクアグリゲーション/802.3adのギガビット拡張です。

要件と制限:すべてのチームメンバーはギガビット速度で動作する必要があります。

静的リンク集約(SLA)は、2つの先行FECとGECに取って代わりました。

要件と制限:静的モードのネットワークアダプターはすべて同じ速度で実行され、静的リンクアグリゲーション機能を備えたスイッチに接続する必要があります。ネットワークカードの速度が異なる場合、チームの速度は最小公分母に依存します。チームごとに8つのネットワークアダプターがあります。

ダイナミックリンクアグリゲーション(IEEE 802.3ad) は、混合速度のネットワークアダプターでダイナミックリンクアグリゲーションを使用して1つ以上のチームを作成します。これにより、フォールトトレランスが提供され、送受信スループットが向上します。

要件と制限:IEEE 802.3ad標準を完全にサポートするスイッチが必要です。

マルチベンダーチーミング(MVT)により、さまざまなベンダーのネットワークアダプターがチーム内で機能します。

Linux OSでNICボンディングに近づく

 Linux NICボンディングとは

  Linux OSでは、NICボンディングとは、複数のネットワークインターフェイスを1つの論理的な「ボンディング」インターフェイスに集約するプロセス、つまり、2つ以上のネットワークカードを組み合わせて接続し、1つとして機能させるプロセスを指します。ボンディングを構成するための前提条件は、イーサチャネルをサポートするネットワークスイッチを持つことです(ほぼすべてのスイッチの場合に当てはまります)。

 Linux NICボンディングのモードはいくつですか?

  ボンディングされたNICの動作は、採用されているボンディングモードのタイプによって異なります一般的に、モードはフォールトトレランスやロードバランシングサービスを提供できます。次の表に、7つのモードの詳細な説明を示します。


Mode Policy Fault
Tolerance
Load
Balancing
Features and Descriptions
mode=0
(balance-rr)
Round-robin Y Y The default mode.
In round-robin fashion, packets are transmitted/received
sequentially from the first available slave through the last.
mode=1
(active-backup)
Active-backup Y N ONLY one slave active while another is asleep. This standby NIC will act if the active NIC fails. Provided that there are N*interfaces, the resource utilization rate will be 1/N.
mode=2
(balance-xor)
XOR (Exclusive OR) Y Y Transmits based on the XOR formula. Once the connection between the NIC and the matched device is established, the same NIC will be used to transmit/receive for the destination MAC to ensure that the MAC address remains the same.
mode=3
(broadcast)
Broadcast Y N All the packets are sent on all slave interfaces at the expense of resource utilization.
Usually used for specific purposes, like the financial industry that needs an ultra-reliable network.
mode=4
(802.3ad)
IEEE 802.3ad Dynamic Link Aggregation Y Y Create aggregation groups that share the same speed and duplex settings.
Requires a switch that supports IEEE 802.3ad dynamic link aggregation.
mode=5
(balance-tlb)
Adaptive Transmit Load Balancing (TLB) Y Y The outgoing traffic is distributed according to the current load on each slave interface and the incoming traffic is received by the current slave.
Not require any special switch support.
mode=6
(balance-alb)
Adaptive Load Balancing (ALB) Y Y Add receive-load balancing function compared to the previous mode=5. And the receive-load balancing is achieved through ARP (Address Resolution Protocol) negotiation.
Not require any special switch support.
NOTE:
1. One bonding interface can only specify one mode.
2. mode=0, mode=2, and mode=3 requires static aggregation theoretically.
3. mode=4 need to support 802.3ad.
4. mode=1, mode=5, and mode=6 do not require any configurations on switch.
5. The choice of mode is dependent on the network topology, requirements for the bonding behaviors, and characteristics of the slave devices.
Normally speaking, the following modes are used for single switch topologies: mode=0 (balance-rr); mode=2 (balance-xor); mode=4 (802.3ad); mode=5 (balance-tlb); mode=6 (balance-alb). And the left two modes—mode=1 (active-backup) & mode=3 (broadcast) are applied for mulitple switch topology naturally.

よくある質問

NICのチーミングまたはボンディングは、サーバースイッチ接続の帯域幅を改善しますか?

多くの人は、「リンク集約」が帯域幅を増やすと信じているかもしれません。たとえば、3つのNICはそれぞれ1Gbpsで実行され、NICチームの速度は3Gbpsと記載されていますが、これは速度が3倍になったことを示していますか?違います!ご存知のように、通常は1Gbpsおよび10Gbpsイーサネットが使用されます。しかし、定義された3Gbps標準はありません。それでは、3Gbpsリンクをどのように実装しますか?真実は、実際には3Gbpsリンクがないことです。代わりに、3つの個別の1Gbpsリンクがあります。

 さらに重要なことは、利用可能なスループット全体ではなく、ネットワークリンクの復元力の観点からリンクアグリゲーションを考えることをお勧めします。たとえば、2Gbpsの集約リンクを介して1つのPCから別のPCにファイルを転送する場合、合計最大転送速度は最大1Gbpsのみです。ただし、2つのファイルを転送する場合、帯域幅の集約の利点が示されます。つまり、リンク集約により、速度の制限ではなく「レーン」の数が増加します。


NICチーミング/NICボンディングはユーザーに何をもたらすのでしょうか?

要するに、答えは負荷分散とフォールトトレランスです。

 負荷分散-発信トラフィックは、利用可能な物理NIC間の宛先アドレスに基づいて自動的に負荷分散されます。着信トラフィックは、トラフィックを サーバーにルーティングするスイッチによって制御されますが、ホスト/サーバーには物理NICトラフィックを制御する機能がありません。

 ォールトトレランス-基盤となる物理NICの1つがケーブルを切断または切断すると、ホスト/サーバーは障害を検出し、自動的にトラフィックをボンディング内の他のNICに移動し、ネットワーク接続全体のクラッシュを排除します。

Load balancing & fault tolerance.jpg

 図1:負荷分散とフォールトトレランス

負荷分散とフォールトトレランスの利点を活用して、NICチームのメンバーは共同で帯域幅を最適化し、ネットワークアダプターに障害が発生した場合の接続の損失を防ぎます。

4.9k

おすすめのコンテンツ