XenServer

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スナップショットの作成

スナップショットを作成する前に、特別なオペレーティングシステム固有の設定と考慮事項について、以下の情報を参照してください。

  • 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
<!--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 コマンドを実行します。

  1. 復元したいスナップショットまたはチェックポイントのUUIDを見つけるには、snapshot-list コマンドを実行します。

    xe snapshot-list
    <!--NeedCopy-->
    
  2. スナップショットのUUIDをメモし、次のコマンドを実行して復元します。

    xe snapshot-revert snapshot-uuid=snapshot uuid
    <!--NeedCopy-->
    

    例:

    xe snapshot-revert snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
    <!--NeedCopy-->
    

    VMをチェックポイントに復元した後、VMは一時停止されます。

注:

  • ディスクスペースが不足しているため、スナップショットをシックプロビジョニングできない場合、現在のディスクの状態が解放されるまで、そのスナップショットに復元することはできません。この問題が発生した場合は、操作を再試行してください。

  • どのスナップショットにも復元できます。復元操作中に既存のスナップショットとチェックポイントが削除されることはありません。

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

削除したいチェックポイントまたはスナップショットのUUIDがあることを確認し、次のコマンドを実行します。

  1. 復元したいスナップショットまたはチェックポイントのUUIDを見つけるには、snapshot-list コマンドを実行します。

    xe snapshot-list
    <!--NeedCopy-->
    
  2. スナップショットのUUIDをメモし、snapshot-uninstall コマンドを実行して削除します。

    xe snapshot-uninstall snapshot-uuid=snapshot-uuid
    <!--NeedCopy-->
    
  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
<!--NeedCopy-->

チェックポイントまたはスナップショットのメタデータのみを削除したい場合は、次のコマンドを実行します。

xe snapshot-destroy snapshot-uuid=snapshot-uuid
<!--NeedCopy-->

例:

xe snapshot-destroy snapshot-uuid=d7eefb03-39bc-80f8-8d73-2ca1bab7dcff
<!--NeedCopy-->

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

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

スナップショットからVMテンプレートを作成できます。ただし、そのメモリ状態は削除されます。

  1. 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データベースに存在します。

  2. テンプレートが作成されたことを確認するには、コマンド template-list を実行します。

    xe template-list
    <!--NeedCopy-->
    

    このコマンドは、XenServerホスト上のすべてのテンプレートを一覧表示します。

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

VMスナップショットをエクスポートすると、VMの完全なコピー(ディスクイメージを含む)が単一ファイルとしてローカルマシンに保存されます。このファイルには、.xva ファイル名拡張子が付いています。

  1. テンプレートファイルを作成するには、コマンド 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のスナップショットは、毎時、毎日、または毎週のスケジュールされた時刻に取得されます。異なるVMを対象とし、異なるスケジュールを持つ複数のスケジュールされたスナップショットをプールで有効にすることができます。VMは一度に1つのスナップショットスケジュールにのみ割り当てることができます。

XenCenter は、この機能を使用するのに役立つさまざまなツールを提供します。

  • スケジュール済みスナップショットを定義するには、新しいスナップショットスケジュールウィザードを使用します。

  • プールに対してスケジュール済みスナップショットを有効化、無効化、編集、削除するには、VMスナップショットスケジュールダイアログボックスを使用します。

  • スナップショットスケジュールを編集するには、VMスナップショットスケジュールダイアログボックスからそのプロパティダイアログボックスを開きます。

  • VMをスケジュール済みスナップショットに復元するには、スナップショットタブでそのスナップショットを選択し、VMをそれに復元します。

詳細については、XenCenterドキュメントのスケジュール済みスナップショットを参照してください。