はじめに
NIC チーム化は、サーバー/ワークステーションコンピューティング領域の冗長性と高可用性に対する興味深いソリューションを提供します。複数のネットワークインターフェイスカードを使用できるため、管理者は特定のサーバーへのアクセス方法を工夫したり、トラフィックが特定のサーバーに流れるためのより大きなパイプを作成したりできます。
このガイドでは、Debian11システムでの2つのネットワークインターフェイスカードのチーム化について説明します。 ifenslaveを使用します NICを接続および切断するためのソフトウェア 結合されたデバイスから。
構成の前に最初に行うことは、システムが実際に実装する必要のあるボンディングのタイプを判別することです。この記事の執筆時点で、Linuxカーネルでサポートされているボンディングモードは6つあります。これらの結合の「モード」の一部 ‘はセットアップが簡単で、リンクが接続するスイッチに特別な構成が必要なものもあります。
結合モードを理解する:
モード | ポリシー | 仕組み | フォールトトレランス | 負荷分散 |
0 | ラウンドロビン | パケットは、各インターフェイスを介して1つずつ順番に送受信されます。 | いいえ | はい |
1 | アクティブバックアップ | 別のNICがスリープしているときに1つのNICがアクティブです。アクティブなNICがダウンすると、別のNICがアクティブになります。 x86環境でのみサポートされます。 | はい | いいえ |
2 | XOR[排他的論理和] | このモードでは、スレーブNICのMACアドレスが着信要求のMACと照合され、この接続が確立されると、同じNICが宛先MACの送受信に使用されます。 | はい | はい |
3 | 放送 | すべての送信はすべてのスレーブで送信されます | はい | いいえ |
4 | 動的リンクアグリゲーション | 集約されたNICは1つのNICとして機能するため、スループットが向上しますが、NICに障害が発生した場合のフェイルオーバーも提供します。動的リンクアグリゲーションには、IEEE802.3adをサポートするスイッチが必要です。 | はい | はい |
5 | 送信負荷分散(TLB) | 発信トラフィックは、各スレーブインターフェイスの現在の負荷に応じて分散されます。着信トラフィックは現在のスレーブによって受信されます。受信側のスレーブに障害が発生した場合、別のスレーブが障害のあったスレーブのMACアドレスを引き継ぎます。 | はい | はい |
6 | アダプティブロードバランシング(ALB) | ダイナミックリンクアグリゲーションとは異なり、アダプティブロードバランシングでは特定のスイッチ構成は必要ありません。アダプティブロードバランシングは、x86環境でのみサポートされます。受信パケットは、ARPネゴシエーションによって負荷分散されます。 | はい | はい |
1-更新とアップグレード
ルートにログインし、更新コマンドとアップグレードコマンドを入力します。
apt update
apt upgrade
したがって、この場合、Debian11を使用します。

2-ifenslaveパッケージをインストールします
このプロセスの2番目のステップは、リポジトリから適切なソフトウェアを入手することです。 Debian用のソフトウェアはifenslave aptでインストールできます

3-カーネルモジュールをロードする
ソフトウェアがインストールされると、カーネルは、この現在のインストールと将来の再起動の両方でボンディングモジュールをロードするように指示される必要があります。

4-結合されたインターフェースを作成する
カーネルがNICボンディングに必要なモジュールを認識したので、実際のボンディングされたインターフェイスを作成します。これは、「/etc/network/interfaces
」にあるinterfacesファイルを介して行われます。 ‘
このファイルには、システムが接続しているすべてのネットワークデバイスのネットワークインターフェイス設定が含まれています。この例には、2つのネットワークカード( eth0 )があります およびeth1 )。
このファイルでは、2つの物理ネットワークカードを1つの論理インターフェイスにスレーブ化するための適切なボンドインターフェイスを作成する必要があります。

「bond-mode 1
‘は、この特定の結合インターフェースで使用される結合モードを決定するために使用されるものです。この場合、bond-mode 1は、このボンドがオプション「bond-primary
」を使用したアクティブバックアップ設定であることを示します。 ‘は、使用するボンドのプライマリインターフェイスを示します。 ‘slaves eth0 eth1
‘は、どの物理インターフェースがこの特定の結合インターフェースの一部であるかを示します。
さらに、次の数行は、リンク障害が発生した場合に、ボンドがプライマリインターフェイスからスレーブインターフェイスの1つにいつ切り替わるかを決定するために重要です。 ミイモン は、結合リンクのステータスを監視するために使用できるオプションの1つであり、他のオプションは arpの使用です。 リクエスト。
このガイドでは、 miimonを使用します 。 ‘bond-miimon 100
‘はカーネルに100ミリ秒ごとにリンクを検査するように指示します。 ‘bond-downdelay 400
‘は、現在アクティブなインターフェイスが実際にダウンしていると判断する前に、システムが400ミリ秒待機することを意味します。
「bond-updelay 800
‘は、リンクが確立されてから800ミリ秒後まで、新しいアクティブなインターフェイスの使用を待機するようにシステムに指示するために使用されます。最も重要なのは、 遅延 およびダウンディレイ 、これらの値は両方ともmiimon値の倍数である必要があります。そうでない場合、システムは切り捨てられます。
5-結合されたインターフェースを起動する
- ifdown eth0 eth1 –これにより、両方のネットワークインターフェイスがダウンします。
- ifup bond0 –これにより、bond0インターフェースをオンラインにし、その後eth0とeth1をbond0インターフェースのスレーブとして起動するようにシステムに指示します。
すべてが計画どおりに進んでいる限り、システムは eth0をもたらす必要があります およびeth1 下げてから上げますbond0 。 bond0を表示します 、 eth0 およびeth1 以前にinterfacesファイルで作成されたアクティブバックアップNICチームのメンバーであるために再アクティブ化されます。
6-結合されたインターフェースのステータスを確認する


7-結合構成のテスト
eth0インターフェースを切断して、何が起こるかを確認します


元々、ボンドは eth0を使用していました プライマリインターフェースとして使用しますが、ネットワークケーブルが切断されると、結合 リンクが実際にダウンであると判断する必要がありました 、次に構成済みの400ミリ秒を待ちます インターフェースを完全に無効にしてから、他のスレーブインターフェースの1つを起動してトラフィックを処理します。
この出力は、 eth0 リンク障害が発生し、ボンディングモジュールが eth1を使用して問題を修正しました ボンドのトラフィックを引き続き処理するためのオンラインのスレーブインターフェイス。
この時点で、ボンドはアクティブバックアップで機能しています。 構成された状態!この特定のガイドではアクティブバックアップのチーム化についてのみ説明しましたが、他の方法も構成が非常に簡単ですが、選択したボンディング方法に応じて異なるパラメーターが必要になります。利用可能な6つのボンドオプションのうち、ボンドモード4では、特定のシステムが接続したスイッチに特別な構成が必要になることを忘れないでください。