vSphere Client で、仮想マシンのスナップショットの作成・復元・削除、仮想マシンからのテンプレートの作成、テンプレートからの仮想マシンの展開を行う手順です。
この記事の前提
参照した公式ドキュメント
検証環境
仮想マシン作成手順で作った rocky01(Rocky Linux 9、iscsi-ds01)を使います。
スナップショットはバックアップではありません。公式ドキュメントでも、スナップショットを長く残さないこと(差分ファイルが大きくなり性能が落ちるため)が推奨されています。更新作業の前に取り、確認が済んだら削除します。
スナップショット
スナップショットの作成
(1) 仮想マシン(rocky01)を選び、[ACTIONS] → [Snapshots] → [Take Snapshot] をクリックします。

(2) [Take snapshot] で名前を入力して [CREATE] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Name | スナップショットの名前です | before-update |
| Description | 説明です | 空欄 |
| Include virtual machine’s memory | 電源オンの仮想マシンのメモリーの内容も保存します。戻すと、取った時点の実行中の状態に戻ります | オン(既定) |
| Quiesce guest file system | VMware Tools でゲスト OS のファイルシステムを静止させてから取ります。メモリーを含めない場合に選べます | オフ |
(3) [Snapshots] タブに、作成したスナップショットと [You are here](現在の状態)が表示されます。右側に作成日時やサイズが表示されます。

スナップショットへの復元
(1) [Snapshots] タブで復元するスナップショットを選び、[REVERT] をクリックします。現在の状態は失われる旨が表示されるので、[REVERT] をクリックします。

| 項目 | 説明 |
|---|---|
| Suspend this virtual machine when reverting to selected snapshot | メモリーを含むスナップショットに戻したあと、仮想マシンを一時停止の状態にします。オフなら、そのまま実行中の状態に戻ります |
【検証結果】スナップショットを取ったあとに作ったファイル(/var/tmp/test.txt)は、復元後に消えていました。メモリーを含むスナップショットなので、仮想マシンは再起動せず、取った時点の実行中の状態に戻りました。
スナップショットの削除
(1) [Snapshots] タブで削除するスナップショットを選び、[DELETE] をクリックします。確認で [DELETE] をクリックします。

削除しても仮想マシンの現在の状態は変わりません。スナップショットの差分が元のディスクに統合されます。
テンプレート
テンプレートは、仮想マシンを複製するためのひな形です。テンプレートは電源をオンにできず、編集もできません(変更するときは [Convert to Virtual Machine] でいったん仮想マシンに戻します)。
仮想マシンからテンプレートを作る
(1) 仮想マシン(rocky01)を選び、[ACTIONS] → [Clone] → [Clone to Template] をクリックします。仮想マシンは動いたままで構いません。

| メニュー | 説明 |
|---|---|
| Clone to Virtual Machine | 仮想マシンを複製します |
| Clone to Template | 仮想マシンを複製してテンプレートを作ります(元の仮想マシンは残ります) |
| Clone as Template to Library | コンテンツライブラリにテンプレートとして保存します |
(2) [Select a name and folder] で、テンプレートの名前(tpl-rocky9)と置き場所(DC-doc)を指定して [NEXT] をクリックします。

(3) [Select a compute resource] でホストを選んで [NEXT] をクリックします。

(4) [Select storage] で、[Select virtual disk format] に [Thin Provision] を選び、データストア(iscsi-ds01)を選んで [NEXT] をクリックします。

| 形式 | 説明 |
|---|---|
| Same format as source | 元のディスクと同じ形式です |
| Thick Provision Lazy Zeroed | 容量を最初に確保し、ゼロ埋めは書き込み時に行います |
| Thick Provision Eager Zeroed | 容量を最初に確保してゼロ埋めします。作成に時間がかかります。Fault Tolerance などで必要です |
| Thin Provision | 実際に使った分だけ容量を使います |
(5) [Ready to complete] で内容を確認して [FINISH] をクリックします。

(6) テンプレートは [VMs and Templates] のビュー(左上の 2 つ目のアイコン)に表示されます。

実運用では、テンプレートにする前にゲスト OS の固有情報(ホスト名、IP アドレス、SSH のホスト鍵、machine-id など)を整理しておくか、展開時にゲストのカスタマイズ(Customization Specification)を使って書き換えます。
テンプレートから仮想マシンを展開する
(1) テンプレート(tpl-rocky9)を選び、[ACTIONS] → [New VM from This Template] をクリックします。

(2) 名前(rocky02)、置き場所、ホスト、データストアを、仮想マシンの作成と同じように指定します。
(3) [Select clone options] で、展開時のオプションを選んで [NEXT] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Customize the operating system | ゲストのカスタマイズの仕様(Customization Specification)を使って、ホスト名や IP アドレスを書き換えます | オフ |
| Customize this virtual machine’s hardware | CPU やメモリーなどを変更します | オフ |
| Power on virtual machine after creation | 作成後に電源をオンにします | オフ |
【検証環境】rocky01 は IP アドレスを固定しているため、カスタマイズせずに電源をオンにすると IP アドレスが重複します。ここでは電源をオンにしませんでした。
(4) [Ready to complete] で内容を確認して [FINISH] をクリックします。

(5) [Recent Tasks] の [Clone virtual machine] が [Completed] になり、rocky02 が追加されます。
