次のVM起動までの間
4. メンバホストでxe pool-joinコマンドを実⾏し、それらのホストを新しいプールに追加しま す。
8.10. 仮想マシンスナップショット
重要︓
仮想マシンの保護と回復機能(VMPR)は、XenServer 7.5およびこれ以降のバー ジョンでは削除されています。VMPRの機能を使⽤するアプリケーションやコード などは、XenServer 7.5およびこれ以降のバージョンでは使⽤できません。ただ し、仮想マシンのスナップショット機能やこれに依存するVMPR以外の機能は削除 されていません。詳しくは、CTX137335を参照してください。
XenServerには、便利なスナップショット機能が⽤意されています。この機能では、仮想マシンのス トレージとメタデータのスナップショットを作成して、その時点の仮想マシンの状態を保存しておく ことができます。スナップショットを作成するときは、⾃⼰⽭盾のないディスクイメージが保存され るように、必要に応じて⼀時的にデータI/Oが停⽌します。
スナップショットにより、仮想マシンのテンプレート化と類似の機能が提供されます。仮想マシンの スナップショットには、すべてのストレージ情報と、接続している仮想インターフェイス(VIF)な どの仮想マシン設定が含まれ、バックアップ⽤にエクスポートしたり復元したりできます。スナップ ショットは、すべての種類のストレージでサポートされますが、以前のバージョンのXenServerで作 成したLVMベースのストレージリポジトリはアップグレードする必要があり、ボリュームがデフォル ト形式でフォーマットされている必要があります(
type=raw
形式ではスナップショットを作成でき ません)。スナップショット処理では、次の2段階のプロセスが実⾏されます。
• メタデータをテンプレートとして取り込む。
• ディスクのVDIスナップショットを作成する。
XenServerでは、標準スナップショット、休⽌スナップショット、およびメモリを含んだスナップ ショットがサポートされています。
8.10.1. 標準スナップショット
標準スナップショットはクラッシュ整合状態であり、Linux仮想マシンを含むすべての種類の仮想マ シンで作成できます。
8.10.2. 休⽌スナップショット
休⽌スナップショットでは、Windows Volume Shadow Copy Service(VSS)の機能を使⽤して、
特定時点のアプリケーション整合スナップショットを作成できます。VSSフレームワークによ り、VSS対応のアプリケーション(Microsoft ExchangeやMicrosoft SQL Serverなど)では、ス ナップショット作成に備えてメモリ内のデータをディスク上に保存できます。
このため、休⽌スナップショットはより安全に復元できますが、スナップショット作成時のシステム パフォーマンスが影響を受ける場合があります。また、負荷状態によってはスナップショット作成に 失敗するため、複数回の試⾏が必要になる場合があります。
XenServer では、以下のオペレーティングシステムで休⽌スナップショットがサポートされていま す。
• Windows Server 2016
• Windows Server 2012 R2
• Windows Server 2012
• Windows Server 2008 R2
• Windows Server 2008(32ビット/64ビット)
Windows 8.1、Windows 8、Windows 7、Windows 2000、Windows XP、Windows 2003、Windows Vistaはサポートされていません。休⽌スナップショットについて詳しくは、項
8.10.9.3. 「休⽌スナップショットの注意事項」を参照してください。
8.10.3. メモリを含んだスナップショット
仮想マシンのディスク(ストレージ)およびメタデータに加えて、仮想マシンのメモリ(RAM)を スナップショットに含めることができます。この機能は、ソフトウェアのアップグレードやパッチの 適⽤時、または新しいアプリケーションをテストするときに、現在の仮想マシンの状態に戻れるよう にしたい場合に便利です。この種類のスナップショットへの復元時に仮想マシンを再起動する必要は ありません。
メモリを含んだスナップショットは、XenAPI、xe CLI、またはXenCenterを使って、実⾏中または サスペンド状態の仮想マシンで作成できます。
8.10.4. 仮想マシンスナップショットの作成
スナップショットを作成する前に、『XenServer仮想マシンユーザーガイド』の「sysprepを使⽤し たWindows仮想マシンの複製の準備」および「Linux仮想マシンを複製する前に」を参照して、必要 な準備を⾏ってください。
まず、メモリの状態を取得できるように、仮想マシンが実⾏中またはサスペンド状態であることを確 認します。対象の仮想マシンを指定するには、
vm=<name>
またはvm=<vm uuid>
引数を使⽤しま す。次のvm-snapshotコマンドまたはvm-snapshot-with-quiesceコマンドを実⾏して、仮想マシン のスナップショットを作成します。
xe vm-snapshot vm=<vm uuid> new-name-label=<vm_snapshot_name>
xe vm-snapshot-with-quiesce vm=<vm uuid> new-name-label=<vm_snapshot_name>
8.10.5. メモリを含んだスナップショットの作成
次の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
メモリを含んだスナップショットを作成するには、各ディスクに4MB以上の空き領域と、RAMと同 等のサイズ、および20%程度のオーバーヘッドが必要です。つまり、RAMのサイズが256MBである 場合は、約300MBのストレージが必要です。
注︓
メモリを含んだスナップショットの作成中に、仮想マシンが⼀時的に停⽌し、使⽤
できない状態になります。
8.10.6. XenServerプールのすべてのスナップショットの⼀覧を表⽰するには
次のsnapshot-listコマンドを実⾏します。
xe snapshot-list
これにより、XenServerプール内のすべてのスナップショットの⼀覧が表⽰されます。
8.10.7. 特定の仮想マシンから作成したスナップショットの⼀覧を表⽰するには
まず、vm-listコマンドを実⾏して、その仮想マシンのUUIDを取得します。
xe vm-list
これにより、すべての仮想マシンとそのUUIDが表⽰されます。次に例を⽰します。
xe vm-list
uuid ( RO): 116dd310-a0ef-a830-37c8-df41521ff72d name-label ( RW): Windows Server 2012 (1)
power-state ( RO): halted
uuid ( RO): 96fde888-2a18-c042-491a-014e22b07839 name-label ( RW): Windows 2008 R2 (1)
power-state ( RO): running
uuid ( RO): dff45c56-426a-4450-a094-d3bba0a2ba3f name-label ( RW): Control domain on host
power-state ( RO): running
また、仮想マシンのリストをフィールドの値でフィルタして、対象の仮想マシンを指定することもで きます。
たとえば、power-state=haltedを指定すると、power-stateフィールドの値がhaltedである仮想 マシンだけが対象になります。複数の仮想マシンがフィルタ条件に⼀致し、そのすべてのオブジェク トに対してコマンドを実⾏する場合は、オプション--multipleを指定する必要があります。仮想マ シンのフィールドの⼀覧は、xe vm-list params=allコマンドで確認できます。
⽬的の仮想マシンのUUIDを指定して、次のコマンドを実⾏します。
xe snapshot-list snapshot-of=<vm uuid>
次に例を⽰します。
xe snapshot-list snapshot-of=2d1d9a08-e479-2f0a-69e7-24a0e062dd35 これにより、この仮想マシンのスナップショットの⼀覧が表⽰されます。
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
8.10.8. 仮想マシンをスナップショット作成時の状態に戻すには
仮想マシンを特定のスナップショット作成時の状態に復元するには、そのスナップショットのUUID を指定して、snapshot-revertコマンドを実⾏します。
これを⾏うには、次の操作を⾏います。
1. 次のsnapshot-listコマンドを実⾏して、復元先のスナップショットのUUIDを取得します。
xe snapshot-list
2. 取得したUUIDを指定して、次のコマンドを実⾏します。
xe snapshot-revert snapshot-uuid=<snapshot uuid>
次に例を⽰します。
xe snapshot-revert snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886 仮想マシンがスナップショット作成時の状態に戻り、サスペンド状態になります。
注︓
スナップショットのシックプロビジョニングのためのディスク容量が⾜りない場合 は、ディスク領域が解放されるまでスナップショットを復元できません。この場合 は、操作を再試⾏してください。
注︓
その仮想マシンの任意のスナップショットを復元先として指定できます。また、こ の復元処理により既存のスナップショットが削除されることはありません。
8.10.8.1. スナップショットの削除
スナップショットを削除するには、以下の⼿順に従います。
1. 次のsnapshot-listコマンドを実⾏して、復元先のスナップショットのUUIDを取得します。
xe snapshot-list
2. 取得したUUIDを指定して、次のsnapshot-uninstallコマンドを実⾏します。
xe snapshot-uninstall snapshot-uuid=<snapshot-uuid>
3. これにより、仮想マシンおよび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
8.10.9. スナップショットテンプレート
8.10.9.1. スナップショットからテンプレートを作成する
スナップショットから仮想マシンテンプレートを作成できます。ただし、メモリの状態はテンプレー トに反映されません。
これを⾏うには、次の操作を⾏います。
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データベース内にのみ格納されます。