4.4. nmcli を使用した NIC チームの設定
コマンドラインでネットワークインターフェイスコントローラー (NIC) チームを設定するには、nmcli ユーティリティーを使用します。
NIC チーミングは Red Hat Enterprise Linux 9 では非推奨です。代わりに、ネットワークボンディングドライバーの使用を検討してください。詳細は、ネットワークボンディングの設定 を参照してください。
前提条件
-
teamdおよびNetworkManager-teamパッケージがインストールされている。 - サーバーに、2 つ以上の物理ネットワークデバイスまたは仮想ネットワークデバイスがインストールされている。
- チームのポートとしてイーサネットデバイスを使用するには、物理または仮想のイーサネットデバイスがサーバーにインストールされ、スイッチに接続されている必要があります。
チームのポートにボンディング、ブリッジ、または VLAN デバイスを使用するには、チームの作成時にこれらのデバイスを作成するか、次の説明に従って事前にデバイスを作成することができます。
手順
チームインターフェイスを作成します。
# nmcli connection add type team con-name team0 ifname team0 team.runner activebackupこのコマンドは、
activebackupランナーを使用するteam0という名前の NIC チームを作成します。オプション: リンクウォッチャーを設定します。たとえば、
team0接続プロファイルでethtoolリンク監視を設定するには、次のコマンドを実行します。# nmcli connection modify team0 team.link-watchers "name=ethtool"リンク監視は、さまざまなパラメーターに対応します。リンク監視にパラメーターを設定するには、
nameプロパティーでスペースで区切って指定します。name プロパティーは引用符で囲む必要があることに注意してください。たとえば、ethtoolリンク監視を使用し、delay-upパラメーターを2500ミリ秒 (2.5 秒) で設定するには、次のコマンドを実行します。# nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2500"複数のリンク監視および各リンク監視を、特定のパラメーターで設定するには、リンク監視をコンマで区切る必要があります。以下の例では、
delay-upパラメーターでethtoolリンク監視を設定します。arp_pingリンク監視は、source-hostパラメーターおよびtarget-hostパラメーターで設定します。# nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2, name=arp_ping source-host=192.0.2.1 target-host=192.0.2.2"ネットワークインターフェイスを表示し、次のステップでチームに追加するインターフェイスの名前を書き留めておきます。
# nmcli device status DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bond0 bond connected bond0 bond1 bond connected bond1 ...この例では、以下のように設定されています。
-
enp7s0およびenp8s0は設定されません。これらのデバイスをポートとして使用するには、次のステップに接続プロファイルを追加します。いずれの接続にも割り当てられていないチームのイーサネットインターフェイスのみを使用できる点に注意してください。 -
bond0およびbond1には既存の接続プロファイルがあります。これらのデバイスをポートとして使用するには、次の手順でプロファイルを変更します。
-
ポートインターフェイスをチームに割り当てます。
チームに割り当てるインターフェイスが設定されていない場合は、それらの接続プロファイルを新たに作成します。
# nmcli connection add type ethernet port-type team con-name team0-port1 ifname enp7s0 controller team0 # nmcli connection add type ethernet port--type team con-name team0-port2 ifname enp8s0 controller team0これらのコマンドは、
enp7s0およびenp8s0にプロファイルを作成し、team0接続に追加します。既存の接続プロファイルをチームに割り当てるには、以下を実行します。
これらの接続の
controllerパラメーターをteam0に設定します。# nmcli connection modify bond0 controller team0 # nmcli connection modify bond1 controller team0これらのコマンドは、
bond0およびbond1という名前の既存の接続プロファイルをteam0接続に割り当てます。接続を再度アクティブにします。
# nmcli connection up bond0 # nmcli connection up bond1
IPv4 を設定します。
静的 IPv4 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを
team0接続に設定するには、次のように実行します。# nmcli connection modify team0 ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253' ipv4.dns-search 'example.com' ipv4.method manual- DHCP を使用するために必要な操作はありません。
- この VLAN デバイスを他のデバイスのポートとして使用する予定の場合は、何もする必要はありません。
IPv6 設定を行います。
静的 IPv6 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを
team0接続に設定するには、次のように実行します。# nmcli connection modify team0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manual- この VLAN デバイスを他のデバイスのポートとして使用する予定の場合は、何もする必要はありません。
- ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
接続をアクティベートします。
# nmcli connection up team0
検証
チームのステータスを表示します。
# teamdctl team0 state setup: runner: activebackup ports: enp7s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp8s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp7s0この例では、両方のポートが起動しています。