VMware Tools ISO images on ESXi hosts are typically managed through the ESXi installer, vSphere Update Manager (VUM), or vSphere Lifecycle Manager (vLCM). However, you can also install and update these images manually.
This article provides instructions on how to:
Additionally, this guide will help you resolve the following issues:
Error: The required VMware Tools ISO image does not exist or is inaccessible. Vix 21001
VMware Tools incorrectly reporting as "Up to date" after updating the host's ISO files to a newer version.
The error message indicates that the virtual machine cannot find the required installation file, likely due to a corrupted or misconfigured installation source.
The VMware ESXi installer, vSphere Update Manager (VUM), and vSphere Lifecycle Manager (vLCM) manage VMware Tools ISO image files in the default /locker/packages/vmtoolsRepo partition. It is strongly advised against manually updating the contents of this default repository. Doing so can cause conflicts with automated lifecycle management operations. This article focuses on moving the productLocker to a different location.
The /productLocker symbolic link determines the active VMware Tools repository. Its target is controlled by the UserVars.ProductLockerLocation advanced setting, found in:
/productLocker points to /locker/packages/vmtoolsRepo. However, when a ramdisk cache is in use, /productLocker may point to /tools. # ls -l /productLocker # readlink /productLockerProductLocker. For more information, see Installing or upgrading VMware Tools might fail for VMs powered on before configuring ProductLocker (2147383).When installing VMware Tools repository on a datastore for the first time, you first need to create a directory to use as the root of the repository.
The datastore location for the repository and the directory must be only for use as the VMware Tools ISO images repository (i.e.: not a Virtual Machine folder or home)
# mkdir /vmfs/volumes/<datastore-name-or-volume-id>/<vmtools-repository-name> # chmod 700 /vmfs/volumes/<datastore-name-or-volume-id>/<vmtools-repository-name># rm -rf /vmfs/volumes/<datastore-name-or-volume-id>/<vmtools-repository-name>/*
Option 1:
Copy the “vmtools” and “floppies” sub-directories from the extracted directory to the VMware Tools repository.
# cp -r /path-to-package-extracted-dir/vmtools /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>/
# cp -r /path-to-package-extracted-dir/floppies /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>/ Option 2:
Selectively update the VMware Tools ISO images files. To provide VMware Tools to Windows VMs take the following files from the (latest) VMware-Tools-windows zip and put them into the respective folders "vmtools" and "floppies":
vmtools/isoimages_manifest.txt
vmtools/isoimages_manifest.txt.sig
vmtools/windows.iso
vmtools/windows.iso.sha
vmtools/windows.iso.sig
vmtools/windows_avr_manifest.txt
vmtools/windows_avr_manifest.txt.sig
floppies/pvscsi-Windows8.flp
floppies/pvscsi-Windows2008.flp
floppies/pvscsi-WindowsVista.flpOption 3:
If you want to provide VMware Tools for legacy Linux guest operating systems as well, additionally take the following files from the (latest) VMware-Tools-core zip and put them into the "vmtools" folder.
vmtools/linux.iso
vmtools/linux.iso.sha
vmtools/linux.iso.sig
vmtools/linux_avr_manifest.txt
vmtools/linux_avr_manifest.txt.sigchmod -R 700 /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>/*Configure ProductLocker to use the new VMware Tools ISO images repository location. To update the UserVars.ProductLockerLocation setting to the VMware Tools ISO images repository location using a method below.
esxcli system settings advanced set -o /UserVars/ProductLockerLocation -s /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>ESXi Host Web UI:
Host -> Manage -> Advanced Settings
vCenter Web UI:
Host -> Configure -> Advanced System Settings (search for UserVars.ProductLockerLocation)
Invoke updateProductLockerLocation vSphere API with /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name> as the argument. This updates the /productLocker symlink.
https://vcenter_fqdn/mob. Login with the [email protected] account, then browse to [content -> rootFolder -> childEntity -> hostFolder]. Follow the path under childEntity until you arrive at the host.updateProductLockerLocation method.Invoke Method" to apply the setting:https://vcenter_fqdn/mob/?moid=host-<ID>&method=updateProductLockerLocationIn the example this would be: https://vcenter_fqdn/mob/?moid=host-####&method=updateProductLockerLocation
Click on "Invoke Method" to apply the setting.
Following VMware ESXi host reboot, the entry for the productLocker in the VMware ESXi security policies will be updated to the new path. This update can fail if the datastore becomes accessible later than expected in the VMware ESXi host boot process. As a result, VMs security policies do not have the updated productLocker location and the VMware Tools repository is not accessible to the running VMs.
As a result, VMs on impacted esxi hosts cannot install/upgrade VMware Tools.
To identify the issue, Inspect the security policies:
# secpolicytools -d | grep $(basename $(readlink /productLocker)) | cut -d' ' -f2 | head -n1
-r <absolute-path-to-vmtoolsRepo-on-datastore> r
If the above path does not match, you need to reload the security policies:
# secpolicytools -p
Any running VM will need to be vMotion’d to a different host and back, or shutdown (reset will not work) and then powered on for the change to take effect. VM powered on after the security policies are updated will have the correct VMware Tools repository access.
Note: The datastore being slow to become accessible during VMware ESXi host reboot should be investigated, it could be linked to a storage or other resource issues in the environment.