vmware esxi を無償で利用している場合にweb経由でアップデートする方法
isoイメージをDVD-Rに書き込む方法を説明しているとことが多いですが、一回しか使わない媒体を用意するのが無駄なのと、サーバ室に行くのが面倒なので、最良のアップデート方法であるWeb経由のオンラインアップデートについて説明します。
完全に座ったままアップデートできるのも魅力ですね。
SSH接続を許可する
Web Client もしくは、 VMware vSphere Client(公式にはC#版と呼ばれているもの)を使って管理画面に接続し、SSH接続を許可する。
VMware vSphere Clientの場合
構成タブ、ソフトウェア-セキュリティプロファイル、プロパティの順にクリックする。
「サービスプロパティ」画面が表示されるのでSSHを選択し、オプションボタンをクリックする。
「SSH(TSM-SSH)オプション」画面が表示されるので、開始ボタンをクリックする。
Web Clientの場合
見れば分かる。
アップデート前に色々確認する
esxi サーバにSSHでアクセスする。
プロファイルの確認
ベンダ提供のカスタムイメージを使用している場合、vmware社が提供しているファイルは使用できないので、まずプロファイルの確認をする。
esxcli software profile get
ビルドと適用済VIBの確認
esxcli system version get
esxcli software vib list
現在の環境を確認したら、いよいよアップデートを開始する。
ESXiをメンテナンスモードに移行
まず、ESXiのモードを確認する。
esxcli system maintenanceMode get
Enable と表示されれば既にメンテナンスモードになっているので何もしなくて良い。
Disable と表示された場合は次のコマンドを実行してメンテナンスモードに移行する。
esxcli system maintenanceMode set --enable=true
アップデートファイルの確認
ESXiのファイアーウォールの設定変更
vmware社のサーバからhttpでファイルを持ってくるので、http通信を通過させる様にESXiのファイアーウォール設定を変更する。
まず、ファイアーウォール設定の確認をする。
esxcli network firewall ruleset list | grep httpClient
httpClient False と表示された場合、通信を遮断しているので次のコマンドで設定変更する。
esxcli network firewall ruleset set --ruleset-id=httpClient --enabled=true
利用可能なアップデートプロファイルの確認
6.5 へのアップデートの場合、以下の様に記述する。
esxcli software sources profile list -d https://hostupdate.vm
ware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep ESXi-6.5 | sort
2017年2月12日現在で次の様に出てくる。
ESXi-6.5.0-20170104001-no-tools VMware, Inc. PartnerSupported 2017-01-06T04:23:48 2017-01-06T04:23:48
ESXi-6.5.0-20170104001-standard VMware, Inc. PartnerSupported 2017-01-06T04:23:48 2017-01-06T04:23:48
ESXi-6.5.0-4564106-no-tools VMware, Inc. PartnerSupported 2016-10-27T05:43:44 2016-10-27T05:43:44
ESXi-6.5.0-4564106-standard VMware, Inc. PartnerSupported 2016-10-27T05:43:44 2016-10-27T05:43:44
アップデート
最新版を選択しアップデートを開始する。-no-tools は vmware tools が入っていないので -standard を選択する。
esxcli software profile update -d https://hostupdate.vmware.c
om/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.5.0-20170104001-st
andard
ファイアーウォールの設定を戻す
esxcli network firewall ruleset set --ruleset-id=httpClient --enabled=false
再起動する
reboot