ウェブサイト検索

CentOS 8/RHEL 8 で NIC チーミングまたはボンディングを作成する方法


NIC チーミング は、冗長性と高可用性を提供するために、2 つ以上のネットワーク リンクを 1 つの論理リンクに集約または結合することです。論理インターフェイス/リンクはチーム インターフェイスと呼ばれます。アクティブな物理リンクがダウンした場合、バックアップ リンクまたは予約リンクの 1 つが自動的に起動し、サーバーへの中断のない接続が確保されます。

チーミング用語

実際に作業を進める前に、次の用語を理解しておくことが重要です。

  • Teamd – これは、libteam ライブラリを使用して Linux カーネル経由でチーム デバイスと通信する NIC チーミング デーモンです。
  • Teamdctl – これは、ユーザーが teamd のインスタンスを制御できるようにするユーティリティです。ポートのステータスを確認および変更したり、バックアップ状態とアクティブ状態を切り替えたりできます。
  • ランナー – これらはJSONで記述されたコードの単位であり、さまざまな NIC チーミング概念の実装に使用されます。ランナー モードの例には、ラウンド ロビン、ロード バランシング、ブロードキャスト、アクティブ バックアップなどがあります。

このガイドでは、アクティブ バックアップ モードを使用してNIC チーミングを構成します。ここでは、1 つのリンクがアクティブのまま残りのリンクがスタンバイとなり、アクティブ リンクがダウンした場合に備えてバックアップ リンクとして予約されます。

このページでは

  • CentOS に Teamd デーモンをインストールする
  • CentOS で NIC チーミングを構成する
  • ネットワークのチーミング冗長性のテスト
  • ネットワークチーミングインターフェイスの削除

さっそく始めましょう。

ステップ 1: Teamd デーモンを CentOS にインストールする

Teamd は、実行時に論理インターフェイスとして機能するネットワーク チームの作成を担当するデーモンです。デフォルトではCentOS/RHEL 8がインストールされます。ただし、何らかの理由でインストールされていない場合は、次の dnf コマンドを実行してインストールします。

sudo dnf install teamd

インストールしたら、rpm コマンドを実行してteamd がインストールされていることを確認します。

rpm -qi teamd

ステップ 2: CentOS で NIC チーミングを構成する

NIC チーミングを構成するには、NetworkManager サービスの管理に使用できる便利な nmcli ツールを使用します。私のシステムには 2 枚の NIC カードがあり、これらを結合または結合して論理チーム インターフェイス、enp0s3enp0s8 を作成します。あなたの場合は異なるかもしれません。

アクティブなネットワーク インターフェイスが実行されていることを確認するには、次のコマンドを実行します。

nmcli device status

出力では、2 つのアクティブなネットワーク接続の存在が確認されます。 UUID などのインターフェイスに関する詳細情報を収集するには、次のコマンドを実行します。

nmcli connection show

論理リンクとなるネットワーク チーミング リンクまたはインターフェイスを作成するには、既存のネットワーク インターフェイスを削除します。その後、削除されたインターフェイスを使用してスレーブ インターフェイスを作成し、それらをチーミング リンクに関連付けます。

それぞれの UUID を使用して以下のコマンドを実行してリンクを削除します。

nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

今回インターフェースを確認すると、インターフェースが切断されており、サーバーに接続されていないことがわかります。基本的に、サーバーはネットワークの他の部分から隔離されます。

nmcli device status

次に、アクティブ バックアップ ランナー モードで team0 というチーム インターフェイスを作成します。前述したように、アクティブ バックアップ ランナー モードは 1 つのアクティブ インターフェイスを使用し、アクティブ リンクがダウンした場合の冗長性のために他のインターフェイスを予約します。

nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

team0 インターフェイスに割り当てられた属性を表示するには、次のコマンドを実行します。

nmcli connection show team0

完璧!この時点で、起動しているインターフェイスは 1 つだけです。これは、図に示すように team0 インターフェイスです。

nmcli connection show

次に、nmcli コマンドを使用して、team0 インターフェイスの IP アドレスを次のように設定します。ネットワークのサブネットと IP アドレス指定スキームに従って、必ず IP を割り当ててください。

nmcli con mod team0 ipv4.addresses 192.168.2.100/24
nmcli con mod team0 ipv4.gateway 192.168.2.1
nmcli con mod team0 ipv4.dns 8.8.8.8
nmcli con mod team0 ipv4.method manual
nmcli con mod team0 connection.autoconnect yes

その後、スレーブ リンクを作成し、スレーブをチーム リンクに関連付けます。

nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

リンクのステータスを再度確認すると、スレーブ リンクがアクティブになっていることがわかります。

nmcli connection show

次に、チームリンクを無効にしてから有効にします。これにより、スレーブ リンクとチーム リンク間の接続がアクティブになります。

nmcli connection down team0 && nmcli connection up team0

次に、図に示すように、チーム リンク接続の状態を確認します。

ip addr show dev team0

リンクが、前に構成した正しい IP アドレスで稼働していることがわかります。

チーム リンクに関する追加の詳細を取得するには、次のコマンドを実行します。

sudo teamdctl team0 state

出力から、両方のリンク (enp0s3enp0s8) が稼働しており、アクティブなリンクが enp0s8 であることがわかります。

ステップ 3: ネットワーク チーミングの冗長性をテストする

アクティブ バックアップ チーミング モードをテストするには、現在アクティブなリンク enp0s3 を切断し、他のリンクが起動するかどうかを確認します。

nmcli device disconnect enp0s3
sudo teamdctl team0 state

チーミング インターフェイスのステータスを確認すると、リンク enp0s8 が開始され、サーバーへの接続を提供していることがわかります。これにより、セットアップが機能していることが確認できます。

ステップ 4: ネットワーク チーミング インターフェイスの削除

チーミング インターフェイス/リンクを削除してデフォルトのネットワーク設定に戻す場合は、まずチーミング リンクを停止します。

nmcli connection down team0

次にスレーブを削除します。

nmcli connection delete team0-slave0 team0-slave1

最後に、チーミング インターフェイスを削除します。

nmcli connection delete team0

この時点で、すべてのインターフェイスがダウンしており、サーバーにアクセスできません。ネットワーク インターフェイスをアクティブにして接続を回復するには、次のコマンドを実行します。

sudo ifconfig enp0s3 up
sudo ifconfig enp0s8 up
sudo systemctl restart NetworkManager
結論

NIC チーミングは、ネットワーク冗長性のための優れたソリューションを提供します。 2 つ以上のネットワーク インターフェイスを使用すると、任意のランナー モードでチーミング インターフェイスを構成して、1 つのリンクが誤ってダウンした場合でも高可用性を確保できます。このガイドがお役に立てば幸いです。ご感想を聞かせてください。