Windows 仮想マシンに vSphere Client から VMware Tools インストールを行う。
この VMware Tools…最新版をインストールできないですか?
ところでインストールしたはいいが、VMware Tools のバージョン…
最新は 12.2.5 (2023/8/14 現在)が出ている中、せっかくインストールするのであれば最新版をインストールしておきたいところだが、デフォルトでインストールされる VMware Tools のバージョンは ESXi のバージョンに紐づいて提供されている。
インストールされるバージョンは下記を参照。
https://packages.vmware.com/tools/versions
(ESXi のバージョンが p0x 表記なので、buildnumber から追っかける必要あり…)
今回の環境は ESXi 7.0 U3d。
[root@hm90a:~] vmware -v VMware ESXi 7.0.3 build-19482537
セキュリティ fix などもあるので、せっかくインストールするのであれば新しいバージョンにしておきたいですねぇ…
ESXi ホスト上の VMware Tools を更新する
そんなあなたに KB がございます。
kb.vmware.com
更新してみる。
1. VMware Tools のリポジトリディレクトリを作成
ESXi が見えるどこか(Datastore 上)にリポジトリディレクトリを作成
[root@hm90a:~] mkdir /vmfs/volumes/hm90a.satassd/vmtools-repo
2. VMware Tools パッケージをダウンロード
Customer Connect から "VMware Tools packages for Windows" をダウンロードし、ESXi 上にもっていく。
zip/gz はお好きな方で
3. リポジトリディレクトリ上にファイルを展開
ダウンロードしたパッケージファイルをリポジトリディレクトリ上に展開。
[root@hm90a:~] cd /vmfs/volumes/hm90a.satassd/vmtools-repo [root@hm90a:/vmfs/volumes/629321cd-adc6180f-7672-1c8341299fe7/vmtools-repo] unzip VMware-Tools-windows-12.2.5-21855600.zip Archive: VMware-Tools-windows-12.2.5-21855600.zip creating: floppies/ inflating: floppies/pvscsi-Windows8.flp creating: vmtools/ inflating: vmtools/windows_avr_manifest.txt.sig inflating: vmtools/windows.iso l inflating: vmtools/buildNumber.txt inflating: vmtools/version.txt inflating: vmtools/windows_avr_manifest.txt inflating: vmtools/isoimages_manifest.txt inflating: vmtools/windows.iso.sha inflating: vmtools/isoimages_manifest.txt.sig inflating: vmtools/windows.iso.sig # zip は要らないので消しておく [root@hm90a:/vmfs/volumes/629321cd-adc6180f-7672-1c8341299fe7/vmtools-repo] rm VMware-Tools-windows-12.2.5-21855600.zip rm: remove 'VMware-Tools-windows-12.2.5-21855600.zip'? y [root@hm90a:/vmfs/volumes/629321cd-adc6180f-7672-1c8341299fe7/vmtools-repo] ls floppies vmtools # 権限変更 [root@hm90a:~] chmod 700 -R /vmfs/volumes/hm90a.satassd/vmtools-repo/*
4. 詳細パラメータを変更
作成したリポジトリディレクトリを参照するよう、詳細パラメータを追加する。
(デフォルトでは存在しないパラメータ)
[root@hm90a:~] esxcli system settings advanced set -o /UserVars/ProductLockerLocation -s /vmfs/volumes/hm90a.satassd/vmtools-repo/
確認してみる。
[root@hm90a:~] esxcli system settings advanced list | grep -A 10 /UserVars/ProductLockerLocation Path: /UserVars/ProductLockerLocation Type: string Int Value: 0 Default Int Value: 0 Min Value: 0 Max Value: 0 String Value: /vmfs/volumes/hm90a.satassd/vmtools-repo/ Default String Value: /locker/packages/vmtoolsRepo/ Valid Characters: * Description: Path to VMware Tools repository
これで、ESXi ホスト再起動すると反映されるが、再起動は何かと面倒なので、このままオンライン状態での設定反映方法があるのでそちらを実行する。
ESXi のバージョン間で違いがあるが、6.7U1 以降は同じ方法なので本文中はこちらで。
5. MOB で 該当 ESXi ホストを開く
MOB(Managed Object Browser https://[vCenter IP or FQDN]/mob/) で該当 ESXi ホストの updateProductLockerLocation メソッドを開く。 https://[vCenter IP or FQDN]/mob/?moid=[ESXi ホストの moid]&method=updateProductLockerLocation moid の確認方法は割愛。vSphere Client で取得できます。
6. パスを指定して Invoke
開いたページにて、path 欄にさきほどのディレクトリパスを入力し、Invoke Method リンクをクリックする。 Invoke Method が実行されると下の方に Method Invocation Reulst が表示される。 実行できれば多分問題無いが、メソッド実行結果が気になるなら task → Info とリンクを辿っていくと結果が確認可能。 更新手順としては、これで完了。
再度 VMware Tools インストールを試してみる
適当な Windows 仮想マシンに再度 vSphere Clinet から VMware Tools インストールを試してみると さきほどインストールした仮想マシンでもアップグレードが選択可能に。 インストール/アップグレード後は vSphere Client からもダウンロードしたバージョンで実行中に見える。
Appendix : この状態で Linux 仮想マシンはどうなるのか?
※ 最近の Linux 系は Open VM Tools 推奨なので、vSphere Client から追加すること無いと思いますが…
さきほどダウンロードしたパッケージ、Windows 用で Linux 用イメージは含んでいない。
解凍した Windows パッケージ
[root@hm90a:~] ls -l /vmfs/volumes/hm90a.satassd/vmtools-repo/* /vmfs/volumes/hm90a.satassd/vmtools-repo/floppies: total 1024 -rwx------ 1 root root 140288 Aug 14 08:52 pvscsi-Windows8.flp /vmfs/volumes/hm90a.satassd/vmtools-repo/vmtools: total 130112 -rwx------ 1 root root 8 Aug 14 08:53 buildNumber.txt -rwx------ 1 root root 5895 Aug 14 08:53 isoimages_manifest.txt -rwx------ 1 root root 3378 Aug 14 08:53 isoimages_manifest.txt.sig -rwx------ 1 root root 6 Aug 14 08:53 version.txt -rwx------ 1 root root 130775040 Aug 14 08:53 windows.iso -rwx------ 1 root root 2043872 Aug 14 08:53 windows.iso.sha -rwx------ 1 root root 3378 Aug 14 08:53 windows.iso.sig -rwx------ 1 root root 1669 Aug 14 08:53 windows_avr_manifest.txt -rwx------ 1 root root 3378 Aug 14 08:52 windows_avr_manifest.txt.sig
[root@hm90a:~] ls -l /locker/packages/vmtoolsRepo/* /locker/packages/vmtoolsRepo/floppies: total 3072 -rw-r--r-- 1 root root 165376 May 8 2022 pvscsi-Windows2008.flp -rw-r--r-- 1 root root 174080 May 8 2022 pvscsi-Windows8.flp -rw-r--r-- 1 root root 165376 May 8 2022 pvscsi-WindowsVista.flp /locker/packages/vmtoolsRepo/vmtools: total 203840 -rw-r--r-- 1 root root 5634 May 8 2022 isoimages_manifest.txt -rw-r--r-- 1 root root 3378 May 8 2022 isoimages_manifest.txt.sig -rw-r--r-- 1 root root 56051712 May 8 2022 linux.iso -rw-r--r-- 1 root root 876320 May 8 2022 linux.iso.sha -rw-r--r-- 1 root root 3378 May 8 2022 linux.iso.sig -rw-r--r-- 1 root root 1989 May 8 2022 linux_avr_manifest.txt -rw-r--r-- 1 root root 3378 May 8 2022 linux_avr_manifest.txt.sig -rw-r--r-- 1 root root 147435520 May 8 2022 windows.iso -rw-r--r-- 1 root root 2304192 May 8 2022 windows.iso.sha -rw-r--r-- 1 root root 3378 May 8 2022 windows.iso.sig -rw-r--r-- 1 root root 1669 May 8 2022 windows_avr_manifest.txt -rw-r--r-- 1 root root 3378 May 8 2022 windows_avr_manifest.txt.sig
linux.iso 系が無い。この状態で Linux 仮想マシンでマウントさせてみる。
Ubuntu 20.04 LTS 環境にて。
Open VM Tools がインストールされている
mirie@ubuntu2004a:~$ dpkg --list | grep open-vm-tools ii open-vm-tools 2:11.3.0-2ubuntu0~ubuntu20.04.3 amd64 Open VMware Tools for virtual machines hosted on VMware (CLI)
実行中だと vSphere Client でインストールが選べないので、Open VM Tools を止める。
mirie@ubuntu2004a:~$ sudo systemctl stop vmtoolsd
インストールを試してみるとエラーが…
Linux 系は Open VM Tools 推奨で、VMware Tools としての更新はしていないのでココから実行する意味は無いですが、気にる方は元のリポジトリから linux 系のファイルだけコピーしておくと一応エラーは起こらなくなる。
[root@hm90a:~] cp -r /locker/packages/vmtoolsRepo/vmtools/linux* /vmfs/volumes/hm90a.satassd/vmtools-repo/vmtools/
vSphere Client にてインストール選択後の Linux 仮想マシン
mirie@ubuntu2004a:~$ sudo mount -t iso9660 /dev/cdrom /mnt/ mount: /mnt: WARNING: device write-protected, mounted read-only. mirie@ubuntu2004a:~$ ls -l /mnt/ total 54385 -r-xr-xr-x 1 root root 1933 Oct 14 2020 manifest.txt -r-xr-xr-x 1 root root 4943 Oct 14 2020 run_upgrader.sh -r--r--r-- 1 root root 53834249 Oct 14 2020 VMwareTools-10.3.23-17030940.tar.gz -r-xr-xr-x 1 root root 917188 Oct 14 2020 vmware-tools-upgrader-32 -r-xr-xr-x 1 root root 930632 Oct 14 2020 vmware-tools-upgrader-64
当然古いバージョンのままですが…
注
ESXi 単位の設定なので、ESXi 毎にファイル配置とパラメータ設定が必要です。
ファイルは共有データストアに配置、パラメータ設定や mob 実行はスクリプトを駆使すれば一括でできそう…かな?