第4章 NIC チームの設定
ネットワークインターフェイスコントローラー (NIC) チーミングは、物理ネットワークインターフェイスと仮想ネットワークインターフェイスを結合または集約して、より高いスループットまたは冗長性を備えた論理インターフェイスを提供する方法です。NIC チーミングでは、小さなカーネルモジュールを使用して、パケットフローの高速処理と他のタスク用のユーザー空間サービスを実装します。このように、NIC チーミングは、負荷分散と冗長性の要件に応じて簡単に拡張できるスケーラブルなソリューションです。
Red Hat Enterprise Linux は、チームデバイスを設定するためのさまざまなオプションを管理者に提供します。以下に例を示します。
-
nmcliを使用し、コマンドラインを使用してチーム接続を設定します。 - RHEL Web コンソールを使用し、Web ブラウザーを使用してチーム接続を設定します。
-
nm-connection-editorアプリケーションを使用して、グラフィカルインターフェイスでチーム接続を設定します。
NIC チーミングは Red Hat Enterprise Linux 9 では非推奨です。代わりに、ネットワークボンディングドライバーの使用を検討してください。詳細は、ネットワークボンディングの設定 を参照してください。
4.1. ネットワークボンディングへの NIC チーム設定の移行 リンクのコピーリンクがクリップボードにコピーされました!
ネットワークインターフェイスコントローラー (NIC) チーミングは、Red Hat Enterprise Linux 9 では非推奨です。以前の RHEL バージョンからアップグレードした場合など、すでに機能する NIC チームが設定されている場合は、NetworkManager によって管理されるネットワークボンディングに設定を移行できます。
team2bond ユーティリティーは、チーム設定をボンディングに変換するだけです。その後、IP アドレスや DNS 設定など、ボンディングの詳細設定を手動で行う必要があります。
前提条件
-
team-team0NetworkManager の接続プロファイルが設定され、team0デバイスを管理している。 -
teamdパッケージがインストールされている。
手順
オプション:
team-team0NetworkManager 接続の IP 設定を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow team0デバイスの設定を JSON ファイルにエクスポートします。teamdctl team0 config dump actual > /tmp/team0.json
# teamdctl team0 config dump actual > /tmp/team0.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow NIC チームを削除します。たとえば、NetworkManager でチームを設定した場合は、
team-team0接続プロファイルと、関連するポートのプロファイルを削除します。nmcli connection delete team-team0 nmcli connection delete team-team0-port1 nmcli connection delete team-team0-port2
# nmcli connection delete team-team0 # nmcli connection delete team-team0-port1 # nmcli connection delete team-team0-port2Copy to Clipboard Copied! Toggle word wrap Toggle overflow team2bondユーティリティーをドライランモードで実行して、チームデバイスと同様の設定でネットワークボンディングを設定するnmcliコマンドを表示します。team2bond --config=/tmp/team0.json --rename=bond0 nmcli con add type bond ifname bond0 bond.options "mode=active-backup,num_grat_arp=1,num_unsol_na=1,resend_igmp=1,miimon=100,miimon=100" nmcli con add type ethernet ifname enp7s0 controller bond0 nmcli con add type ethernet ifname enp8s0 controller bond0
# team2bond --config=/tmp/team0.json --rename=bond0 nmcli con add type bond ifname bond0 bond.options "mode=active-backup,num_grat_arp=1,num_unsol_na=1,resend_igmp=1,miimon=100,miimon=100" nmcli con add type ethernet ifname enp7s0 controller bond0 nmcli con add type ethernet ifname enp8s0 controller bond0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 最初のコマンドには 2 つの
miimonオプションが含まれます。これは、チーム設定ファイルに 2 つのlink_watchエントリーが含まれていたためです。これはボンディングの作成には影響しないことに注意してください。サービスをチームのデバイス名にバインドし、これらのサービスの更新や破損を回避する場合は、
--rename=bond0を省略します。この場合、team2bondは、チームと同じインターフェイス名をボンディングに使用します。-
team2bondユーティリティーが推奨するボンディングのオプションが正しいことを確認します。 ボンディングを作成します。推奨される
nmcliコマンドを実行するか、--exec-cmdオプションを指定してteam2bondコマンドを再実行できます。team2bond --config=/tmp/team0.json --rename=bond0 --exec-cmd Connection 'bond-bond0' (0241a531-0c72-4202-80df-73eadfc126b5) successfully added. Connection 'bond-port-enp7s0' (38489729-b624-4606-a784-1ccf01e2f6d6) successfully added. Connection 'bond-port-enp8s0' (de97ec06-7daa-4298-9a71-9d4c7909daa1) successfully added.
# team2bond --config=/tmp/team0.json --rename=bond0 --exec-cmd Connection 'bond-bond0' (0241a531-0c72-4202-80df-73eadfc126b5) successfully added. Connection 'bond-port-enp7s0' (38489729-b624-4606-a784-1ccf01e2f6d6) successfully added. Connection 'bond-port-enp8s0' (de97ec06-7daa-4298-9a71-9d4c7909daa1) successfully added.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の手順では、ボンディング接続プロファイル (
bond-bond0) の名前が必要です。team-team0で以前設定した IPv4 設定を、bond-bond0接続に設定します。nmcli connection modify bond-bond0 ipv4.addresses '192.0.2.1/24' nmcli connection modify bond-bond0 ipv4.gateway '192.0.2.254' nmcli connection modify bond-bond0 ipv4.dns '192.0.2.253' nmcli connection modify bond-bond0 ipv4.dns-search 'example.com' nmcli connection modify bond-bond0 ipv4.method manual
# nmcli connection modify bond-bond0 ipv4.addresses '192.0.2.1/24' # nmcli connection modify bond-bond0 ipv4.gateway '192.0.2.254' # nmcli connection modify bond-bond0 ipv4.dns '192.0.2.253' # nmcli connection modify bond-bond0 ipv4.dns-search 'example.com' # nmcli connection modify bond-bond0 ipv4.method manualCopy to Clipboard Copied! Toggle word wrap Toggle overflow team-team0で以前設定した IPv6 設定を、bond-bond0接続に設定します。nmcli connection modify bond-bond0 ipv6.addresses '2001:db8:1::1/64' nmcli connection modify bond-bond0 ipv6.gateway '2001:db8:1::fffe' nmcli connection modify bond-bond0 ipv6.dns '2001:db8:1::fffd' nmcli connection modify bond-bond0 ipv6.dns-search 'example.com' nmcli connection modify bond-bond0 ipv6.method manual
# nmcli connection modify bond-bond0 ipv6.addresses '2001:db8:1::1/64' # nmcli connection modify bond-bond0 ipv6.gateway '2001:db8:1::fffe' # nmcli connection modify bond-bond0 ipv6.dns '2001:db8:1::fffd' # nmcli connection modify bond-bond0 ipv6.dns-search 'example.com' # nmcli connection modify bond-bond0 ipv6.method manualCopy to Clipboard Copied! Toggle word wrap Toggle overflow 接続をアクティベートします。
nmcli connection up bond-bond0
# nmcli connection up bond-bond0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
bond-bond0NetworkManager 接続の IP 設定を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ボンドのステータスを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、両方のポートが起動しています。
ボンディングフェイルオーバーが機能することを確認するには、以下を行います。
- ホストからネットワークケーブルを一時的に削除します。コマンドラインでリンク障害イベントを適切にテストする方法がないことに注意してください。
ボンドのステータスを表示します。
cat /proc/net/bonding/bond0
# cat /proc/net/bonding/bond0Copy to Clipboard Copied! Toggle word wrap Toggle overflow