びーえむうぇあー Experiments

VMwareや英語などをつらつらと綴ったもの

ESXiをアップグレードしてみる② -esxcliでアップグレード(6.7 U3 → 7.0 U1)

前回の記事では、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のオフラインバンドル)をダウンロードします。
f:id:tomomartin:20220213235611p:plain

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

続いてホストと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でもアップグレードされたバージョンが確認できます。
f:id:tomomartin:20220214020458p:plain

新しく適用されたvibの差分を確認してもいいのですが割愛します。

今回はこのへんで。

[参考]
ESXCLI コマンドを使用した、ホストのアップグレード
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.esxi.upgrade.doc/GUID-A4301ADA-8E02-459D-BF9D-0AD308DA5325.html