20.7. 仮想マシンの設定の管理
本セクションでは、仮想マシンの設定を管理する方法を説明します。
20.7.1. ゲスト仮想マシンの設定の保存
virsh save [--bypass-cache] domain file [--xml string] [--running] [--paused] [--verbose] コマンドは、指定したドメインを停止し、ゲスト仮想マシンのシステムメモリーの現在の状態を指定したファイルに保存します。ゲスト仮想マシンが使用するメモリー量によっては、かなりの時間がかかる可能性があります。virsh restore (「ゲスト仮想マシンの復元」) コマンドを使用すると、ゲスト仮想マシンの状態を復元できます。
virsh save コマンドと virsh suspend コマンドの違いは、virsh suspend はドメイン CPU を停止しますが、ドメインの
qemu
プロセスは実行中のままにし、そのメモリーイメージはホストシステムに常駐します。このメモリーイメージは、ホストシステムを再起動すると失われます。
virsh save コマンドは、ホストシステムのハードディスクにあるドメインの状態を保存し、
qemu
プロセスを終了します。これにより、保存した状態からドメインを再起動できます。
virsh domjobinfo コマンドを使用してvirsh save のプロセスを監視し、virsh domjobabort コマンドを使用して取り消すことができます。
virsh save コマンドには、以下の引数を使用できます。
--bypass-cache
- 復元を実行してファイルシステムキャッシュを回避しますが、このフラグを使用すると復元動作が遅くなる可能性があることに注意してください。--xml
- この引数は、XML ファイル名とともに使用する必要があります。通常、この引数は省略されますが、ドメイン XML のホスト固有の部分のみを変更し、復元したゲスト仮想マシンで使用するための代替 XML ファイルを提供するために使用できます。たとえば、ゲストの保存後に取得されたディスクスナップショットによる、基になるストレージのファイル名の違いを説明するために使用できます。--running
- 保存イメージに記録された状態を上書きして、ゲスト仮想マシンを実行時に起動します。--paused
- 保存イメージに記録された状態を上書きし、ゲスト仮想マシンを一時停止として起動します。--verbose
- 保存の進捗を表示します。
例20.8 設定を実行しているゲスト仮想マシンを保存する方法
以下の例では、guest1 仮想マシンの実行設定を
guest1-config.xml
ファイルに保存します。
# virsh save guest1 guest1-config.xml --running
20.7.2. XML ファイルを使用したゲスト仮想マシンの定義
virsh define filename コマンドは、XML ファイルからゲスト仮想マシンを定義します。この場合のゲスト仮想マシンの定義は登録されていますが、起動していません。ゲスト仮想マシンがすでに実行している場合は、ドメインをシャットダウンして再起動すると変更が有効になります。
例20.9 XML ファイルからゲスト仮想マシンを作成する方法
以下の例では、既存のguest1-config.xml XML ファイルから仮想マシンを作成します。このファイルには、仮想マシンの設定が含まれます。
# virsh define guest1-config.xml
20.7.3. ゲスト仮想マシンの復元に使用される XML ファイルの更新
注記
このコマンドは、ゲスト仮想マシンが正しく実行されない状況から回復するためにのみ使用する必要があります。これは一般的な使用を目的としていません。
virsh save-image-define filename [--xml /path/to/file] [--running] [--paused] コマンドは、ゲスト仮想マシンの XML ファイルを更新します。これは、virsh restore コマンドを使用して仮想マシンを復元する際に使用されます。--xml 引数は、ゲスト仮想マシンの XML 用の代替 XML 要素を含む XML ファイル名である必要があります。たとえば、ゲストを保存した後に、基となるストレージのディスクスナップショットを作成することで生じるファイルの命名の相違点を説明するために使用できます。ゲスト仮想マシンを実行中または一時停止の状態に復元する場合は、イメージレコードを保存します。引数
--running
または --paused
を使用すると、使用される状態が決定します。
例20.10 ゲスト仮想マシンの実行設定を保存する方法
以下の例では、guest1-config.xml 設定ファイルを、対応する実行中のゲストの状態で更新します。
# virsh save-image-define guest1-config.xml --running
20.7.4. ゲスト仮想マシンの XML ファイルの抽出
注記
このコマンドは、ゲスト仮想マシンが正しく実行されない状況から回復するためにのみ使用する必要があります。これは一般的な使用を目的としていません。
virsh save-image-dumpxml file
--security-info
コマンドは、保存された状態ファイル (virsh save コマンドで使用) が参照された時に有効だったゲスト仮想マシンの XML ファイルを抽出します。--security-info
引数を使用すると、ファイル内に機密情報が含まれます。
例20.11 最後に保存した XML 設定をプルする方法
次の例では、ゲスト仮想マシンが最後に保存されたときに作成された設定ファイルのダンプをトリガーします。この例では、生成されるダンプファイルの名前は guest1-config-xml です。
# virsh save-image-dumpxml guest1-config.xml
20.7.5. ゲスト仮想マシンの設定の編集
注記
このコマンドは、ゲスト仮想マシンが正しく実行されない状況から回復するためにのみ使用する必要があります。これは一般的な使用を目的としていません。
virsh save-image-edit <file>
[--running]
[--paused]
コマンドは、virsh save コマンドが作成した XML 設定ファイルを編集します。virsh save コマンドの詳細は、「ゲスト仮想マシンの設定の保存」 を参照してください。
ゲスト仮想マシンが保存されると、作成されるイメージファイルは、仮想マシンを
--running
または --paused
状態に復元するかどうかを示します。save-image-edit コマンドでこれらの引数を使用しない場合は、状態はイメージファイル自体により決定されます。--running
(実行中の状態を選択) または --paused
(一時停止した状態を選択) を選択すると、virsh restore が使用する状態を上書きできます。
例20.12 ゲスト仮想マシンの設定を編集し、マシンを実行状態に復元する方法
以下の例では、デフォルトエディターで編集するために、ゲスト仮想マシンの設定ファイル guest1-config.xml を開きます。編集を保存すると、仮想マシンが新しい設定で起動します。
# virsh save-image-edit guest1-config.xml --running