前回の続き。
vhoge.hateblo.jp
PXE boot から ESXi が起動するところまで試したが、ステートレスホストだったり、IP アドレスが DHCP だったりするのでこの辺をなんとかしてみる。
(ベストプラクティス的には DHCP 予約らしいけど…)
docs.vmware.com
ホストプロファイル作成
本来の流れとしては…
起動したホストを適切に設定してリファレンスホスト化
↓
ホストプロファイルを抽出
↓
他ホストへホストプロファイル を展開
が正しい流れっぽい?
docs.vmware.com
が、ネットワーク周りがどうもうまいこといかなかった?ので、とりあえず起動したホストを何もせずそのままの状態でホストプロファイルを抽出し、ホストプロファイルを編集することにしてみる。
インベントリからホストを選び、「ホストプロファイル」→「ホストプロファイルの抽出」
適当な名前をつける。
メニューから「ホストおよびプロファイル」→「ホストプロファイル」
抽出したプロファイルが表示されるので、ホストプロファイル名をクリック。
構成タブを選択し、ホストプロファイルの編集を開く。
ホストプロファイルの中身がツリー状で表示され、現状の設定(デフォルト設定)が書き出されているので、変更を行いたい箇所を変えていく。
ひとまず管理 IP アドレス。
「設定を適用中に~」にしておくと別途指定可能になる。
defaultTcpIpStack での DNS サーバ/ホスト名設定。
defaultTcpIpStack でのデフォルトゲートウェイ。
root ユーザのパスワード。
システムイメージキャッシュ設定。
ステートフルインストールを有効化することで ESXi がインストールされ、ローカルブート可能になる。
とりあえずこのぐらいで。
他に変更しておきたいものがあれば変更しても良いし、IP 変更/ローカルブート後に vSphereClient や PowerCLI から設定変更し、もう一回ホストプロファイルを抽出しても OK。
ホストプロファイル適用
作成、編集したプロファイルをホストへ適用する。
再びインベントリでホストを選択し、「ホストプロファイル」→「ホストプロファイルの添付」し、編集したホストプロファイルを選び OK をする。
またまたインベントリでホストを選択し、「ホストプロファイル」→ 「ホストのカスタマイズの編集」、IP アドレスやホスト名など別途指定するとしたパラメータを指定する。
再度インベントリよりホストを選び、「ホストプロファイル」→ 「修正」
変更によっては再起動が発生するため、ホストをメンテナンスモードにしておくことが必要な場合がある。(今回は必要だったので、途中で修正がコケた…)
「ホスト設定のバッチ処理」タスクが開始され、ホストプロファイルに従い設定が変更される。
ESXi ホストのコンソール。Applying Host Profile task list...
ちなみにここの処理はそこそこ時間がかかる。
しばらくしたらカスタマイズで指定された IP アドレスにて起動され、インベントリ上に現れる。
データストアも作成されていて、ステートフルホストとして起動している。

デプロイルールにホストプロファイルを指定するとどうなるのか?
前回のデプロイルール作成時は飛ばしていたホストプロファイルですが、デプロイルールで指定していた場合はどうなるかと言うと
初回起動時にホストプロファイルが添付された状態で起動される。
ただ、カスタマイズは未設定なので結局 DHCP/ステートレス状態での再起動となり、カスタマイズを指定しなおして再起動という流れになる。

とりあえず
細かい部分での手順や設定値をいじって検証したいところはあるが、一旦ここまで。
環境準備や仕様理解が必要なので数台規模の ESXi プロビジョニングであれば重いが、数十台以上の規模であれば AutoDeploy を使う恩恵はありそう。
別の方法として kickstart があったりするんですが、まだ検証していないので評価はなんとも… AutoDeploy は ESXi 特化なので既に Linux 系とかで kickstart を使っているのであれば統一できるというメリットは大きいと思うのですが、ESXi 単体で考えると ks 周りの細かい記述を覚える必要がなく GUI でポチポチできるだけ AutoDeploy でいいのかなーと。
あと、AutoDeploy の文脈からホストプロファイルの話となったのですが、ホストプロファイル自体は AutoDeploy が無い環境でもホスト設定の一貫性、コンプライアンス管理という観点だと結構有益。機会があればこの話も追々…