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 save のプロセスは、virsh domjobinfo コマンドで監視することが可能で、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] コマンドは、virsh restore コマンドで仮想マシンが復元される際に使用されるゲスト仮想マシンの XML ファイルを更新します。--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