VMware vSphere 7 U2 has introduced a new feature that has not been promoted much, but has some essential functions that works not only for distributing VMware Tools across your cluster.

In fact, the GuestStorec. And that’s the main reason why this Framework has been designed.

The content which is can make sure that the distributed content is always consistent and correctly distributed across your whole environment.

Once you configure GuestStore on an ESXi host (it’s per-host config), the virtual machines on the host can start accessing the GuestStore content immediately.

VMware GuestStore architecture looks like this

VMware GuestStore Architecture

VMware GuestStore Architecture

What else outside VMware Tools can GuestStore be used for?

The GuestStore content can distribute:

  • Scripts – Scripts provide by VMware or custom scripts
  • Configuration Files – Configuration files of VMware Tools or VMware agents
  • Binary Files – Binary files that has updates for VMware tools or VMware agents
  • Custom Content – you can also distribute your own custom scripts, agents and config files

VMware GuestStore Requirements and Limits

VMware requires the following concerning GuestStore:

  • ESXi host must be ESXi 7.0 U2 and later
  • Windows VMs only as Guest OS must be running on the VMs
  • VMware Tools must be version 11.2.5 or higher in order for this feature to work
  • Files that will be distributed from the GuestStore cannot be larger than 512 Mb.

How To configure GuestStore by using ESX CLI

It is possible for you to manage the config via ESXCLI commands to set the URL to the GuestStore repository and verify the configuration by retrieving the current settings.

To verify the current config:

Verify the settings of your GuestStore Repository via CLI

Verify the settings of your GuestStore Repository via CLI

How To Set the GuestStore repository URL – the steps

You should know that the URL have to point to a datastore path where GuestStore content is stored. The datastore path must be accessible to the ESXi host.

If you want to set up a common GuestStore repository across multiple ESXi hosts, you should use a shared datastore path, which makes sense to me. Simply use a datastore that is connected to multiple ESXi hosts within your environment. Like this, all VMs running on those hosts will be able to reach to the GuestStore repository for updates.

So at first, I sumply created a folder (via datastore browser and vSphere web client) on my shared datastore. The shared datastore’s name is called StarWind as it provides me a shared datastore for my 2-node cluster.

Create a new folder on your shared datastore

Create a new folder on your shared datastore

You’ll need to find the UUID of your datastore via the ESXi command line, enter:

Find the UUID of your shared datastore

Find the UUID of your shared datastore

Now we’ll use that UIUD within our command:

My example for the datastore path.

Setting shared GuestStore repository on my ESXi host

Setting shared GuestStore repository on my ESXi host

Now we can check and retrieve the GuestStore repository URL.

And as you can see, you receive the currently set URL in the output.

URL: <datastore_path>

Find out if the GuestStore repository is set or not

Find out if the GuestStore repository is set or not

How to clear the repository:

If you want to change and start again, there is a command that clean everything out.

Clear the GuestStore repository URL setting.

And again, if you want to check the value of the repository, you can do so.

Retrieve the GuestStore repository URL.

You receive the URL information in the output.

URL: <not set>

How to clear the settings on GuestStore

How to clear the settings on GuestStore

We’re done.

Configure GlobalConf

You can distribute VMware Tools configuration file for many VMs within your environment, from your GuestStore repository.

The GlobalConf feature automatically updates VMware Tools configuration with the configuration available in the GuestStore repository. The GlobalConf feature is disabled by default.

When enabled, it allows vSphere administrators to distribute global VMware Tools configuration across multiple virtual machines in the vSphere environment.

By default, VMware Tools configuration is fetched from GuestStore repository

  • For Windows: “/vmware/configurations/vmtools/windows/tools.conf”
  • For Linux: “/vmware/configurations/vmtools/linux/tools.conf”

This can be overridden by a setting in local VMware Tools configuration inside the guest.

The GlobalConf module in VMware Tools checks the GuestStore repository every 60 mins by default. Inside the virtual machine, the guest administrator can manually edit the tools.conf file to configure various settings related to the GlobalConf module.

GlobalConf has the following configuration settings:

You can find the file within the “tools.conf” file on your VM.

You can use VMware Tools Toolbox command line utility.

You can check the globalconf status for example:

Enable GlobalConf via tools.conf file

Enable GlobalConf via tools.conf file

[globalconf]

enabled=true: Enables the module.

resource=/path/to/tools/conf/in/gueststore:

Default value is “/vmware/configurations/vmtools/windows/tools.conf” for Windows GOSes and “/vmware/configurations/vmtools/linux/tools.conf” for Linux GOSes.

StarWind HyperConverged Appliance is a turnkey hyper-converged hardware platform fitted into a small two-node footprint. You don’t need anything else to build a budget-friendly new IT infrastructure or upgrade an existing one. All your systems will be “babysitted” by StarWind 24/7/365, troubleshooting any concerns without your involvement. Everything’s operated through a neat web UI. We’ll also migrate your workloads at no extra cost.

Dramatically decrease your CapEx, OpEx, and IT management costs, while visibly increasing return on investment (ROI) with hyperconvergence for ROBO, SMB & Edge from StarWind.

Final Words

Using GuestStore feature together with Globalconf to manage upgrade and verification of upgrades of your VMware tools from a central repository is a step forward for VMware. It is a very convenient way of maintaining VMware tools up to data from one central location.

The GlobalConf module in VMware Tools checks the GuestStore repository every 60 mins by default, but you can change it to as low as 15 minutes if you like. Inside the virtual machine, the admin can manually edit the tools.conf file to configure various settings related to the GlobalConf module, not only the upgrade check. Have a look at further details in the latest VMware tools documentation here.

 

Back to blog