なぜESXiを手動で設定すべきではないのか?
2〜3台のESXiホストで構成される小規模なクラスターを管理する場合、NTP、Syslog、vSwitchなどの手動設定はそれほど難しくありません。しかし、システムの規模が30台、50台、あるいは100台にまで拡大した場面を想像してみてください。一つひとつの項目をポチポチとクリックして設定していくのは、気が遠くなるだけでなく、非常にミスが発生しやすくなります。
たった1台のホストでPort Groupের VLANがズレていたり、SyslogのIPアドレスにドットの打ち間違いがあったりするだけで、システムには原因特定が困難な不安定なエラーが発生します。管理者たちはこれをConfiguration Drift(構成の不一致)と呼びます。VMware Host Profilesは、この問題を解決するために生まれました。これは、標準となるホストから「設計図」(Blueprint)を作成し、残りのすべてのノードにそのテンプレートを厳格に遵守させる機能です。
私がこれまでに携わったプロジェクトでは、Host Profilesを導入することで、20台の新規ホストの展開時間を5時間から30分足らずに短縮できました。その正確性はほぼ完璧です。
注意: この機能を使用するには、vSphere Enterprise Plusライセンスが必要です。Standard版を使用している場合、Host Profilesのオプションは非表示になります。
準備: 「ゴールデンホスト」の作成
プロファイルを抽出する前に、基準となるESXiホスト(Reference Host)を選定する必要があります。このホストですべてのパラメータが完全に設定されていることを確認してください。
- Networking: vSwitch、Port Groups、VMkernelアダプター、およびロードバランシングポリシー。
- Storage: 各iSCSIターゲット、マルチパス構成。
- Security: ファイアウォールルール、SSHの有効化、パスワードポリシー。
- Services: NTPサーバー、Syslog、DNS。
VMware Host Profilesの設定手順
1. テンプレートホストからプロファイルを抽出する
vSphere Clientで、準備した基準ホストを右クリックします。Host Profiles > Extract Host Profile… を選択します。
Production-Cluster-Standard のような分かりやすい名前を付けます。vCenterは現在の構成全体をスキャンし、ライブラリ内にプロファイルとしてパッケージ化します。
2. クラスターにプロファイルを割り当てる
個別に割り当てるのではなく、クラスターに直接割り当てることをお勧めします。そうすることで、今後クラスターに追加される新しいホストにも、共通のプロファイルが自動的に適用されます。
- Policies and Profiles > Host Profiles メニューにアクセスします。
- 作成したプロファイルを選択し、Attach/Detach Hosts and Clusters をクリックします。
- 対象のクラスターを選択して確定します。
3. 構成の不一致を確認する(Check Compliance)
割り当てた直後では、vCenterはまだホストに対して何も変更を加えません。まず、各ホストがテンプレートからどれだけ乖離しているかを確認する必要があります。クラスターを右クリックし、Host Profiles > Check Host Profile Compliance を選択します。
もしステータスが Non-compliant(赤色)であれば、詳細を確認してください。システムが「ホスト02のNTPアドレスが間違っている」や「ホスト05にVLAN 20が不足している」といった具体的な箇所を特定してくれます。
4. 構成を同期する(Remediate)
これは、ホストを標準状態に戻すステップです。注意:ネットワークやストレージに関する一部の変更には、ホストをメンテナンスモード(Maintenance Mode)にする必要がある場合があります。
Remediateを実行する前に、Edit Host Customizations を行う必要があります。各ホストには固有の識別パラメータ(VMkernelのIPなど)があるため、IPの重複を防ぐためにこれらの値をテーブルに入力する必要があります。
# PowerCLIを使用して全ホストのコンプライアンス状態を素早く確認する
Get-VMHost | Select Name, @{N="Status";E={(Test-VMHostProfileCompliance -VMHost $_).Status}}
運用現場での実戦経験
ステータスが Compliant(緑色)に変われば、インフラは統一されたことになります。しかし、管理はそこで終わりではありません。
手動変更に注意: チーム内の別のエンジニアが、テストのために一時的にホストの設定を変更することがあります。Host Profilesは次回のチェック時にそれを即座に検出します。私は通常、毎週PowerCLIスクリプトを実行して、構成が乖離したホストのレポートをメールで送信するように設定しています。
# プロファイルを自動適用するための基本的なスクリプト
$hp = Get-VMHostProfile -Name "Production-Cluster-Standard"
$vmhost = Get-VMHost "esxi-node-01.company.com"
Set-VMHostProfile -Entity $vmhost -Profile $hp
Apply-VMHostProfile -Entity $vmhost -Confirm:$false
いくつかの「鉄板」の注意事項:
- CSVファイル: 数十台のホストを構成する場合、IPの入力ミスを防ぐために、CSVファイルを介した「Export/Import Host Customizations」機能を利用しましょう。
- vLCM: Host Profilesはドライバーやファームウェアのバージョンは管理しません。ハードウェアからソフトウェアまで包括的に管理するには、vSphere Lifecycle Manager と組み合わせて使用するのがベストです。
- 権限管理: Remediateの権限は制限してください。ネットワークプロファイルでの一回のクリックミスが、一瞬にしてクラスター全体の接続を失わせる可能性があります。
Host Profilesをマスターすることは、一般的なシステム管理者からプロフェッショナルなインフラエンジニアへの大きな一歩です。繰り返しの作業に時間を浪費しないようにしましょう。

