VMware ESXi へのパッチ適用手順
ESXi のバージョンアップ作業の手順メモです。
パッチ の入手
My VMware にログインしている状態で、以下のページにアクセスします。
リストから選択する形式でパッチを検索できるので、ESXi (Embedded and Installable) を選んでからパッチを適用したいバージョンを選び、検索ボタンを押します。 *1
パッチファイルの一覧が表示されるので、今回は2020年11月19日に公開された「VMware-ESXi-7.0U1b-17168206-depot.zip」を適用することとして進めます*2。
このファイルを ESXi のサーバにアップロードします。 vSphere Web Client からデータストアブラウザを使って適当な場所にアップロードしました。
アップデートはコマンド入力で進めるので、先だってSSH等でアクセスできるようにサービスを有効にしておきます。 右クリックメニューからも有効化できます
また、アップデートするためにメンテナンスモードに変更する必要があります。 仮想マシンはシャットダウンしておきます。*3
ここから先は SSH で ESXi サーバにアクセスして進めます。
アップロードしたファイルは /vmfs/volumes/datastore1/
といった場所にあるはずです。*4
まずアップデートをする準備として、esxcli コマンドを用いてファイルに含まれているイメージプロファイル名を確認します。
# esxcli software sources profile list -d /vmfs/volumes/datastore1/VMware-ESXi-7.0U1b-17168206-depot.zip Name Vendor Acceptance Level Creation Time Modification Time ----------------------------- ------------ ---------------- ------------------- ----------------- ESXi-7.0U1b-17168206-no-tools VMware, Inc. PartnerSupported 2020-11-11T11:34:51 2020-11-11T11:34:51 ESXi-7.0U1b-17168206-standard VMware, Inc. PartnerSupported 2020-11-11T11:34:51 2020-11-11T11:34:51
上記の通り「no-tools」と「standard」の2種類がありました。*5 どちらを適用する必要があるのか、現在の環境のプロファイルを以下のコマンドで確認します。
# esxcli software profile get
ずらりと出てくる結果の最初の方に「ESXi-7.0.0-15843807-standard」とあったので「standard」を適用すればいいと分かります。
以下のコマンドでアップデートを実行します。*6
# esxcli software profile update -d /vmfs/volumes/datastore1/VMware-ESXi-7.0U1b-17168206-depot.zip -p ESXi-7.0U1b-17168206-standard
うまくいくと次のように表示されます。
Update Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true (後略)
指示通り再起動をかけます。再起動後は SSH サービスが起動してこないので注意が必要です。*7
esxcli system shutdown reboot -r "Update to version 7.0U1b"
再起動が完了したら vSphere Web Client などからアクセスしてバージョンを確認します。 問題なければメンテナンスモードを解除し、仮想マシンを順次再開させていきます。
なお、以下のコマンドでもバージョンを確認できます。
# vmware -l VMware ESXi 7.0 Update 1 # vmware -v VMware ESXi 7.0.1 build-17168206
付録
アップグレード、パッチ適用、アップデート、および移行の違い
- vSphere のアップグレード、パッチ適用、アップデート、および移行の違い
https://docs.vmware.com/jp/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-9E7D1A69-E0BA-4B33-B4E1-8262AD4C7EF4.htmlvSphere 製品では、ソフトウェアに主要な変更を加えるアップグレード、より小さい変更を加えるパッチ適用およびアップデート、ソフトウェア プラットフォームを変更する移行が、それぞれ区別されています。
アップグレードパスの確認方法
アップグレード等、自分の環境のバージョンが少し古い場合は以下のページで適用可能な範囲を確認できます。
- VMware 製品の相互運用性マトリックス
https://www.vmware.com/resources/compatibility/sim/interop_matrix.php#upgrade&solution=1
HardwareError が出たとき
アップデートを実行すると Hardware precheck が走ります。もしサポートされていないハードウェアが検出された場合は、以下のようなエラーが出て処理が中止します。
[HardwareError] Hardware precheck of profile ESXi-7.0U1b-17168206-standard failed with warnings: <UNSUPPORTED_DEVICES WARNING: This host has unsupported devices [<PciInfo ' [XXXX:XXXX XXXX:XXXX]'>, <PciInfo ' [XXXX:XXXX XXXX:XXXX]'>]> Apply --no-hardware-warning option to ignore the warnings and proceed with the transaction. Please refer to the log file for more details.
PciInfo [XXXX:XXXX XXXX:XXXX] の部分が PCI Vendor Id/Device Id と呼ばれているものらしく "PCI XXXX XXXX" といった感じで検索すると対象の製品が分かります。
対処法としては、当該製品がサポートされるまで待つか --no-hardware-warning
オプションを付加して続行するかです。
これが出るからといって必ず不具合が発生するものではないですが、どちらを選ぶかは自分で判断します。
参考文献
ESXi 6.7から7.0へのアップグレード | SD2
https://sd2.dozono.net/2020/04/17/esxi67-to-70.htmlVMware 製品の相互運用性マトリックス
https://www.vmware.com/resources/compatibility/sim/interop_matrix.php#upgrade&solution=1Contents (PCI Vendor Id/Device Id の一覧)
https://www.tssc.de/site/download/docs/listofsupporteddevices.aspx
更新履歴
- 2020/12/23 新規作成
*1:検索ページが表示されていない場合は、My VMware にログインしている状態であることを確かめてから改めて上記リンクからページに飛んでみてください。
*2:記事を書いた当時はこのパッチが最新でした。公開時点での最新版は「VMware-ESXi-7.0U1c-17325551-depot.zip」です。
*3:実際は少し横着をしてサスペンドにして進めてみました。
*4:デフォルトでは「datastore1」となっていますが、変更している場合はその名称。
*5:なお ESXi-7.0U1b の部分に「s」が付いているような場合もあります。これはセキュリティ修正のみを含む(その他のバグ修正は含まない)バージョンを意味するようです。例えば「ESXi-7.0bs-16321839-standard」といったものがそうです。 https://docs.vmware.com/jp/VMware-vSphere/7.0/rn/esxi70b.html
*6:esxcli software profile update -d {depot.zip の場所} -p {プロファイル名}
*7:必要なら SSH サービスを起動と共に立ち上がるように設定変更しておきましょう。