NICチーミングは、2つ以上のネットワークインターフェイスを1つの論理インターフェイスに結合または結合して、高いスループットと冗長性を提供するという概念です。この方法は、常に高可用性が期待される重要なサーバーで特に人気があります。 NICが2つ以上あるサーバーの場合 カードの場合、1枚のNICカードに障害が発生した場合、NICチーミングの概念が重要になります。 NICチーミングを使用すると、論理ネットワークインターフェイスにより、残りのNICが引き続き機能し、欠陥のあるNICの目的を果たすことが保証されます。このガイドでは、CentOS8およびRHEL8でのNICチーミングの構成について説明します。
周りの概念のいくつかを見てみましょう
- チーム化 –これは、チームネットワークインターフェースを構成できるデーモンです。 Teamdはlibteamプロジェクトの一部であり、libteamライブラリを活用して負荷分散とラウンドロビンロジックを実装します。
- Teamdctl –これは、チーム化されたインスタンスに構成情報と詳細な統計情報を照会するためのユーティリティツールです。
- ランナー –これらは、ラウンドロビンなどのNICチーミングのさまざまな概念を実装するために使用されるJSON形式の個別のコード単位です。
ランナーは次のモードで存在します:
- ラウンドロビン :このモードでは、データはすべてのポートに順番に送信されます。
- ブロードキャスト :ここでは、データはすべてのポートを介して送信されます。
- 負荷分散 :トラフィックはすべてのNICに分散されます。
- アクティブバックアップ :1つのリンクまたはポートがアクティブ化され、残りがバックアップとして予約されている場合。これは、このガイドで後で説明するように、冗長性を提供するためのフェイルオーバーに使用されます。
- Lacp :リンクアグリゲーションに802.3adプロトコルを使用します
それでは、CentOS8でNICチーミングを構成しましょう。
ステップ:1)Teamdデーモンをインストールします
Teamdは、チームネットワークの構成を可能にするデーモンです。嬉しいことに、CentOS8にはデーモンがすでにインストールされています。なんらかの理由でチームがCentOS8/ RHEL 8システムにない場合は、次のコマンドを実行します。
$ sudo dnf install teamd
インストールが完了すると、次のコマンドを実行して、チームに関する詳細情報を収集できます。
$ rpm -qi teamd
ステップ:2)nmcliツールを使用してNICチーミングを構成する
Nmcliは、NetworkManagerの管理に使用されるコマンドラインユーティリティです。ただし、最初に、システムに接続されているネットワークインターフェイスを確認しましょう。コマンドを実行します
$ nmcli device status
上記の出力から、システムには2つのイーサネット接続と1つのWi-Fi接続があります。 enp0s3およびenp0s8ネットワークデバイスをスレーブ接続として使用します。
次のコマンドを使用することもできます:
$ nmcli connection show
したがって、構文を使用してスレーブデバイスとして使用されるenp0s3およびenp0s8ネットワークデバイスを削除します
$nmcli接続はUUIDを削除します
したがって、次に進んでコマンドを実行します:
$ nmcli connection delete a2533841-93bf-4a78-9c84-4f7e8669e92f $ nmcli connection delete 77c70d70-2fb2-4a19-bc02-d71b49a6ffac
削除後、2つのネットワークデバイスが切断されます。これは、次のコマンドを実行して確認できます:
$ nmcli device status
それでは、新しいチームインターフェースを作成し、それをbond0と呼びましょう
$ nmcli connection add type team con-name bond0 ifname bond0 config '{"runner": {"name": "activebackup"}}'
値「activebackup ’は、ラウンドロビン、ブロードキャスト、ランダム、またはlacpのいずれかに置き換えることができるランナーです。
構成は/etc / sysconfig / network-scripts / ifcfg-team-bond0に追加されます ファイル。割り当てられている他の値を確認するには、次のコマンドを実行します。
$ nmcli con show bond0
構成したばかりのインターフェースを表示するには、次のコマンドを実行します。
$ nmcli connection show
これで、bond0インターフェースができました。 enp0s3およびenp0s8インターフェースは、以前に削除したため、リストされていないことに注意してください。
次に、チームインターフェイスへのIPアドレスとDNSエントリを構成し、自動接続されていることを確認します
$ nmcli con mod bond0 ipv4.addresses 192.168.43.100/24 $ nmcli con mod bond0 ipv4.gateway 192.168.43.1 $ nmcli con mod bond0 ipv4.dns 8.8.8.8 $ nmcli con mod bond0 ipv4.method manual $ nmcli con mod bond0 connection.autoconnect yes
次に、ネットワークスレーブをチームインターフェイスに追加します
$ nmcli con add type team-slave con-name bond0-slave0 ifname enp0s3 master bond0 $ nmcli con add type team-slave con-name bond0-slave1 ifname enp0s8 master bond0
チームインターフェイスとスレーブを表示するには、コマンドをもう一度実行します。
$ nmcli connection show
最後にチームインターフェースを再起動します
$ nmcli connection down bond0 && nmcli connection up bond0
チームインターフェイスを表示するには、次のコマンドを使用します:
$ ip address show dev bond0
teamdctlコマンドを使用して、チームインターフェースに関する詳細を収集します
$ sudo teamdctl bond0 state
上記の出力から、2つのリンクがアップしていることがはっきりとわかります– enp0s3 およびenp0s8 アクティブなポートはenp0s3です。
アクティブバックアップチーミングの機能のテスト
アクティブバックアップの冗長性をテストするために、enp0s3というラベルの付いたアクティブポートを停止し、他のリンクが起動するかどうかを確認します。
$ nmcli device disconnect enp0s3 $ sudo teamdctl bond0 state
ご覧のとおり、リンク enp0s8 が起動し、現在アクティブなポートになっています。これは数ミリ秒で発生し、いずれかの理由で一方のリンクがダウンした場合でも、サーバーへの接続はもう一方のリンクによって維持されることを示しています。
デフォルトゲートウェイとDNSにpingを実行すると、肯定的な結果も得られます。
この時点で、NICチーミングを正常に構成し、Active-Backupランナーを使用して冗長機能をテストしました。
チームを削除する方法
チームを削除する最初のステップは、非アクティブ化してチームインターフェイスを停止することです。
$ nmcli connection down bond0
次に、次に進み、図のようにスレーブを削除します
$ nmcli connection delete bond0-slave0 bond0-slave1
最後に、作成されたチームを削除します
$ nmcli connection delete bond0
これで、CentOS8でNICチーミングを構成する方法についてのこのガイドは終わりです。