9.2. Virtctl コマンド


virtctl クライアントは、OpenShift Virtualization リソースを管理するためのコマンドラインユーティリティーです。

注記

特に指定がない限り、仮想マシン (VM) コマンドは仮想マシンインスタンスにも適用されます。

9.2.1. virtctl 情報コマンド

virtctl information コマンドを使用して、virtctl クライアントに関する情報を表示します。

表9.1 情報コマンド
コマンド説明

virtctl version

virtctl クライアントとサーバーのバージョンを表示します。

virtctl help

virtctl コマンドのリストを表示します。

virtctl <command> -h|--help

特定のコマンドのオプションのリストを表示します。

virtctl オプション

任意の virtctl コマンドのグローバルコマンドオプションのリストを表示します。

9.2.2. 仮想マシン情報コマンド

virtctl を使用して、仮想マシンおよび VMI に関する情報を表示できます。

表9.2 仮想マシン情報コマンド
コマンド説明

virtctl fslist <vm_name>

ゲストマシンで使用可能なファイルシステムを表示します。

virtctl guestosinfo <vm_name>

ゲストマシンのオペレーティングシステムに関する情報を表示します。

virtctl userlist <vm_name>

ゲストマシンにログインしているユーザーを表示します。

9.2.3. 仮想マシン管理コマンド

virtctl 仮想マシン (VM) 管理コマンドを使用して、仮想マシンと VMI を管理および移行します。

表9.3 仮想マシン管理コマンド
コマンド説明

virtctl create -name <vm_name>

VirtualMachine マニフェストを作成します。

virtctl start <vm_name>

仮想マシンを開始します。

virtctl start --paused <vm_name>

仮想マシンを一時停止状態で起動します。このオプションを使用すると、VNC コンソールからブートプロセスを中断できます。

virtctl stop <vm_name>

仮想マシンを停止します。

virtctl stop <vm_name> --grace-period 0 --force

仮想マシンを強制停止します。このオプションは、データの不整合またはデータ損失を引き起こす可能性があります。

virtctl pause vm <vm_name>

仮想マシンを一時停止します。マシンの状態がメモリーに保持されます。

virtctl unpause vm <vm_name>

仮想マシンの一時停止を解除します。

virtctl migrate <vm_name>

仮想マシンを移行します。

virtctl restart <vm_name>

仮想マシンを再起動します。

9.2.4. 仮想マシン接続コマンド

virtctl 接続コマンドを使用してポートを公開し、仮想マシンおよび VMI に接続します。

表9.4 仮想マシン接続コマンド
コマンド説明

virtctl console <vm_name>

仮想マシンのシリアルコンソールに接続します。

virtctl expose <vm_name>

仮想マシンの指定されたポートを転送するサービスを作成し、ノードの指定されたポートでサービスを公開します。

virtctl scp -i <ssh_key> <file_name> <user_name>@<vm_name>

マシンから仮想マシンにファイルをコピーします。このコマンドは、SSH キーペアの秘密キーを使用します。仮想マシンは公開キーを使用して設定する必要があります。

virtctl scp -i <ssh_key> <user_name@<vm_name>:<file_name> .

仮想マシンからマシンにファイルをコピーします。このコマンドは、SSH キーペアの秘密キーを使用します。仮想マシンは公開キーを使用して設定する必要があります。

virtctl ssh -i <ssh_key> <user_name>@<vm_name>

仮想マシンとの SSH 接続を開きます。このコマンドは、SSH キーペアの秘密キーを使用します。仮想マシンは公開キーを使用して設定する必要があります。

virtctl vnc --kubeconfig=$KUBECONFIG <vm_name>

仮想マシンの VNC コンソールに接続します。

VNC を介して VM のグラフィカルコンソールにアクセスするには、ローカルマシンにリモートビューアーが必要です。

virtctl vnc --kubeconfig=$KUBECONFIG --proxy-only=true <vm_name>

ポート番号を表示し、VNC 接続を介してビューアーを使用して手動で VM に接続します。

virtctl vnc --kubeconfig=$KUBECONFIG --port=<port-number> <vm_name>

ポートが利用可能な場合、その指定されたポートでプロキシーを実行するためにポート番号を指定します。

ポート番号が指定されていない場合、プロキシーはランダムポートで実行されます。

9.2.5. 仮想マシンエクスポートコマンド

virtctl vmexport コマンドを使用して、仮想マシン、仮想マシンスナップショット、または永続ボリューム要求 (PVC) からエクスポートされたボリュームを作成、ダウンロード、または削除できます。

表9.5 仮想マシンエクスポートコマンド
コマンド説明

virtctl vmexport create <vmexport_name> --vm|snapshot|pvc=<object_name>

仮想マシン、仮想マシンスナップショット、または PVC からボリュームをエクスポートするには、VirtualMachineExport カスタムリソース (CR) を作成します。

  • --vm: 仮想マシンの PVC をエクスポートします。
  • --snapshot: VirtualMachineSnapshot CR に含まれる PVC をエクスポートします。
  • --pvc: PVC をエクスポートします。
  • オプション: --ttl=1h は存続時間を指定します。デフォルトの期間は 2 時間です。

virtctl vmexport delete <vmexport_name>

VirtualMachineExport CR を手動で削除します。

virtctl vmexport download <vmexport_name> --output=<output_file> --volume=<volume_name>

VirtualMachineExport CR で定義されたボリュームをダウンロードします。

  • --output はファイル形式を指定します。例: disk.img.gz
  • --volume は、ダウンロードするボリュームを指定します。使用可能なボリュームが 1 つだけの場合、このフラグはオプションです。

オプション:

  • --keep-vme は、ダウンロード後に VirtualMachineExport CR を保持します。デフォルトの動作では、ダウンロード後に VirtualMachineExport CR を削除します。
  • --insecure は、安全でない HTTP 接続を有効にします。

virtctl vmexport download <vmexport_name> --<vm|snapshot|pvc>=<object_name> --output=<output_file> --volume=<volume_name>

VirtualMachineExport CR を作成し、CR で定義されたボリュームをダウンロードします。

9.2.6. 仮想マシンメモリーダンプコマンド

virtctl memory-dump コマンドを使用して、PVC に仮想マシンのメモリーダンプを出力できます。既存の PVC を指定するか、--create-claim フラグを使用して新しい PVC を作成できます。

前提条件

  • PVC ボリュームモードは FileSystem である必要があります。
  • PVC は、メモリーダンプを格納するのに十分な大きさである必要があります。

    PVC サイズを計算する式は (VMMemorySize + 100Mi) * FileSystemOverhead です。ここで、100Mi はメモリーダンプのオーバーヘッドです。

  • 次のコマンドを実行して、HyperConverged カスタムリソースでホットプラグフィーチャーゲートを有効にする必要があります。

    $ oc patch hco kubevirt-hyperconverged -n openshift-cnv \
      --type json -p '[{"op": "add", "path": "/spec/featureGates", \
      "value": "HotplugVolumes"}]'

メモリーダンプのダウンロード

メモリーダンプをダウンロードするには、virtctl vmexport download コマンドを使用する必要があります。

$ virtctl vmexport download <vmexport_name> --vm\|pvc=<object_name> \
  --volume=<volume_name> --output=<output_file>
表9.6 仮想マシンメモリーダンプコマンド
コマンド説明

virtctl memory-dump get <vm_name> --claim-name=<pvc_name>

仮想マシンのメモリーダンプを PVC に保存します。メモリーダンプのステータスは、VirtualMachine リソースの status セクションに表示されます。

オプション:

  • --create-claim は、適切なサイズで新しい PVC を作成します。このフラグには次のオプションがあります。

    • --storage-class=<storage_class>: PVC のストレージクラスを指定します。
    • --access-mode=<access_mode>: ReadWriteOnce または ReadWriteMany を指定します。

virtctl memory-dump get <vm_name>

同じ PVC で virtctl memory-dump コマンドを再実行します。

このコマンドは、以前のメモリーダンプを上書きします。

virtctl memory-dump remove <vm_name>

メモリーダンプを削除します。

ターゲット PVC を変更する場合は、メモリーダンプを手動で削除する必要があります。

このコマンドは、VirtualMachine リソースの status セクションにメモリーダンプが表示されないように、仮想マシンと PVC の間の関連付けを削除します。PVC は影響を受けません。

9.2.7. ホットプラグおよびホットアンプラグコマンド

virtctl を使用して、実行中の VM および VMI にリソースを追加または削除します。

表9.7 ホットプラグおよびホットアンプラグコマンド
コマンド説明

virtctl addvolume <vm_name> --volume-name=<datavolume_or_PVC> [--persist] [--serial=<label>]

データボリュームまたは永続ボリューム要求 (PVC) をホットプラグします。

オプション:

  • --persist は仮想ディスクを VM に永続的にマウントします。このフラグは VMI には適用されません。
  • --serial=<label> は仮想マシンにラベルを追加します。ラベルを指定しない場合、デフォルトのラベルはデータボリュームまたは PVC 名になります。

virtctl removevolume <vm_name> --volume-name=<virtual_disk>

仮想ディスクをホットアンプラグします。

9.2.8. イメージアップロードコマンド

virtctl image-upload コマンドを使用して、VM イメージをデータボリュームにアップロードできます。

表9.8 イメージアップロードコマンド
コマンド説明

virtctl image-upload dv <datavolume_name> --image-path=</path/to/image> --no-create

VM イメージを既存のデータボリュームにアップロードします。

virtctl image-upload dv <datavolume_name> --size=<datavolume_size> --image-path=</path/to/image>

指定された要求されたサイズの新しいデータボリュームに VM イメージをアップロードします。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.