前回の記事では、ESXiのインストーラーISOを使用してESXiをアップグレードしましたが、今回はesxcliでアップグレードしてみたいと思います。
[今回の環境]
vCenter Cerver: 7.0 U3a build-18778458
ESXi: ESXi 6.7 U3 build-14320388 (アップグレード前)
ESXi: ESXi 7.0 U1 build-16850804 (アップグレード後)
環境は前回同様で、細かい前提条件やハードウェア要件等は割愛します。また今回は、独自のカスタマイズや3rdパーティのvibを導入しているわけではないので、VMwareが公開している素のイメージプロファイルをそのまま使用します。
はじめに、VMware Customer Connectからアップグレードに使用するデポのZipファイル(ESXiのオフラインバンドル)をダウンロードします。

vSphereクラスター(またはESXi単体)の適当なデータストアへZipファイルをアップロードします。

続いてホストとvibの許容レベルを確認しておきます。
ホストの許容レベル
[root@esxi-b] esxcli software acceptance get
CommunitySupported
導入するvibの許容レベル
(-dオプションでデータストアのzipファイルのパスを指定)
[root@esxi-b] esxcli software sources vib list -d /vmfs/volumes/nfs-datastore01/depot/VMware-ESXi-7.0U1-16850804-depot.zip
Name Version Vendor Creation Date Acceptance Level Status
----------------------------- ----------------------------------- ------ ------------- ---------------- ---------
elxiscsi 12.0.1200.0-2vmw.701.0.0.16850804 VMW 2020-09-04 VMwareCertified Update
nhpsa 70.0050.0.100-1vmw.701.0.0.16850804 VMW 2020-09-04 VMwareCertified Update
bnxtnet 216.0.50.0-16vmw.701.0.0.16850804 VMW 2020-09-04 VMwareCertified Update
vmkata 0.1-1vmw.701.0.0.16850804 VMW 2020-09-04 VMwareCertified Update
tools-light 11.1.1.16303738-16850804 VMware 2020-09-04 VMwareCertified Update
(以下、略)
導入するソフトウェアプロファイルの許容レベル
(-dオプションでデータストアのzipファイルのパスを指定)
[root@esxi-b] esxcli software sources profile list -d /vmfs/volumes/nfs-datastore01/depot/VMware-ESXi-7.0U1-16850804-depot.zip
Name Vendor Acceptance Level Creation Time Modification Time
---------------------------- ------------ ---------------- ------------------- -------------------
ESXi-7.0.1-16850804-standard VMware, Inc. PartnerSupported 2020-09-04T18:28:17 2020-09-04T18:28:18
ESXi-7.0.1-16850804-no-tools VMware, Inc. PartnerSupported 2020-09-04T18:28:19 2020-09-04T18:28:19
VMwareでは「VMwareCertified」 ~ 「CommunitySupported」までサポートレベルが分かれていますが、今回はホスト側の方が許容範囲が大きいのでそのまま進めます。
続いて、新しいvibをインストールする際に、ホストをメンテナンスモードにする必要があるかと再起動が必要かについて確認しておきます。
ホストをメンテナンスモードにするか、および再起動が必要かの確認
(-dオプションでデータストアのzipファイルのパスを指定)
[root@esxi-b] esxcli software sources vib get -d /vmfs/volumes/nfs-datastore01/depot/VMware-ESXi-7.0U1-16850804-depot.zip | grep -ie "Maintenance Mode Required" -ie "Live Install Allowed"
Maintenance Mode Required: True
Live Install Allowed: False
Maintenance Mode Required: True
Live Install Allowed: False
Maintenance Mode Required: True
Live Install Allowed: False
Maintenance Mode Required: True
Live Install Allowed: False
(以下、略)
メンテナンスモードと再起動が必要そうですね。
ちなみに、アップグレードのドライランを実行することも可能です。ドライランを実行すると、ホストの再起動の要否、インストールされるvib一覧、削除されるvib一覧、スキップされるvib一覧が表示されます。
アップグレードのドライランの実行
(-dオプションでデータストアのzipファイルのパスを指定, -pオプションで導入するソフトウェアプロファイルを指定, --dry-run でドライランを実行)
[root@esxi-b] esxcli software profile update -d /vmfs/volumes/nfs-datastore01/depot/VMware-ESXi-7.0U1-16850804-depot.zip -p ESXi-7.0.1-16850804-standard --dry-run
Update Result
Message: Dryrun only, host not changed. The following installers will be applied: [BootBankInstaller, LockerInstaller]
Reboot Required: true
VIBs Installed: VMW_bootbank_bnxtnet_216.0.50.0-16vmw.701.0.0.16850804, VMW_bootbank_bnxtroce_216.0.58.0-7vmw.701.0.0.16850804, VMW_bootbank_brcmfcoe_12.0.1500.0-1vmw.701.0.0.16850804, VMW_bootbank_brcmnvmefc_12.6.278.10-3vmw.701.0.0.16850804,(以降、略)
VIBs Removed: MEL_bootbank_nmlx4-core_3.17.70.1-1OEM.670.0.0.8169922, MEL_bootbank_nmlx4-en_3.17.70.1-1OEM.670.0.0.8169922, MEL_bootbank_nmlx4-rdma_3.17.70.1-1OEM.670.0.0.8169922, MEL_bootbank_nmlx5-core_4.17.70.1-1OEM.670.0.0.8169922, VMW_bootbank_ata-libata-92_3.00.9.2-16vmw.670.0.0.8169922, VMW_bootbank_ata-pata-amd_0.3.10-3vmw.670.0.0.8169922, VMW_bootbank_ata-pata-atiixp_0.4.6-4vmw.670.0.0.8169922,(以降、略)
VIBs Skipped: VMW_bootbank_i40en_1.8.1.123-1vmw.701.0.0.16850804, VMW_bootbank_ixgben_1.7.1.28-1vmw.701.0.0.16850804
続いて、対象ホスト上で仮想マシンが稼働していないことを確認できたらホストをメンテナンスモードへ切り替えます。
ホストがメンテナンスモードか確認
コマンド: esxcli system maintenanceMode get
ホストをメンテナンスモードへ切り替え
コマンド: esxcli system maintenanceMode set --enable true
ホストがメンテナンスモードへ入ったら、アップグレードの準備完了です。
その前に、ホストの現行バージョンとソフトウェアプロファイル、アップグレードに使用するソフトウェアプロファイルを確認しておきます。
現行バージョンの確認
[root@esxi-b] vmware -vl
VMware ESXi 6.7.0 build-14320388
VMware ESXi 6.7.0 Update 3
現行ソフトウェアプロファイル
[root@esxi-b] esxcli software profile get
(Updated) ESXi-6.7.0-20190802001-standard
Name: (Updated) ESXi-6.7.0-20190802001-standard
Vendor: VMware, Inc.
Creation Time: 2022-02-13T08:55:13
Modification Time: 2022-02-13T08:55:13
Stateless Ready: False
Description:
2022-02-13T08:55:13.219835+00:00: The following VIBs are
installed:
vmware-fdm 7.0.3-18751801
----------
(以下、略)
アップグレードに使用するソフトウェアプロファイル
(-dオプションでデータストアのzipファイルのパスを指定)
[root@esxi-b] esxcli software sources profile list -d /vmfs/volumes/nfs-datastore01/depot/VMware-ESXi-7.0U1-16850804-depot.zip
Name Vendor Acceptance Level Creation Time Modification Time
---------------------------- ------------ ---------------- ------------------- -------------------
ESXi-7.0.1-16850804-standard VMware, Inc. PartnerSupported 2020-09-04T18:28:17 2020-09-04T18:28:18
ESXi-7.0.1-16850804-no-tools VMware, Inc. PartnerSupported 2020-09-04T18:28:19 2020-09-04T18:28:19
ソフトウェアプロファイルは「standard」と「no-tools」がありますが、そのまま「standard」を使用します。
あとは必要に応じて、アップグレード前のvibのリストを適当なディレクトリに出力しておきます。(アップグレード後に見比べる場合)
ここから、ソフトウェアプロファイルをアップグレードしていきます。
ソフトウェアプロファイルのアップグレード
(-dオプションでデータストアのzipファイルのパスを指定, -pオプションで導入するソフトウェアプロファイル名を指定)
[root@esxi-b] esxcli software profile update -d /vmfs/volumes/nfs-datastore01/depot/VMware-ESXi-7.0U1-16850804-depot.zip -p ESXi-7.0.1-16850804-standard
Update Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: VMW_bootbank_bnxtnet_216.0.50.0-16vmw.701.0.0.16850804, VMW_bootbank_bnxtroce_216.0.58.0-7vmw.701.0.0.16850804, VMW_bootbank_brcmfcoe_12.0.1500.0-1vmw.701.0.0.16850804, VMW_bootbank_brcmnvmefc_12.6.278.10-3vmw.701.0.0.16850804,(以降、略)
VIBs Removed: MEL_bootbank_nmlx4-core_3.17.70.1-1OEM.670.0.0.8169922, MEL_bootbank_nmlx4-en_3.17.70.1-1OEM.670.0.0.8169922, MEL_bootbank_nmlx4-rdma_3.17.70.1-1OEM.670.0.0.8169922, MEL_bootbank_nmlx5-core_4.17.70.1-1OEM.670.0.0.8169922, VMW_bootbank_ata-libata-92_3.00.9.2-16vmw.670.0.0.8169922, VMW_bootbank_ata-pata-amd_0.3.10-3vmw.670.0.0.8169922, VMW_bootbank_ata-pata-atiixp_0.4.6-4vmw.670.0.0.8169922,(以降、略)
VIBs Skipped: VMW_bootbank_i40en_1.8.1.123-1vmw.701.0.0.16850804, VMW_bootbank_ixgben_1.7.1.28-1vmw.701.0.0.16850804
ソフトウェアプロファイルのアップグレードが完了すると、上記のように「アップグレードが正常に完了、再起動が必要」とのメッセージが表示され、実施された処理が表示されます。
そのままホストを再起動します。ホストが起動したら、メンテナンスモードを解除しアップグレード後のバージョンを確認をします。
ホストの再起動
[root@esxi-b] reboot
メンテナンスモードの解除
[root@esxi-b] esxcli system maintenanceMode set --enable false
アップグレード後のバージョン確認
[root@esxi-b] vmware -vl
VMware ESXi 7.0.1 build-16850804
VMware ESXi 7.0 Update 1
指定のバージョンへアップグレードされたことが確認できました。vCenterでもアップグレードされたバージョンが確認できます。

新しく適用されたvibの差分を確認してもいいのですが割愛します。
今回はこのへんで。
[参考]
ESXCLI コマンドを使用した、ホストのアップグレード
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.esxi.upgrade.doc/GUID-A4301ADA-8E02-459D-BF9D-0AD308DA5325.html