8.8. ホットプラグ対応のセカンダリーネットワークインターフェイス
仮想マシンを停止せずに、セカンダリーネットワークインターフェイスを追加または削除できます。OpenShift Virtualization は、VirtIO デバイスドライバーを使用する Linux ブリッジインターフェイスのホットプラグとホットアンプラグをサポートしています。
ブリッジネットワークインターフェイスのホットプラグおよびホットアンプラグは、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
8.8.1. VirtIO の制限事項 リンクのコピーリンクがクリップボードにコピーされました!
各 VirtIO インターフェイスは、仮想マシン内の限られたペリフェラル接続インターフェイス (PCI) スロットの 1 つを使用します。合計 32 個のスロットが利用可能です。PCI スロットは他のデバイスでも使用され、事前に予約する必要があるため、オンデマンドでスロットを利用できない場合があります。OpenShift Virtualization は、ホットプラグインターフェイス用に最大 4 つのスロットを予約します。これには、接続されている既存のネットワークインターフェイスが含まれます。たとえば、仮想マシンにプラグインされた既存のインターフェイスが 2 つある場合は、さらに 2 つのネットワークインターフェイスをホットプラグできます。
ホットプラグに使用できる実際のスロット数もマシンのタイプによって異なります。たとえば、q35 マシンタイプのデフォルトの PCI トポロジーは、1 台の追加 PCIe デバイスのホットプラグをサポートしています。PCI トポロジーとホットプラグのサポートの詳細は、libvirt のドキュメント を参照してください。
インターフェイスをホットプラグした後に仮想マシンを再起動すると、そのインターフェイスは標準ネットワークインターフェイスの一部になります。
8.8.2. CLI を使用したブリッジネットワークインターフェイスのホットプラグ リンクのコピーリンクがクリップボードにコピーされました!
仮想マシンの実行中に、ブリッジネットワークインターフェイスを仮想マシンにホットプラグします。
前提条件
- ネットワークアタッチメント定義が、仮想マシンと同じ namespace に設定されている。
-
virtctl
ツールがインストールされています。
手順
ネットワークインターフェイスをホットプラグする仮想マシンが実行していない場合は、次のコマンドを使用して仮想マシンを起動します。
virtctl start <vm_name> -n <namespace>
$ virtctl start <vm_name> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、新しいネットワークインターフェイスを実行中の仮想マシンにホットプラグします。
virtctl addinterface
コマンドは、新しいネットワークインターフェイスを仮想マシンおよび仮想マシンインスタンス仕様に追加しますが、実行中の仮想マシンには接続しません。virtctl addinterface <vm_name> --network-attachment-definition-name <net_attach_dev_namespace>/<net_attach_def_name> --name <interface_name>
$ virtctl addinterface <vm_name> --network-attachment-definition-name <net_attach_dev_namespace>/<net_attach_def_name> --name <interface_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- <vm_name>
-
VirtualMachine
オブジェクトの名前。 - <net_attach_def_name>
-
NetworkAttachmentDefinition
オブジェクトの名前。 - <net_attach_dev_namespace>
-
NetworkAttachmentDefinition
オブジェクトに関連付けられた namespace の識別子。サポートされている値は、default
または VM が置かれている namespace の名前です。 - <interface_name>
- 新しいネットワークインターフェイスの名前。
実行中の仮想マシンにネットワークインターフェイスを接続するには、次のコマンドを使用して仮想マシンをライブマイグレーションします。
virtctl migrate <vm_name>
$ virtctl migrate <vm_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを使用して、仮想マシンのライブマイグレーションが成功したことを確認します。
oc get VirtualMachineInstanceMigration -w
$ oc get VirtualMachineInstanceMigration -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VMI ステータスをチェックして、新しいインターフェイスが仮想マシンに追加されていることを確認します。
oc get vmi vm-fedora -ojsonpath="{ @.status.interfaces }"
$ oc get vmi vm-fedora -ojsonpath="{ @.status.interfaces }"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ホットプラグされたインターフェイスが VMI ステータスに表示されます。
8.8.3. CLI を使用したブリッジネットワークインターフェイスのホットアンプラグ リンクのコピーリンクがクリップボードにコピーされました!
実行中の仮想マシンからブリッジネットワークインターフェイスを削除できます。
前提条件
- 仮想マシンが実行している必要があります。
- 仮想マシンは、OpenShift Virtualization 4.14 以降を実行しているクラスター上に作成する必要があります。
- 仮想マシンにはブリッジネットワークインターフェイスが接続されている必要があります。
手順
次のコマンドを実行して、ブリッジネットワークインターフェイスをホットアンプラグします。
virtctl removeinterface
コマンドはゲストからネットワークインターフェイスを切り離しますが、インターフェイスは Pod 内にまだ存在します。virtctl removeinterface <vm_name> --name <interface_name>
$ virtctl removeinterface <vm_name> --name <interface_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンを移行して、Pod からインターフェイスを削除します。
virtctl migrate <vm_name>
$ virtctl migrate <vm_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow