4.3. nmcli を使用した NIC チームの設定
コマンドラインでネットワークインターフェイスコントローラー (NIC) チームを設定するには、nmcli
ユーティリティーを使用します。
NIC チーミングは Red Hat Enterprise Linux 9 では非推奨です。サーバーを将来バージョンの RHEL にアップグレードする予定がある場合は、代替手段としてカーネルボンディングドライバーの使用を検討してください。詳細は、ネットワークボンディングの設定 を参照してください。
前提条件
-
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 slave-type team con-name team0-port1 ifname enp7s0 master team0 # nmcli connection add type ethernet slave--type team con-name team0-port2 ifname enp8s0 master team0
これらのコマンドは、
enp7s0
およびenp8s0
にプロファイルを作成し、team0
接続に追加します。既存の接続プロファイルをチームに割り当てるには、以下を実行します。
これらの接続の
master
パラメーターをteam0
に設定します。# nmcli connection modify bond0 master team0 # nmcli connection modify bond1 master team0
これらのコマンドは、
bond0
およびbond1
という名前の既存の接続プロファイルをteam0
接続に割り当てます。接続を再度アクティブにします。
# nmcli connection up bond0 # nmcli connection up bond1
IPv4 を設定します。
このチームデバイスを他のデバイスのポートとして使用する場合は、次のように実行します。
# nmcli connection modify team0 ipv4.method disabled
- DHCP を使用するために必要な操作はありません。
静的 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
IPv6 設定を行います。
このチームデバイスを他のデバイスのポートとして使用する場合は、次のように実行します。
# nmcli connection modify team0 ipv6.method disabled
- ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
静的 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
接続をアクティベートします。
# 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
この例では、両方のポートが起動しています。
関連情報
- 特定のプロファイルでのデフォルトゲートウェイの指定を防ぐための NetworkManager の設定
- teamd サービス、ランナー、およびリンク監視の理解
-
システム上の
nm-settings(5)
およびteamd.conf(5)
man ページ