なぜESXCLIが最適な選択肢なのか?
先日、あるクライアントの8台のESXiホストをバージョン7.0 Update 3から8.0へアップグレードしました。これだけの台数があると、iDRACやIPMI経由で仮想メディアをマウントしてISOからインストールするのは非常に時間がかかります。一方で、vSphere Lifecycle Manager (vLCM) は、大規模なクラスタに属さないスタンドアロンのホストには少々大掛かりすぎます。
私がESXCLIを優先的に選ぶ理由は、その透明性にあります。150〜200MB程度のパッケージのダウンロード状況をリアルタイムで監視でき、ドライバーの競合(依存関係)も即座にチェックできます。すべてがターミナル上で完結するため、Webインターフェースの応答を待ったり、ブラウザのタイムアウトを心配したりする必要もありません。
アップグレード手法の比較
| 手法 | メリット | デメリット |
|---|---|---|
| ESXCLI | 非常に高速、詳細なログ、ISOの手動ダウンロード不要。 | SSH接続とインターネット(またはプロキシ)環境が必要。 |
| vLCM (vCenter) | 数十台規模のクラスタの自動化に最適. | ベースライン構成が複雑、DB同期エラーが発生しやすい。 |
| Interactive ISO | オフライン環境(エアギャップ)に適している。 | メディア準備に時間がかかり、BIOS操作が必要。 |
管理しているホストが10台未満で、安定したインターネット接続がある場合、ESXCLIが間違いなく最も効率的なツールです。
トラブルを避けるための入念な準備
準備なしにいきなりアップグレードコマンドを叩いてはいけません。以前、古いCPUが8.0のサポートリストから外れていることに気づかず、システムをハングアップさせそうになったことがあります。
1. VMware互換性ガイド(HCL)の詳細確認
ESXi 8.0では、Intel Xeon E5 v2シリーズや一部の低価格帯1GbEネットワークカードなど、多くの旧世代ハードウェアのサポートが正式に終了しました。VMware公式サイトでサーバーのモデルを確認してください。無理にインストールを進めると、再起動直後にPurple Screen of Death (PSOD)が発生する恐れがあります。
2. ホスト構成のバックアップ(所要時間30秒)
バックアップに数秒費やすだけで、アップグレード失敗時の致命的な事態を回避できます。以下のコマンドを実行してください:
vim-cmd hostsvc/firmware/backup_config
表示されたパスから .tgz ファイルをダウンロードし、安全な場所に保管します。
3. メンテナンスモードの有効化
すべての仮想マシンをvMotionで他のホストへ移動させたことを確認してください。その後、リソースの競合を避けるためにホストをメンテナンスモードに切り替えます:
esxcli system maintenanceMode set --enable true
ターミナル経由のESXi 8.0アップグレード手順
以下の4つのステップで、ESXi 8.0へのアップグレードを10〜15分程度で完了できます。
ステップ1:ファイアウォールの開放
デフォルトでは、ESXiは外部へのHTTP/HTTPS接続をブロックしています。VMwareのリポジトリに接続するためにポートを開放する必要があります:
esxcli network firewall ruleset set -e true -r httpClient
ステップ2:安定したビルドの選択
利用可能なビルドを一覧表示します。ドライバーがすべて含まれている -standard サフィックスが付いたプロファイルを選ぶのが一般的です。以下のコマンドを実行します:
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep ESXi-8.0
最新のプロファイル名をコピーします(例:ESXi-8.0U1a-21813344-standard)。
ステップ3:アップグレードの実行
重要な注意点:必ず profile update コマンドを使用してください。profile install を使用すると既存のドライバーが削除され、再起動後にネットワークカードやストレージへの接続が失われる可能性があります。
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-8.0U1a-21813344-standard
待機中(ネットワーク速度によりますが通常5〜10分)は、絶対にSSHウィンドウを閉じないでください。
ステップ4:確認と再起動
The update completed successfully というメッセージが表示されたら、Reboot Required の項目を確認します。true であれば、ファイアウォールを閉じてからマシンを再起動します:
esxcli network firewall ruleset set -e false -r httpClient
reboot
ドライバーエラーの対処法(トラブルシューティング)
最も一般的なエラーは “Dependency Error” です。これは通常、サードパーティ製の古いVIB(ドライバー)がESXi 8.0と互換性がないか、デジタル署名が不足していることが原因です。
この場合、esxcli software vib remove -n [パッケージ名] コマンドで問題のパッケージを削除できます。また、/bootbank パーティションの空き容量不足エラーが出る場合は、使用していないプリンタードライバー(Gutenprint)やRealtekネットワークドライバーなどを削除して容量を確保するのも有効なテクニックです。
おわりに
サーバーを8.0にアップグレードした後、UIの動作が明らかに軽くなり、特にAI実行用の仮想マシンへのGPUパススルーがより安定したと感じています。ハードウェアの準備さえしっかり行えば、ESXCLIによるアップグレードは決して難しくありません。皆さんのシステムのアップグレードが安全に成功することを願っています!
