Windowsサーバのテンプレート(ゴールデンイメージ)を作成し、クローンする手順をメモしておきます。
本手順はMicrosoftのテンプレート作成手順のページを参考にしております。
作業の概要は以下の通り。
- 仮想マシンの作成
- Windowsサーバのインストール
- VMware Toolsの導入
- 仮想マシンのテンプレート化
- テンプレートからの展開
- SID(SecureID)のクリア
仮想マシンの作成からVMwareToolsの導入まで
マスタイメージとなるため、最小ディスク、最小CPU、最小メモリでテンプレート化することになるが、初期インストールを高速化するために、CPU、メモリはある程度高めにしておく。テンプレート化する直前に最小CPU、最小メモリに修正するのを忘れないようにします。
詳細はこちらの記事で、DNSサーバインストール直前までの手順を参照していただきたい。
適宜、ローカルセキュリティポリシー、最新のパッチ適用、Windowsファイアウォールの設定などしてください。
仮想マシンのテンプレート化
仮想マシン設定で、CD/DVDドライブのマウント先を「クライアントデバイス」に設定し、チェックを外し、「未接続」状態にする。また、CPU、メモリを最小値にしテンプレート化する。なお、ドメインに参加している場合、ドメインから抜けてテンプレート化すること。

ゲストOSを停止し、対象の仮想マシンを右クリックし、テンプレートを選択

「はい」を選択

「ホストおよびクラスタ」のタブには表示されないため、「仮想マシンおよびテンプレート」のタブを選択すると、下図の通り、テンプレート化した「template」を確認できる。

テンプレートからの展開
作成したテンプレートを選択後、右クリック。「このテンプレートから仮想マシンを新規作成」を選択。

仮想マシン名を入力

デプロイ先を選択

デプロイ先のデータストアを選択。適宜ストレージのフォーマットなどを選択

クローンオプションの選択では、あとからでも設定修正はできるため、ひとまず無視する。
※クローン展開を効率化する場合、本機能を利用することになるため、次回以降の記事で詳細を記載することとする

デプロイ先のホスト、ストレージを再度確認し、問題なければ「FINISH」を選択

デプロイが完了すると下図の通り、ESXi01にデプロイが完了した。

SIDのクリア
デプロイしたOSは、テンプレートのSIDと重複するため、ドメインに参加するOSの場合、SIDクリアが必須となる。そのため、OSログイン後にsysprepを実行する。
以下は、templateのSIDとなる。末尾が876041863-500

クローンしたclone01のSIDも確認する。sysprep実行前のため、templateと同じsidとなっている。

SIDをクリアすため、clone01にてsysprepを実行。一般化するにチェックを入れること。

以下のような画面が出力され、数分後に自動で再起動されるため、適宜情報を入力しなおす。

GUIから実施しているが、「c:\windows\system32\sysprep」配下にあるsysprepコマンドを以下の通り実行しても同じ挙動となる。
> sysprep /generalize /reboot /oobe
sysprep実行後に再度、SIDを確認すると、末尾が「3091534694-500」となっており、templateと違う数字になっていることが確認できる。なお、ホスト名もクリアされてしまうため、sysprep実行後にホスト名は修正するとよい。

お疲れさまでした。
テンプレート作成後、仮に30台デプロイする際、本手順を30台分実施するのは大変なため、次回以降「仮想マシンのカスタマイズ仕様」という機能を利用し、SIDをクリアしつつ、アドレス、ホスト名などを修正した状態でデプロイさせる手順を記載する。
また、各パラメターをExcelなどでcsvファイルを作成、パラメータ入力後、PowerCLIから本ファイルを読み込むことにより、「Set-OSCustomizationSpec」で仮想OSレイヤを修正しつつ、「Set-VM」、「Set-HardDisk」などで仮想マシンレイヤを修正し、ほぼ自動化でデプロイする手順を記載する予定である。
やり方が多々あるのも問題ではあるが、レスポンスファイル(応答ファイル)をマスターイメージに埋め込んだ状態でsysprepでSIDをクリアしつつシャットダウンさせておく。この場合、テンプレートからOSを展開すれば、起動時に自動でSIDが生成され、レスポンスファイルが勝手に初期設定をしてくれる。
つまり、
応答ファイル無:「マスタイメージから展開」→「OS起動」→「sysprepを実行」→「OS再起動」→「対話形式のやりとり」→「展開終了」
応答ファイル有:「マスタイメージから展開」→「OS起動」→応答ファイルが読み込まれ自動設定される→展開終了
という流れにすることも可能である。