VMスナップショット
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スナップショットの作成
スナップショットを作成する前に、オペレーティングシステム固有の特別な構成と考慮事項に関する以下の情報を参照してください。
まず、メモリの状態をキャプチャできるように、VM が実行中または一時停止中であることを確認してください。操作を実行する VM を選択する最も簡単な方法は、引数 vm=name または vm=vm uuid を指定することです。
VM のスナップショットを作成するには、vm-snapshotコマンドを実行します。
xe vm-snapshot vm=vm uuid new-name-label=vm_snapshot_name
<!--NeedCopy-->
メモリ付きスナップショットの作成
後で識別できるように、メモリ付きスナップショットにわかりやすい名前を付けて、vm-checkpoint コマンドを実行します。
xe vm-checkpoint vm=vm uuid new-name-label=name of the checkpoint
<!--NeedCopy-->
XenServer がメモリ付きスナップショットの作成を完了すると、その UUID が表示されます。
例:
xe vm-checkpoint vm=2d1d9a08-e479-2f0a-69e7-24a0e062dd35 \
new-name-label=example_checkpoint_1
b3c0f369-59a1-dd16-ecd4-a1211df29886
<!--NeedCopy-->
メモリ付きスナップショットには、ディスクあたり少なくとも 4 MB のディスク容量と、RAM のサイズ、さらに約 20% のオーバーヘッドが必要です。したがって、256 MB の RAM を持つチェックポイントには、約 300 MB のストレージが必要になります。
注:
チェックポイント作成プロセス中、VM は短時間一時停止され、この期間中は使用できません。
XenServer プール上のすべてのスナップショットを一覧表示するには
snapshot-list コマンドを実行します。
xe snapshot-list
<!--NeedCopy-->
このコマンドは、XenServer プール内のすべてのスナップショットを一覧表示します。
特定のVM上のスナップショットを一覧表示するには
vm-list コマンドを実行して、特定のVMのUUIDを取得します。
xe vm-list
<!--NeedCopy-->
このコマンドは、すべての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
<!--NeedCopy-->
VMは、フィールドの値でVMの全リストをフィルタリングすることによっても指定できます。
例えば、power-state=halted を指定すると、power-state フィールドが ‘halted’ に等しいすべてのVMが選択されます。複数のVMが一致する場合、操作を実行するにはオプション --multiple を指定する必要があります。コマンド xe vm-list params=all を使用して、一致させることができるフィールドの完全なリストを取得します。
必要なVMを見つけて、次のように入力します。
xe snapshot-list snapshot-of=vm uuid
<!--NeedCopy-->
例:
xe snapshot-list snapshot-of=2d1d9a08-e479-2f0a-69e7-24a0e062dd35
<!--NeedCopy-->
このコマンドは、その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
<!--NeedCopy-->
VMを以前の状態に復元する
復元したいスナップショットのUUIDがあることを確認し、snapshot-revert コマンドを実行します。
-
復元したいスナップショットまたはチェックポイントのUUIDを見つけるには、
snapshot-listコマンドを実行します。xe snapshot-list <!--NeedCopy--> -
スナップショットのUUIDをメモし、次のコマンドを実行して復元します。
xe snapshot-revert snapshot-uuid=snapshot uuid <!--NeedCopy-->例:
xe snapshot-revert snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886 <!--NeedCopy-->VMをチェックポイントに復元した後、VMはサスペンドされます。
注:
スナップショットをシックプロビジョニングするのに十分なディスク容量がない場合、現在のディスクの状態が解放されるまで、そのスナップショットに復元することはできません。この問題が発生した場合は、操作を再試行してください。
任意のスナップショットに復元できます。復元操作中に既存のスナップショットやチェックポイントが削除されることはありません。
スナップショットを削除する
削除したいチェックポイントまたはスナップショットのUUIDがあることを確認してから、次のコマンドを実行します。
-
復元したいスナップショットまたはチェックポイントのUUIDを見つけるには、
snapshot-listコマンドを実行します。xe snapshot-list <!--NeedCopy--> -
スナップショットのUUIDをメモし、
snapshot-uninstallコマンドを実行して削除します。xe snapshot-uninstall snapshot-uuid=snapshot-uuid <!--NeedCopy--> -
このコマンドは、削除される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
<!--NeedCopy-->
チェックポイントまたはスナップショットのメタデータのみを削除したい場合は、次のコマンドを実行します。
xe snapshot-destroy snapshot-uuid=snapshot-uuid
<!--NeedCopy-->
例:
xe snapshot-destroy snapshot-uuid=d7eefb03-39bc-80f8-8d73-2ca1bab7dcff
<!--NeedCopy-->
スナップショットテンプレート
スナップショットからテンプレートを作成する
スナップショットからVMテンプレートを作成できます。ただし、そのメモリ状態は削除されます。
-
snapshot-copyコマンドを使用し、テンプレートのnew-name-labelを指定します。xe snapshot-copy new-name-label=vm-template-name \ snapshot-uuid=uuid of the snapshot <!--NeedCopy-->例:
xe snapshot-copy new-name-label=example_template_1 snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886 <!--NeedCopy-->注:
このコマンドは、同じプール内にテンプレートオブジェクトを作成します。このテンプレートは、現在のプール専用のXenServerデータベースにのみ存在します。
-
テンプレートが作成されたことを確認するには、コマンド
template-listを実行します。xe template-list <!--NeedCopy-->このコマンドは、XenServerホスト上のすべてのテンプレートを一覧表示します。
スナップショットをテンプレートとしてエクスポートする
VMスナップショットをエクスポートすると、VMの完全なコピー(ディスクイメージを含む)が、ローカルマシンに単一ファイルとして保存されます。このファイルには、.xva というファイル名拡張子が付いています。
-
コマンド
snapshot-export-to-templateを使用してテンプレートファイルを作成します。xe snapshot-export-to template snapshot-uuid=snapshot-uuid \ filename=template- filename <!--NeedCopy-->例:
xe snapshot-export-to-template snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886 \ filename=example_template_export <!--NeedCopy-->
VMのエクスポート/インポート機能は、さまざまな方法で使用できます。
-
VMの便利なバックアップ機能として。エクスポートされたVMファイルは、災害発生時にVM全体を復旧するために使用できます。
-
VMをすばやくコピーする方法として。たとえば、何度も使用する特殊なサーバー構成など。VMを希望どおりに構成し、エクスポートしてからインポートするだけで、元のVMのコピーを作成できます。
-
VMを別のホストに移動する簡単な方法として。
テンプレートの使用方法の詳細については、VMの作成 およびXenCenterドキュメントのVMの管理 の記事も参照してください。
スケジュールされたスナップショット
スケジュールされたスナップショット機能は、重要なサービスVMのシンプルなバックアップおよび復元ユーティリティを提供します。定期的なスケジュールされたスナップショットは自動的に取得され、個々のVMを復元するために使用できます。スケジュールされたスナップショットは、プール内の選択されたVMに対してプール全体のスケジュールを設定することで機能します。スナップショットスケジュールが有効になっている場合、指定されたVMのスナップショットは、1時間ごと、毎日、または毎週のスケジュールされた時刻に取得されます。複数のスケジュールされたスナップショットをプールで有効にすることができ、異なるVMと異なるスケジュールをカバーできます。VMは一度に1つのスナップショットスケジュールにのみ割り当てることができます。
XenCenter は、この機能を使用するのに役立つさまざまなツールを提供します。
-
スケジュール済みスナップショットを定義するには、新しいスナップショットスケジュールウィザードを使用します。
-
プールのスケジュール済みスナップショットを有効化、無効化、編集、削除するには、VM スナップショットスケジュールダイアログボックスを使用します。
-
スナップショットスケジュールを編集するには、VM スナップショットスケジュールダイアログボックスからそのプロパティダイアログボックスを開きます。
-
VM をスケジュール済みスナップショットに復元するには、スナップショットタブでスナップショットを選択し、VM をそれに復元します。
詳細については、XenCenter ドキュメントの「スケジュール済みスナップショット」を参照してください。