ssh接続後、コマンドラインからesxcliを使ってパッチを適用する手順のメモです。
1.パッチのダウンロード
VMWare Customer Connectにログインし、下記URLから必要な製品のパッチをダウンロードします。
https://customerconnect.vmware.com/patch#search
無償版のESXi 7.0のパッチを探す場合には、下記の通り「Select a Product」で"ESXi (Embedded and Installable)"を選び、バージョン7.0を指定、SEARCHボタンを押します。
検索後、一番上に表示されるのが最新パッチです。DOWNLOAD NOWのボタンからダウンロードできます。
2.パッチのアップロード
ダウンロードしたパッチをESXiホストにアップロードします。SCPでファイル転送しても良いですが、ブラウザからESXiへログインし、ファイルをアップロードするのが簡単でおすすめです。
データストアブラウザを開き、適当な場所にパッチをアップロードします
3.VMシャットダウン、メンテナンスモード移行
パッチ適用後に再起動が必要になるため、適用前にすべてのVMをシャットダウンしメンテナンスモードへ移行させておきましょう。
ESXiにブラウザからログイン後、アクション → メンテナンスモードへの切り替え からメンテナンスモードに移行できます
コマンドラインで行いたい場合は、SSHログイン後に下記コマンドで移行できます。
ssh shell
esxcli system maintenanceMode set --enable=true
4.イメージプロファイルの確認
パッチを適用する際に使うプロファイル名を下記コマンドで確認します。
注)パッチファイルのロケーションは必ずフルパスで指定が必要です
ssh shell
[root@localhost:~] esxcli software sources profile list -d /vmfs/volumes/datastore1/patch/VMware-ESXi-7.0U3d-19482537-depot.zip
Name Vendor Acceptance Level Creation Time Modification Time
------------------------------ ------------ ---------------- ------------------- -----------------
ESXi-7.0U3sd-19482531-standard VMware, Inc. PartnerSupported 2022-03-29T00:00:00 2022-03-29T00:00:00
ESXi-7.0U3sd-19482531-no-tools VMware, Inc. PartnerSupported 2022-03-29T00:00:00 2022-03-11T13:53:29
ESXi-7.0U3d-19482537-standard VMware, Inc. PartnerSupported 2022-03-29T00:00:00 2022-03-29T00:00:00
ESXi-7.0U3d-19482537-no-tools VMware, Inc. PartnerSupported 2022-03-29T00:00:00 2022-03-11T15:01:02
通常はプロファイルはいくつか表示されます。
「ESXi-7.0U3sd-19482531-no-tools」例えば、先頭の末尾(黄色)にsが含まれるプロファイルはセキュリティパッチのみを意味しています。末尾(赤)の-no-toolsはVMWare Toolsが含まれていないことを表しています。
特別な意図が無い限りは全部入りのプロファイル、つまり先頭の末尾にsが付かない-standardプロファイルを選択します。今回はESXi-7.0U3d-19482537-standardを選択します。
5.プロファイル指定してパッチ適用
下記コマンドでプロファイル名を指定して、パッチを適用します。
ssh shell
esxcli software profile update -d /vmfs/volumes/datastore1/patch/VMware-ESXi-7.0U3d-19482537-depot.zip -p ESXi-7.0U3d-19482537-standard
コマンド実行後、しばらくすると結果が表示され、末尾に下記が表示されていれば正常にパッチが適用できています。
ssh shell
Update Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true...
6.再起動、バージョンチェック
パッチが正常に適用されたことを確認後は、rebootコマンドでサーバーを再起動します。
立ち上がってきたらWeb Clientにログインしてバージョンを確認してみましょう。下記のイメージプロファイルの部分が適用したプロファイル名になっているかでチェックできます。
sshシェルから確認したい場合は、下記のコマンドを実行します。
ssh shell
[root@localhost:~] esxcli system version get
Product: VMware ESXi
Version: 7.0.3
Build: Releasebuild-20036589
Update: 3
Patch: 50
まとめ
ESXiへコマンドラインでパッチアップデートを適用する方法をまとめました。数か月毎に打つコマンドなんか覚えておけないという私みたいな方に参考になれば幸いです。
ディスプレイを接続していないサーバーのメンテナンス中に再起動したら立ち上がらなくなったことはありませんか?原因を調べるためにわざわざ外付けモニタを移動して接続するの面倒ですよね。そんな時は下記のようなモバイルモニタがお勧めです。Type-Cケーブル1本で接続できるタイプ、フルサイズのHDMIコネクタが使えるものが特にお勧めです。
普段使わない時は引き出しの中にでもしまっておけばOK!我が家でも活躍中です♪