Technical

Understanding the Three Types of VM Tools

Three different types of VM Tools are available, intended to accommodate the range of workflows required in heterogeneous datacenters. This article provides an overview of these types and the next covers available options for keeping VM Tools up to date.

The Classic VM Tools ISOs for all Supported Guests

The most familiar mechanism for consuming VM Tools is the collection of ISO images containing installers that are mounted to virtual machines for use by Windows, Linux, Solaris, FreeBSD, Mac OS X, and other supported guests.

There are two sources for the VM Tools ISOs. Appropriate versions are bundled with the ESXi installer and, when applicable, ESXi patches in the form of a VIB called tools-light. Starting with version 10, VM Tools ISOs are also available for download directly from MyVMware. Installers for current guests are separated from those that are for older legacy guests, and each is available in both tar and zip archive formats for convenience. In the near future, ISOs for guests other than Windows and Linux will be available exclusively via download and not bundled with ESXi.

The choice between using the Tools ISOs that are ESXi bundled or downloadable is a matter of customer preference and operational requirements. For environments using traditional ESXi installations and managing updates with VMware Update Manager, the original approach is still viable. For those that prefer to leverage a shared Tools repository, perhaps in conjunction with stateless Auto Deploy hosts, the ability to get the latest bundle of Tools directly from VMware is appealing. VUM can also be used to update Windows and Linux VMs using the downloaded tools, as long as the ISOs have been placed in appropriate ESXi local or shared product lockers.

Initial installation of VM Tools is typically done immediately upon fresh guest OS install, often for a gold master template VM that will be subsequently cloned for workload VMs. This infrequent operation is initiated through the vSphere interface and manually executed via familiar GUI or CLI installers.

tools-install-dialog

Once VM Tools ISOs for Windows or Linux guests are installed, administrators can update to subsequent releases through a range of techniques optimized for either automation or separation of responsibilities. Other supported guests, such as FreeBSD and Solaris, must be updated using the same interactive process that is used for installation.

The key methods of updating VM Tools ISOs for Windows and Linux:

  • Automatic update on VM boot
  • Initiate update to one or more VMs through the vSphere UI
  • VMware Update Manager: immediate, scheduled, or on boot
  • In-guest update – delegating control to app owners
  • Mass updates through PowerCLI automation

One more note about Linux terminology: the Linux Tools ISOs are also known as “tar tools” to distinguish them from the packaged tools that will be described next.

VM Tools Packages for Linux Guests

In recent years, two Linux-specific VM Tools offerings have emerged. Both consist of binary packages for particular Linux distributions that are easily installed and updated without dependencies such as kernel development utilities – something that is not always the case with the “tar installer” from VM Tools ISOs for Linux guests.

The initial effort for this approach was known as Operating System Specific Packages, or OSPs. These binary packages are built, signed, and hosted by VMware and are virtually identical to the components distributed in the VM Tools ISOs.

Building on that momentum, VMware released the code for VM Tools as open source, allowing individual Linux distributions to directly consume these utilities for their releases at their respective paces. Open VM Tools, or OVT, is currently present in recent versions of all major Linux distributions.

Distro maintainers are able to pick and choose which Open VM Tools components to include. The version of OVT incorporated with a release is also at their discretion, giving them confidence to offer full support. VMware has strong support agreements in place with most major Linux vendors and is committed to working together as needed to support customers using Open VM Tools.  More details on Open VM Tools, including the support policy, can be found in KB 2073803.

While the Open VM Tools source is available to anyone via GitHub, end customers are not expected to download and build OVTs themselves. In fact, only the binary packages distributed with Linux distributions are supported.

While there are two different models of packaged Linux Tools, there is actually no decision to be made by administrators. For any given Linux distribution there is only one offering – either OSP or OVT – which is determined by version. For instance, older releases such as RHEL 6 use the original OSPs, while newer releases like RHEL 7 come integrated with OVT.

OSPs originate from packages.vmware.com – a VMware-managed repository that is publicly accessible without need for authentication. It was recently enhanced to https-only for improved security. For environments without direct access to the Internet, it would be feasible for customers to privately mirror applicable portions of the repository internally.

OSP installation involves one-time guest OS setup of the appropriate repository on packages.vmware.com; subsequent updates are handled just like any other Linux package using familiar tools like Yum and Apt.

In contrast, individual Linux vendors provide OVT packages directly since they are part of their respective distributions. In fact, OVTs are often installed during the initial guest OS deployment process without any additional effort. This integration enables a single workflow for guest OS patching. For instance, administrators can update OpenSSH, foundational libraries, and VM Tools using a single process with the added advantage that the vendor has tested all of the components together.

It’s worthwhile to know these two things about OVT that sometimes throw folks for a loop:

GUI functionality is not normally installed by default in OVT, as many Linux environments are headless servers without X. For environments that desire features such as dynamic desktop resizing and copy/paste, simply install the auxiliary open-vm-tools-desktop package to enable those abilities.

OVT version 9.4 and prior had an external dependency for one capability – customers that required Linux VM customization after cloning from template also needed to install a separate deployPkg component from the OSP repository. However, as of 9.10 this capability is entirely present in OVT and it is no longer necessary to install any additional OSP packages.

Summary

At first glance, it’s easy to be overwhelmed by the various VM Tools options. But after taking a closer look, customers see that it is pretty straightforward to understand why there are three types of Tools, multiple ways to obtain them, and several approaches to install and keep Tools up to date. These options each have specific use cases that ultimately give administrators the flexibility to architect a process that works best for a certain environment.