- Pulseway 9.2: Remote monitoring with workflow automation - Thu, May 18 2023
- ENow Active Directory Monitoring & Reporting - Tue, May 16 2023
- Auditing and restricting NTLM authentication using Group Policy - Thu, May 11 2023
VMware has been steadily improving vSphere's ability to deliver content by enhancing the functionality of Content Libraries. vSphere 7 Update 2 introduced another new feature in this category called VMware Tools GuestStore. It enables vSphere admins to distribute various content to the guest OS in the virtual machines.
A strong use case for GuestStore is to distribute VMware Tools to multiple guests simultaneously in a way that allows some degree of automation. At its core, it is essentially a directory on a shared datastore connected to multiple ESXi hosts. It has a special flag set using the ESXCLI command line utility. Using the shared datastore location, vSphere administrators can ensure distributed content is always consistent.
GuestStore use cases
After configuring the GuestStore repository, vSphere administrators can schedule a VMware Tools upgrade when a virtual machine is rebooted. The upgrade can also be performed on an ad-hoc basis.
What other types of content can be distributed with the GuestStore repository?
- VMware agent updates
- Configuration files for VMware agents and VMware Tools
- Custom content for your organization, including configuration files, scripts, and agents
Prerequisites
VMware notes the following with regard to using the GuestStore:
- VMs must be running Windows guest operating systems
- ESXi hosts that are loaded with vSphere 7.0 U2 and later
- VMware Tools 11.2.5 and later
- Files distributed from the GuestStore must be 512 MB or smaller
Configuring the GuestStore using ESXCLI
There are only a couple of steps involved in actually creating the GuestStore. It involves:
- Creating the folder on the shared datastore
- Designating the folder as the GuestStore using ESXCLI
Below, I am creating the GuestStore on a vsanDatastore.
Next, use the esxcli command to designate the GuestStore repository. The format of the command is as follows:
esxcli system settings gueststore repository set --url "ds:///vmfs/volumes/<datastore_uuid>/GuestStore"
To find the UUID at the ESXi command line, enter:
esxcli storage filesystem list
As you can see below, the command returns the UUID, among other details. Next, simply plug in the UUID of the shared datastore in the esxcli gueststore command above.
To verify the GuestStore repository configuration, use the command:
esxcli system settings gueststore repository get
VMware Tools upgrades
Recent VMware Tools versions can be configured to look at the GuestStore and pull upgrades from this location. VMware Tools upgrades from the GlobalStore can be configured locally and globally. You can edit the tools.conf file in the local VMware Tools configuration on each virtual machine found in the directory:
c:\ProgramData\VMware\VMware Tools
Starting with VMware Tools version 11.2.5, there is a gueststoreupgrade value in the tools.conf file that defines policy values for upgrade behavior. VMware Tools can be set to upgrade with a power cycle if desired. It will pull the latest version found in the GuestStore repository on boot.
There is also the concept of configuring this setting globally in a tools.conf file housed in the GuestStore. When virtual machines have the GlobalConf module enabled, the VMware Tools installation looks in the GuestStore for the global configuration defined in the path:
/vmware/configurations/vmtools/windows/tools.conf
How is the GlobalConf module enabled? On the virtual machine, you can check the status, enable, and disable using the following:
VMwareToolboxCmd.exe globalconf status VMwareToolboxCmd.exe globalconf enable VMwareToolboxCmd.exe globalconf disable VMwareToolboxCmd.exe globalconf refresh
When enabled, the VM will check the GuestStore every 60 minutes by default.
The following configuration settings can be set under the GlobalConf:
Subscribe to 4sysops newsletter!
- enabled=true: Enables the module.
- poll-interval=3600: Interval value should be specified in seconds. Default value: 3600 seconds. Minimum value: 1800 seconds.
- resource=/path/to/tools/conf/in/gueststore: Default value is "/vmware/configurations/vmtools/windows/tools.conf"
Wrapping up
The GuestStore offers vSphere admins a new option for content delivery in vSphere environments, including VMware Tools and other VMware agents. As shown, the GuestStore is easily configured and manipulated with the VMware Tools configuration settings.