3.3. nmcli を使用したネットワークボンディングの設定
コマンドラインでネットワークボンディングを設定するには、nmcli
ユーティリティーを使用します。
前提条件
- サーバーに、2 つ以上の物理ネットワークデバイスまたは仮想ネットワークデバイスがインストールされている。
-
ホストが Red Hat Enterprise Linux 9.4 以降で実行されている。このバージョンでは、この手順で使用される
port-type
、controller
、connection.autoconnect-ports
オプションが導入されました。以前の RHEL バージョンでは、代わりにslave-type
、master
、connection.autoconnect-slaves
が使用されます。 - ボンディングのポートとしてイーサネットデバイスを使用するには、物理または仮想のイーサネットデバイスがサーバーにインストールされている。
ボンディングのポートにチーム、ブリッジ、または VLAN デバイスを使用するには、ボンディングの作成時にこれらのデバイスを作成するか、次の説明に従って事前にデバイスを作成することができます。
手順
ボンドインターフェイスを作成します。
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
Copy to Clipboard Copied! このコマンドは、
active-backup
モードを使用するbond0
という名前のボンディングを作成します。Media Independent Interface (MII) 監視間隔も設定する場合は、
miimon=interval
オプションをbond.options
プロパティーに追加します。次に例を示します。nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
Copy to Clipboard Copied! ネットワークインターフェイスを表示して、ボンドに追加する予定のインターフェイス名を書き留めます。
nmcli device status
# nmcli device status DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bridge0 bridge connected bridge0 bridge1 bridge connected bridge1 ...
Copy to Clipboard Copied! この例では、以下のように設定されています。
-
enp7s0
およびenp8s0
は設定されません。これらのデバイスをポートとして使用するには、次のステップに接続プロファイルを追加します。 -
bridge0
およびbridge1
には既存の接続プロファイルがあります。これらのデバイスをポートとして使用するには、次の手順でプロファイルを変更します。
-
インターフェイスをボンディングに割り当てます。
ボンディングに割り当てるインターフェイスが設定されていない場合は、インターフェイス用に新しい接続プロファイルを作成します。
nmcli connection add type ethernet port-type bond con-name bond0-port1 ifname enp7s0 controller bond0 nmcli connection add type ethernet port-type bond con-name bond0-port2 ifname enp8s0 controller bond0
# nmcli connection add type ethernet port-type bond con-name bond0-port1 ifname enp7s0 controller bond0 # nmcli connection add type ethernet port-type bond con-name bond0-port2 ifname enp8s0 controller bond0
Copy to Clipboard Copied! これらのコマンドは、
enp7s0
およびenp8s0
のプロファイルを作成し、bond0
接続に追加します。既存の接続プロファイルをボンディングに割り当てるには、以下を実行します。
これらの接続の
controller
パラメーターをbond0
に設定します。nmcli connection modify bridge0 controller bond0 nmcli connection modify bridge1 controller bond0
# nmcli connection modify bridge0 controller bond0 # nmcli connection modify bridge1 controller bond0
Copy to Clipboard Copied! これらのコマンドは、
bridge0
およびbridge1
という名前の既存の接続プロファイルをbond0
接続に割り当てます。接続を再度アクティブにします。
nmcli connection up bridge0 nmcli connection up bridge1
# nmcli connection up bridge0 # nmcli connection up bridge1
Copy to Clipboard Copied!
IPv4 を設定します。
静的 IPv4 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを
bond0
接続に設定するには、次のように実行します。nmcli connection modify bond0 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
# nmcli connection modify bond0 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
Copy to Clipboard Copied! - DHCP を使用するために必要な操作はありません。
- このボンディングデバイスを他のデバイスのポートとして使用する予定の場合は、何もする必要はありません。
IPv6 設定を行います。
静的 IPv6 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを
bond0
接続に設定するには、次のように実行します。nmcli connection modify bond0 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 modify bond0 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
Copy to Clipboard Copied! - ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
- このボンディングデバイスを他のデバイスのポートとして使用する予定の場合は、何もする必要はありません。
オプション: ボンディングポートにパラメーターを設定する場合は、次のコマンドを使用します。
nmcli connection modify bond0-port1 bond-port.<parameter> <value>
# nmcli connection modify bond0-port1 bond-port.<parameter> <value>
Copy to Clipboard Copied! 接続をアクティベートします。
nmcli connection up bond0
# nmcli connection up bond0
Copy to Clipboard Copied! ポートが接続されており、
CONNECTION
コラムがポートの接続名を表示していることを確認します。nmcli device
# nmcli device DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bond0-port1 enp8s0 ethernet connected bond0-port2
Copy to Clipboard Copied! 接続のいずれかのポートをアクティブにすると、NetworkManager はボンディングもアクティブにしますが、他のポートはアクティブにしません。ボンディングが有効な場合に、Red Hat Enterprise Linux がすべてのポートを自動的に有効にするように設定できます。
ボンディングの接続の
connection.autoconnect-ports
パラメーターを有効にします。nmcli connection modify bond0 connection.autoconnect-ports 1
# nmcli connection modify bond0 connection.autoconnect-ports 1
Copy to Clipboard Copied! ブリッジを再度アクティブにします。
nmcli connection up bond0
# nmcli connection up bond0
Copy to Clipboard Copied!
検証
ネットワークデバイスの 1 つからネットワークケーブルを一時的に取り外し、ボンディング内の他のデバイスがトラフィックを処理しているかどうかを確認します。
ソフトウェアユーティリティーを使用して、リンク障害イベントを適切にテストする方法がないことに注意してください。
nmcli
などの接続を非アクティブにするツールでは、ポート設定の変更を処理するボンディングドライバーの機能のみが表示され、実際のリンク障害イベントは表示されません。ボンドのステータスを表示します。
cat /proc/net/bonding/bond0
# cat /proc/net/bonding/bond0
Copy to Clipboard Copied!