2018年7月17日火曜日

ESXi 6.7に同梱されているVMware Tools 10.2.0に不具合があるので、10.2.5に入れ替えた件

ESXi 6.7に同梱されているVMware Toolsは、バージョン 10.2.0となるが、以下KBに不具合情報が掲載されており、利用が非推奨となっている。

Ports are exhausted on Guest VM after a few days when using VMware Tools 10.2.0 (54459)
https://kb.vmware.com/s/article/54459

どうやら、VMware Toolsがサーバーのポートを食いつぶし、最終的に仮想マシンが通信ができなくなるという、なかなか影響の大きい不具合のようだ。

解決策は、
  1. VMware Toolsのバージョンアップ
  2. 「VMware CAF Management Agent service」の停止
のどちらかとなるが、今回「1」の対応を行うことにした。

VMware Tools 10.2.5はダウロードできる最新が10.2.5のようなので、そちらを利用する。リリースノートにも今回の不具合修正の記載があるので、引用しておく。

VMware Tools 10.2.5 リリース ノート
https://docs.vmware.com/jp/VMware-Tools/10.2/rn/vmware-tools-1025-release-notes.html#resolvedissues
・VMware Tools 10.2.0 を使用した後に、ゲスト仮想マシンのポートが枯渇する
VMware Tools 10.2.0 を使用した後に、ゲスト仮想マシンのポートが枯渇するその結果、ネットワーク接続の障害が発生します。
今回のリリースで、この問題は解決されています。

変更手順

それではESXi 6.7のVMware Tools入れ替え手順を記載していこう。

1. VMware Tools 10.2.5をダウンロード

以下URLからVMware Toolsをダウンロードする。

ダウンロード VMware Tools 10.2.5
https://my.vmware.com/jp/web/vmware/details?downloadGroup=VMTOOLS1025&productId=352

ダウンロードは一番上のzip圧縮版を選んでおけば問題ない。なお、ダウンロードにはMy VMwareのアカウントが必要なので注意。



問題なければ、以下ファイルがダウンロードできるはずだ。

VMware-Tools-core-10.2.5-8068406.zip


2. ファイルをアップロード

データストアブラウザなどを使って、ダウンロードしたzipをアップロードする。今回は、ssd_local_01という名前のデータストア直下にアップロードした。

3. zipファイルを展開

ここからはESXiにsshで接続しての作業となる。

vmtoolsというディレクトリを作成し、その中にunzipコマンドでVMware Toolsのファイルを解凍する。

[root@t3011esxi:~] mkdir /vmfs/volumes/ssd_local_01/vmtools
[root@t3011esxi:~] unzip /vmfs/volumes/ssd_local_01/VMware-Tools-core-10.2.5-8068406.zip -d /vmfs/volumes/ssd_local_01/vmtools/
------------------------------
Archive:  /vmfs/volumes/ssd_local_01/VMware-Tools-core-10.2.5-8068406.zip
   creating: floppies/
  inflating: floppies/pvscsi-Windows2008.flp
  inflating: floppies/pvscsi-Windows8.flp
  inflating: floppies/pvscsi-WindowsVista.flp
   creating: vmtools/
  inflating: vmtools/buildNumber.txt
  inflating: vmtools/linux.iso.sig
  inflating: vmtools/windows.iso
  inflating: vmtools/isoimages_manifest.txt.sig
  inflating: vmtools/linux_avr_manifest.txt
  inflating: vmtools/linux.iso
  inflating: vmtools/windows_avr_manifest.txt
  inflating: vmtools/windows.iso.sha
  inflating: vmtools/windows_avr_manifest.txt.sig
  inflating: vmtools/linux_avr_manifest.txt.sig
  inflating: vmtools/windows.iso.sig
  inflating: vmtools/isoimages_manifest.txt
  inflating: vmtools/linux.iso.sha
  inflating: vmtools/version.txt
------------------------------

解凍に成功すると、floppiesとvmtoolsという2つのディレクトリが作成されるはずだ。

[root@t3011esxi:~] ls -l /vmfs/volumes/ssd_local_01/vmtools/
------------------------------
drwxr-xr-x    1 root     root           700 Jul 14 13:16 floppies
drwxr-xr-x    1 root     root          2240 Jul 14 13:16 vmtools
------------------------------

4. 旧VMware Toolsファイルをバックアップ

ESXiが参照するVMware Toolsのファイルは、/vmimages配下となる。

[root@t3011esxi:~] ls -l /vmimages/
------------------------------
lrwxrwxrwx   1 root root  23 Apr  3 21:31 floppies -> /productLocker/floppies
lrwxrwxrwx   1 root root  22 Apr  3 21:31 tools-isoimages -> /productLocker/vmtools
------------------------------

/vmimages配下にはfloppiesとtools-isoimagesという2つのシンボリックリンクがあり、実態は/productLockerにあることがわかる。したがって、/productLockerのファイルを先ほど展開したzipファイルで上書きすればよい。

[root@t3011esxi:~] ls -l /productLocker/
------------------------------
drwxr-xr-x    1 root     root             8 May 25 20:50 floppies
drwxr-xr-x    1 root     root             8 Jul 13 22:01 vmtools
------------------------------

とはいえ、上書きすると消えてしまうため、念のため旧ファイルのバックアップは取得しておくことを推奨する。今回はtarで固めて、tools-isoimages_bck.tar.gzという名前でデータストア保存した。

[root@t3011esxi:~] cd /productLocker/
[root@t3011esxi:/vmfs/volumes/5b087705-8ff61c5b-8856-80ee73b761f0/packages/vmtoolsRepo] tar zcvf /vmfs/volumes/ssd_local_01/tools-isoimages_bck.tar.gz .
------------------------------
./
./linux.iso.sha
./linux.iso
./linux_avr_manifest.txt
./winPreVista.iso.sha
./windows.iso
./linux.iso.sig
./isoimages_manifest.txt.sig
./winPreVista_avr_manifest.txt
./winPreVista.iso
./winPreVista_avr_manifest.txt.sig
./linux_avr_manifest.txt.sig
./isoimages_manifest.txt
./winPreVista.iso.sig
./windows_avr_manifest.txt.sig
./windows_avr_manifest.txt
./windows.iso.sig
./windows.iso.sha
------------------------------

5. ファイルをコピーして上書き

cpコマンドで上書きを実施してしまうのが、最も簡単。ただし、上書き確認はされない(-iオプションを入れても確認されない)ので注意すること。

[root@t3011esxi:~] cp -r /vmfs/volumes/ssd_local_01/vmtools/* /productLocker/

コピー後確認をしてみる。日付が更新されているものが上書きされたファイルとなる。

[root@t3011esxi:~] ls -l /productLocker/*
------------------------------
/productLocker/floppies:
total 746
-rwx------    1 root     root        120320 Apr  3 21:50 pvscsi-Windows2003.flp
-rwx------    1 root     root        160256 Jul 14 13:31 pvscsi-Windows2008.flp
-rwx------    1 root     root        163328 Jul 14 13:31 pvscsi-Windows8.flp
-rwx------    1 root     root        160256 Jul 14 13:31 pvscsi-WindowsVista.flp
-rwx------    1 root     root        116736 Apr  3 21:50 pvscsi-WindowsXP.flp
-rwx------    1 root     root         42496 Apr  3 21:50 vmscsi.flp

/productLocker/vmtools:
total 212759
-rwx------    1 root     root             7 Jul 14 13:31 buildNumber.txt
-rwx------    1 root     root          5175 Jul 14 13:31 isoimages_manifest.txt
-rwx------    1 root     root          2122 Jul 14 13:31 isoimages_manifest.txt.sig
-rwx------    1 root     root      57456640 Jul 14 13:31 linux.iso
-rwx------    1 root     root        898272 Jul 14 13:31 linux.iso.sha
-rwx------    1 root     root          2122 Jul 14 13:31 linux.iso.sig
-rwx------    1 root     root          1989 Jul 14 13:31 linux_avr_manifest.txt
-rwx------    1 root     root          2122 Jul 14 13:31 linux_avr_manifest.txt.sig
-rwx------    1 root     root             6 Jul 14 13:31 version.txt
-rwx------    1 root     root      71991296 Apr  3 21:50 winPreVista.iso
-rwx------    1 root     root       1125376 Apr  3 21:50 winPreVista.iso.sha
-rwx------    1 root     root          2122 Apr  3 21:50 winPreVista.iso.sig
-rwx------    1 root     root          1709 Apr  3 21:50 winPreVista_avr_manifest.txt
-rwx------    1 root     root          2122 Apr  3 21:50 winPreVista_avr_manifest.txt.sig
-rwx------    1 root     root      85032960 Jul 14 13:31 windows.iso
-rwx------    1 root     root       1329152 Jul 14 13:31 windows.iso.sha
-rwx------    1 root     root          2122 Jul 14 13:31 windows.iso.sig
-rwx------    1 root     root          1709 Jul 14 13:31 windows_avr_manifest.txt
-rwx------    1 root     root          2122 Jul 14 13:31 windows_avr_manifest.txt.sig
------------------------------

これでVMware Toolsの置き換えは完了となる。ESXiの再起動等は不要で反映されるようだ。

6. 仮想マシンのVMware Toolsをアップグレード

試しに、Windows Server 2008 R2の仮想マシンのVMware Toolsをアップグレードをしてみることにする。操作は、VMware Host Clientにて行う。

仮想マシンの画面を開くと、ESXi上のVMware Toolsのファイルを置き換えたことによって、新しいバージョンのVMware Toolsが利用可能である旨が表示されるようになっている。


仮想マシンの「アクション」→「ゲストOS」→「VMware Toolsのアップグレード」を選択すると、自動でアップグレードされる。

ただし、仮想マシンの種類によってはOS再起動も自動で実施されるので注意する。私の環境ではWindows Server 2008 R2では再起動がされたが、Windows Server 2016では再起動されなかった。


再起動が完了すると、ESXiからも10.2.5でバージョンを認識した。


以上でESXi上のVMware Toolsファイルの置き換え手順は完了となる。

今後ESXi 6.7のパッチ等でVMware Toolsの不具合は修正されるとは思うが、それまでは本手順を参考に新しいバージョンに入れ替えるか、バージョン 10.2.0を利用しないように注意しよう。

参考

ESX/ESXi ホスト上の VMware Tools の ISO イメージが壊れているかどうかを判別する (1004820)
https://kb.vmware.com/s/article/1004820?lang=ja

0 件のコメント:

コメントを投稿

人気の投稿