ESXi 6.0にSSH接続してパッチを適用する方法

ESXi 6.0にSSH接続してパッチを適用する方法

ここでは、シングル構成のVMware ESXiホスト(ESXi 6.0update3)にSSH接続して、パッチを適用する手順を解説します。

すべての仮想マシンをシャットダウンする

まず、ホストクライアント(GUI)にログインして、以下のコマンドを実行してすべての仮想マシンをシャットダウンします。

# vim-cmd vmsvc/getallvms | cut -d' ' -f1 | grep -v Vmid | while read i; do vim-cmd vmsvc/power.shutdown $i; done

メンテナンスモードの開始

次に以下のコマンドを実行し、ホストをメンテナンスモードにします。

# vim-cmd hostsvc/maintenance_mode_enter

メンテナンスモードへ移行したかを確認するには、以下のコマンドを実行し、「inMaintenanceMode =」がtrueならメンテナンスモードです。

# vim-cmd hostsvc/hostsummary | grep -i mainte
 inMaintenanceMode = true,

パッチの適用

パッチに登録されているプロファイルの確認

次に、適用したいパッチをホストにアップロードしてから以下のコマンドを実行して、適用するパッチのプロファイルを確認します。(表示されているプロファイルのうち、-standardを適用します。)

# esxcli software sources profile list -d /vmfs/volumes/datastore1/Patch/ESXi600-201711001.zip

Name Vendor Acceptance Level
-------------------------------- ------------ ----------------
ESXi-6.0.0-20171103001s-no-tools VMware, Inc. PartnerSupported
ESXi-6.0.0-20171104001-standard VMware, Inc. PartnerSupported  ←これです
ESXi-6.0.0-20171103001s-standard VMware, Inc. PartnerSupported
ESXi-6.0.0-20171104001-no-tools VMware, Inc. PartnerSupported

「-no-tools」がつくプロファイルは、VMware Tools (tools-light vib) が含まれないプロファイルで、「s」がつくプロファイルは、セキュリティに関する不具合修正のみで、バグフィックスが含まれないプロファイルです。

パッチの適用

次に、以下のコマンドを実行してパッチを適用します。なお、オプション「-p」には、先ほど確認したプロファイル名を指定します。

# esxcli software profile update -d /vmfs/volumes/datastore1/Patch/ESXi600-201711001.zip -p ESXi-6.0.0-20171104001-standard

パッチ適用結果の確認と、ホストの再起動

パッチの適用コマンド実行後、しばらくすると実効結果が画面に表示されるので、「Update Result」の「Message:」欄に「The update completed successfully, ・・・」と表示されていることを確認します。

# esxcli software profile update -d /vmfs/volumes/datastore1/Patch/ESXi600-201711001.zip -p ESXi-6.0.0-20171104001-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: VMware_bootbank_esx-base_6.0.0-3.79.6921384, VMware_bootbank_esx-dvfilter-generic-fastpath_6.0.0-3.79.6921384, VMware_bootbank_esx-xserver_6.0.0-3.76.6856897, VMware_bootbank_ipmi-ipmi-devintf_39.1
・・・・・・

ホストの再起動

パッチを適用したら、rebootコマンドでホストを再起動します。

# reboot

パッチ適用後のバージョン確認

ホストを再起動したら、再度SSH接続して以下のコマンドを実行し、ビルド番号(BUild:)が更新されていることを確認します。

# esxcli system version get
   Product: VMware ESXi
   Version: 6.0.0
   Build: Releasebuild-6921384 ←ここ
   Update: 3
   Patch: 79

メンテナンスモードの解除

以下のコマンドを実行し、ホストのメンテナンスモードを解除します。

# vim-cmd hostsvc/maintenance_mode_exit

メンテナンスモードの状態を確認するには以下のコマンドを実行し、「inMaintenanceMode =」がfalseなら、メンテナンスモードではありません。

# vim-cmd hostsvc/hostsummary | grep -i mainte
 inMaintenanceMode = false,

仮想マシンの起動

最後に仮想マシンを起動して、必要に応じてVM-Toolsを更新すればパッチ適用完了です。

参考までに、コマンドで仮想マシンを起動する方法もあります。

ESXi 6の仮想マシンをコマンドで操作する方法
ここでは、VMwareESXiホストにSSH接続して仮想マシンを操作する際によく利用するコマンドの使い方を紹介します。

あとがき

ESXi 5以前は「プロファイル」なるものは特に指定する必要はなかったのですが、適用方法が若干変わったようですね。