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"このコマンドは、
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 device status DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bridge0 bridge connected bridge0 bridge1 bridge connected bridge1 ...この例では、以下のように設定されています。
-
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これらのコマンドは、
enp7s0およびenp8s0のプロファイルを作成し、bond0接続に追加します。既存の接続プロファイルをボンディングに割り当てるには、以下を実行します。
これらの接続の
controllerパラメーターをbond0に設定します。# nmcli connection modify bridge0 controller bond0 # nmcli connection modify bridge1 controller bond0これらのコマンドは、
bridge0およびbridge1という名前の既存の接続プロファイルをbond0接続に割り当てます。接続を再度アクティブにします。
# nmcli connection up bridge0 # nmcli connection up bridge1
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- 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- ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
- このボンディングデバイスを他のデバイスのポートとして使用する予定の場合は、何もする必要はありません。
オプション: ボンディングポートにパラメーターを設定する場合は、次のコマンドを使用します。
# nmcli connection modify bond0-port1 bond-port.<parameter> <value>接続をアクティベートします。
# nmcli connection up bond0ポートが接続されており、
CONNECTIONコラムがポートの接続名を表示していることを確認します。# nmcli device DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bond0-port1 enp8s0 ethernet connected bond0-port2接続のいずれかのポートをアクティブにすると、NetworkManager はボンディングもアクティブにしますが、他のポートはアクティブにしません。ボンディングが有効な場合に、Red Hat Enterprise Linux がすべてのポートを自動的に有効にするように設定できます。
ボンディングの接続の
connection.autoconnect-portsパラメーターを有効にします。# nmcli connection modify bond0 connection.autoconnect-ports 1ブリッジを再度アクティブにします。
# nmcli connection up bond0
検証
ネットワークデバイスの 1 つからネットワークケーブルを一時的に取り外し、ボンディング内の他のデバイスがトラフィックを処理しているかどうかを確認します。
ソフトウェアユーティリティーを使用して、リンク障害イベントを適切にテストする方法がないことに注意してください。
nmcliなどの接続を非アクティブにするツールでは、ポート設定の変更を処理するボンディングドライバーの機能のみが表示され、実際のリンク障害イベントは表示されません。ボンドのステータスを表示します。
# cat /proc/net/bonding/bond0