VM スナップショット

最終公開日 : Oct 07, 2026
XenServer は、特定の時点での VM ストレージとメタデータのスナップショットを作成できる便利なメカニズムを提供します。必要に応じて、自己整合性のあるディスクイメージをキャプチャできるように、スナップショットの取得中に I/O が一時的に停止されます。
スナップショット操作の結果、テンプレートに似たスナップショット VM が作成されます。VM スナップショットには、接続されている VIF を含むすべてのストレージ情報と VM 構成が含まれており、バックアップ目的でエクスポートおよび復元できます。スナップショットはすべてのストレージタイプでサポートされています。ただし、LVM ベースのストレージタイプでは、以下の要件を満たす必要があります。
  • ストレージリポジトリが以前のバージョンの XenServer® で作成された場合、アップグレードされている必要があります
  • ボリュームはデフォルト形式である必要があります (type=raw ボリュームのスナップショットは作成できません)
スナップショット操作は2段階のプロセスです。
  • メタデータをテンプレートとしてキャプチャする。
  • ディスクの VDI スナップショットを作成する。
以下の種類の VM スナップショットがサポートされています: 通常のスナップショットとメモリ付きスナップショット。

通常のスナップショット

通常のスナップショットはクラッシュ整合性があり、Linux VM を含むすべての VM タイプで実行できます。

メモリ付きスナップショット

VM のメモリ (ストレージ) とメタデータを保存することに加えて、メモリ付きスナップショットは VM の状態 (RAM) も保存します。この機能は、ソフトウェアをアップグレードまたはパッチ適用する際に役立ちますが、変更前の VM 状態 (RAM) に戻すオプションも必要な場合にも役立ちます。メモリ付きスナップショットに戻しても、VM の再起動は必要ありません。
実行中または一時停止中の VM のメモリ付きスナップショットは、管理 API、xe CLI、または XenCenter を使用して作成できます。

VM スナップショットの作成

スナップショットを作成する前に、特別なオペレーティングシステム固有の設定と考慮事項について、以下の情報を参照してください。
  • Sysprep を使用して Windows VM をクローンする準備をする(/ja-jp/xenserver/9/vms/windows.html#prepare-to-clone-a-windows-vm-by-using-sysprep)
  • Linux VM をクローンする準備をする(/ja-jp/xenserver/9/vms/linux.html#prepare-to-clone-a-linux-vm)
まず、メモリの状態をキャプチャできるように、VM が実行中または一時停止中であることを確認します。操作を実行する VM を選択する最も簡単な方法は、引数 vm=name または vm=vm uuid を指定することです。
VM のスナップショットを作成するには、vm-snapshot コマンドを実行します。
xe vm-snapshot vm=vm uuid new-name-label=vm_snapshot_name

メモリ付きスナップショットを作成する

後で識別できるように、メモリ付きスナップショットのわかりやすい名前を指定して、vm-checkpoint コマンドを実行します。
xe vm-checkpoint vm=vm uuid new-name-label=name of the checkpoint
XenServer がメモリ付きスナップショットの作成を完了すると、その UUID が表示されます。
例:
xe vm-checkpoint vm=2d1d9a08-e479-2f0a-69e7-24a0e062dd35 \
new-name-label=example_checkpoint_1
b3c0f369-59a1-dd16-ecd4-a1211df29886
メモリ付きスナップショットには、ディスクあたり少なくとも 4 MB のディスク容量と、RAM のサイズ、さらに約 20% のオーバーヘッドが必要です。したがって、256 MB の RAM を持つチェックポイントには、約 300 MB のストレージが必要になります。
注記:
チェックポイント作成プロセス中、VM は短時間一時停止され、この期間中は使用できません。

XenServer プール上のすべてのスナップショットを一覧表示するには

snapshot-list コマンドを実行します。
xe snapshot-list
このコマンドは、XenServer プール内のすべてのスナップショットを一覧表示します。

特定のVM上のスナップショットを一覧表示するには

vm-list コマンドを実行して、特定のVMのUUIDを取得します。
xe vm-list
このコマンドは、すべてのVMとそのUUIDのリストを表示します。例:
xe vm-list
uuid ( RO): 116dd310-a0ef-a830-37c8-df41521ff72d
name-label ( RW): Windows Server 2016 (1)
power-state ( RO): halted

uuid ( RO): dff45c56-426a-4450-a094-d3bba0a2ba3f
name-label ( RW): Control domain on host
power-state ( RO): running
VMは、フィールドの値に基づいてVMの完全なリストをフィルタリングすることでも指定できます。
たとえば、power-state=halted を指定すると、power-stateフィールドが「halted」であるすべてのVMが選択されます。複数のVMが一致する場合、操作を実行するにはオプション --multiple を指定する必要があります。コマンド xe vm-list params=all を使用して、一致させることができるフィールドの完全なリストを取得します。
必要なVMを見つけて、次を入力します。
xe snapshot-list snapshot-of=vm uuid
例:
xe snapshot-list snapshot-of=2d1d9a08-e479-2f0a-69e7-24a0e062dd35
このコマンドは、そのVM上にある現在のスナップショットを一覧表示します。
    uuid ( RO): d7eefb03-39bc-80f8-8d73-2ca1bab7dcff
    name-label ( RW): Regular
    name-description ( RW):
    snapshot_of ( RO): 2d1d9a08-e479-2f0a-69e7-24a0e062dd35
    snapshot_time ( RO): 20090914T15:37:00Z

    uuid ( RO): 1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef
    name-label ( RW): Snapshot with memory
    name-description ( RW):
    snapshot_of ( RO): 2d1d9a08-e479-2f0a-69e7-24a0e062dd35
    snapshot_time ( RO): 20090914T15:39:45Z

VMを以前の状態に復元する

元に戻したいスナップショットのUUIDがあることを確認し、snapshot-revert コマンドを実行します。
  1. 元に戻したいスナップショットまたはチェックポイントのUUIDを見つけるには、snapshot-list コマンドを実行します。
    xe snapshot-list
  2. スナップショットのUUIDをメモし、次のコマンドを実行して元に戻します。
    xe snapshot-revert snapshot-uuid=snapshot uuid
    例:
    xe snapshot-revert snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
    VMをチェックポイントに復元した後、VMは一時停止されます。
注記:
  • スナップショットをシックプロビジョニングするのに十分なディスクスペースがない場合、現在のディスクの状態が解放されるまで、そのスナップショットに復元することはできません。この問題が発生した場合は、操作を再試行してください。
  • どのスナップショットにも復元できます。復元操作中に既存のスナップショットとチェックポイントが削除されることはありません。

スナップショットを削除する

削除したいチェックポイントまたはスナップショットのUUIDがあることを確認し、次のコマンドを実行します。
  1. 復元したいスナップショットまたはチェックポイントのUUIDを見つけるには、snapshot-list コマンドを実行します。
    xe snapshot-list
  2. スナップショットのUUIDをメモし、snapshot-uninstall コマンドを実行して削除します。
    xe snapshot-uninstall snapshot-uuid=snapshot-uuid
  3. このコマンドは、削除されるVMとVDIについて警告します。確認するには、yes と入力します。
例:
xe snapshot-uninstall snapshot-uuid=1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef
The following items are about to be destroyed
VM : 1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef (Snapshot with memory)
VDI: 11a4aa81-3c6b-4f7d-805a-b6ea02947582 (0)
VDI: 43c33fe7-a768-4612-bf8c-c385e2c657ed (1)
VDI: 4c33c84a-a874-42db-85b5-5e29174fa9b2 (Suspend image)
Type 'yes' to continue
yes
All objects destroyed
チェックポイントまたはスナップショットのメタデータのみを削除したい場合は、次のコマンドを実行します。
xe snapshot-destroy snapshot-uuid=snapshot-uuid
例:
xe snapshot-destroy snapshot-uuid=d7eefb03-39bc-80f8-8d73-2ca1bab7dcff

スナップショットテンプレート

スナップショットからテンプレートを作成する

スナップショットからVMテンプレートを作成できます。ただし、そのメモリ状態は削除されます。
  1. snapshot-copy コマンドを使用し、テンプレートの new-name-label を指定します。
    xe snapshot-copy new-name-label=vm-template-name \
          snapshot-uuid=uuid of the snapshot
    例:
    xe snapshot-copy new-name-label=example_template_1
          snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
    注:
    このコマンドは、同じプール内にテンプレートオブジェクトを作成します。このテンプレートは、現在のプールに対してのみXenServerデータベースに存在します。
  2. テンプレートが作成されたことを確認するには、コマンド template-list を実行します。
    xe template-list
    このコマンドは、XenServerホスト上のすべてのテンプレートを一覧表示します。

スナップショットをテンプレートにエクスポートする

VMスナップショットをエクスポートすると、VMの完全なコピー(ディスクイメージを含む)が単一ファイルとしてローカルマシンに保存されます。このファイルには、.xva ファイル名拡張子が付いています。
  1. テンプレートファイルを作成するには、コマンド snapshot-export-to-template を使用します。
    xe snapshot-export-to template snapshot-uuid=snapshot-uuid \
          filename=template-  filename
    例:
    xe snapshot-export-to-template snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886 \
          filename=example_template_export
VMのエクスポート/インポート機能は、さまざまな方法で使用できます。
  • VMの便利なバックアップ機能として。エクスポートされたVMファイルは、災害発生時にVM全体を復旧するために使用できます。
  • VMを迅速にコピーする方法として。たとえば、何度も使用する特殊なサーバー構成などです。VMを希望どおりに構成し、エクスポートしてからインポートするだけで、元のVMのコピーを作成できます。
  • VMを別のホストに移動する簡単な方法として。
テンプレートの使用方法の詳細については、VMの作成 およびXenCenterドキュメントのVMの管理 の記事を参照してください。

スケジュールされたスナップショット

スケジュールされたスナップショット機能は、重要なサービスVMのシンプルなバックアップおよび復元ユーティリティを提供します。定期的なスケジュールされたスナップショットは自動的に取得され、個々のVMを復元するために使用できます。スケジュールされたスナップショットは、プール内の選択されたVMに対してプール全体のスナップショットスケジュールを設定することで機能します。スナップショットスケジュールが有効になっている場合、指定されたVMのスナップショットは、毎時、毎日、または毎週のスケジュールされた時刻に取得されます。異なるVMを対象とし、異なるスケジュールを持つ複数のスケジュールされたスナップショットをプールで有効にすることができます。VMは一度に1つのスナップショットスケジュールにのみ割り当てることができます。
XenCenter は、この機能を使用するのに役立つさまざまなツールを提供します。
  • スケジュールスナップショットを定義するには、New snapshot schedule ウィザードを使用します。
  • プールのスケジュールスナップショットを有効化、無効化、編集、および削除するには、VM Snapshot Schedules ダイアログボックスを使用します。
  • スナップショットスケジュールを編集するには、VM Snapshot Schedules ダイアログボックスからそのProperties ダイアログボックスを開きます。
  • VMをスケジュールスナップショットに復元するには、Snapshots タブでスナップショットを選択し、VMをそれに復元します。
詳細については、XenCenter ドキュメントのスケジュールスナップショットを参照してください。