VMware Tools Part 1 – An Overview
I’m doing VMware or in general virtualization since 2007 and over the years I can say about myself that I build a strong knowledge about it. But it comes the time that even the simplest things like in this case VMware Tools brought up some question from customers I didn’t know. That’s why I created this 3 part blog series which is in general a collection of information I found in KBs and documentations respectively from my own experience. So what will I cover in this 3 parts?
In part 1 I will cover an overview about VMware Tools (What is VMware Tools, What are the 3 types of VMware Tools, What is the differences between them etc.). In part 2 I will cover the question which VMware Tools version comes with which vSphere (Patch/Updates) starting with 5.5 and what were the fixes between the versions. Why I’m not starting with 5.0/5.1? Simple answer is because general supports of this versions will end on August 24th, 2016 and is therefor from my perspective no longer relevant. And yes I know there are a lot of customers still running on 5.0 or 5.1. You can find this and more lifecycle information in the VMware Lifecycle Product Matrix. In the final part I will give an overview about the VMware Tools component and driver and which version is included in each VMware Tools version.
So let’s start with the most important question and I see a lot of people scratching their head and asking themself “Is he really asking this? Everybody should know what it is”. My answer is YES a lot of people should know this but there are still people who are new to virtualization and are in the middle of starting their learning in this topic. And for them I hope this series would be useful.
What is VMware Tools?
VMware Tools is a suite of utilities and drivers that you install in the operation system running on vSphere, Workstation or Fusion. VMware Tools enhances the performance of a virtual machine and makes many easy-to-use features possible. Here is a list of some features that can only be used when VMware Tools are installed:
- Graceful shutdown and restart of Guests
- Improved mouse performance and significantly faster graphics performance
- Copying and pasting texts, graphics and files between the VM and the host or client desktop
- Synchronization of the clock in the VM with the clock on the host
- Driver for VMXNET3 network adapter
- VMware Memory Controller Driver (Ballooning driver)
- Guest Information like IP address or DNS name showing in vCenter
VMware Tools not installed
VMware Tools installed
VMware Tools are installed with the ESXi host and are located under /productLocker/vmtools which is a symbolic link to /vmfs/volumes/PartitionOnInstallDevice/packages/vSphereVersion/vmtools (e.g. /vmfs/volumes/53e2ac41-d93bbffd-27ad-0cc47a1dc31e/packages/5.5.0/vmtools for vSphere 5.5)
Types of VMware Tools
There are 3 type of VMware Tools:
VMware Tools
This version of tools is provided by the ESXi host. You can install it through the WebClient by right click the VM – All vCenter Actions – Guest OS – Install VMware Tools. When the installation is completed the VM will show under VMware Tools the status “Running”. When you are still using the fat client you will see a green check with “Running (Current)”. This means that you can update VMware Tools through vCenter/ESXi.
VMware Tools Operating System Specific Packages (OSPs)
These are VMware Tools that leverages the operating system’s native update mechanisms to automatically download, install, and manage VMware Tools as appropriate for that operating system. With OSPs, you manage VMware Tools from within the guest in the same way you would other standard software. If VMware Tools OSP is installed vCenter will show VMware Tools as “Guest managed”, “3rdParty/unmanaged” or “3rdParty/Independent” depending on which client (Web or Fat) you’re using. This means VMware OSP can’t be updated through vCenter/ESXi. This is a list of OS that supports OSPs:
- Community ENTerprise Operating System (CentOS) 4.0 through 6.x
- Red Hat Enterprise Linux 3.0 through 6.x
- SUSE Linux Enterprise Server 9 through 11
- SUSE Linux Enterprise Desktop 10 through 11
- Ubuntu Linux 8.04 through 12.04
For a complete list visit the VMware Compatibility Guide (VCG) and select Guest OS. Follow this link to the Guest OS selection. There you can filter by selecting under VMware Tools the type of the tools. In this case it would be Tools available via OSP. This will list all Guest OS which supports VMware Tools OSP. In almost all cases these are older Linux Guest systems. For Guest OS systems where Open-VM-Tools are available VMware doesn’t provide OSPs. More information about OSP can be found here and the specific packages can be downloaded here.
Open-VM-Tools (OVT)
This is the open source version of VMware Tools.The primary purpose is to enable operating system vendors and/or communities and virtual appliance vendors to bundle VMware Tools into their product releases. Open-VM-Tools comes in 4 packages (see KB2073803 for additional information) :
- open-vm-tools package
This package contains the core open-vm-tools user-space programs and libraries, including vmtoolsd. - open-vm-tools-desktop package
This optional package extends open-vm-tools with additional user-space programs and libraries to improve the interactive functionality of virtual machines. This package depends on X and therefore must be installed only when X is available. - open-vm-tools-devel package
This optional package extends open-vm-tools with additional user-space libraries for use in developing applications using open-vm-tools. - open-vm-tools-debuginfo package
This optional package contains additional binaries and source code for debugging open-vm-tools.
Open-VM-Tools consists only of a suite of virtualization utilities that improves the functionality, administration, and management of virtual machines within a VMware environment. It does not include any driver. Operating system vendors including open-vm-tool in their most recent OS version like:
- Fedora 19 and later releases
- Debian 7.x and later releases
- openSUSE 11.x and later releases
- Recent Ubuntu releases (12.04 LTS, 13.10 and later)
- Red Hat Enterprise Linux 7.0 and later releases
- CentOS 7.0 and later releases
- Oracle Linux 7.0 and later releases
- SUSE Linux Enterprise 12 and later releases
Again for a complete list follow this link to the Guest OS selection. There you can filter by open-vm-tools. This will list all Guest OS which supports OVT. If OVT is installed vCenter will show VMware Tools as “Guest managed”, “3rdParty/unmanaged” or “3rdParty/Independent”. This means Open-VM-Tools can’t be updated through vCenter/ESXi.
From a VMware support perspective, VMware recommends using open-vm-tools if they are available for the Guest OS, fully supports virtual machines that include open-vm-tools, fully supports virtual appliances that include open-vm-tools and does not recommend removing open-vm-tools redistributed by operating system vendors.
When to use which type of VMware Tools?
This is one of the questions almost every customer came up with and as a former consultant I can only say “it depends”. I will give you some advantages and disadvantages of each type of VMware Tools.
VMware Tools
- Advantage
- Install and update from vCenter/ESXi
- Green check if current or yellow exclamation mark if Out-of-date
- Available for all supported Guest OS.
- Disadvantage
- Application owner needs permission in vCenter to update VMware Tools
VMware Tools Operating System Specific Packages (OSPs)
- Advantage
- Application owner can install/update/remove VMware Tools with native OS mechanism.
- Disadvantage
- VMware admin sees only “Guest managed”, “3rdParty/unmanaged” or “3rdParty/Independent”
- Available only for older Linux Guest OS
- Can’t be installed or updated through vCenter/ESXi
Open-VM-Tools (OVT)
- Advantage
- Application owner can install/update/remove VMware Tools by themself with native OS mechanism
- Recommended by VMware for newer Linux Guest OS
- Disadvantage
- VMware admin sees only “Guest managed”, “3rdParty/unmanaged” or “3rdParty/Independent”
- Available only for newer Linux Guest OS
- Can’t be installed or updated through vCenter/ESXi
Linux Guest and VMware Driver
I mentioned earlier in this post that open-vm-tools doesn’t include drivers. The reason for this is that VMware has contributed and actively maintains the source code for VMware paravirtual drivers and kernel modules upstream to the mainline kernel.org tree for Linux. This means that since a specific kernel version all required driver are included in this kernel and therefor in the Linux distribution which is using this kernel version.
Here is a short list of paravirtual driver and the kernel version in which it was first included:
- The vmxnet3 driver with version 1.0.5.0-k was accepted upstream in the 2.6.32 kernel on October 2009.
- The vmw_pvscsi driver with version 1.0.1.0-k was accepted upstream in the 2.6.33 kernel on December 2009.
- The vmw_balloon driver with version 1.2.1.0-K was accepted upstream in the 2.6.34 kernel on April 2010.
- The vmwgfx driver with version 2.0.0.0 was accepted upstream in the 3.2 kernel on September 2011.
- The vmw_vmci driver with version 1.0.0.0-k was accepted upstream in 3.9 kernel on March 2013.
- The vmw_vsock kernel modules with version 1.0.0.0-k was accepted upstream in 3.9 kernel on March 2013.
Here you can find some Linux distributions and the kernel version they are using:
This concludes part 1 of this series. Thanks for reading and I hope you found it useful. Stay tuned for part 2 and 3 of this series.
References used in this post:
It’s possible to install open-vm-tools in RHEL 6 from the EPEL repository.
Buy there is one more cons: you need to manually create udev rule to set recommended I/O timouts:
https://github.com/vmware/open-vm-tools/issues/47
Even if it’s possible it’s not supported by VMware -> http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=software&testConfig=16&productid=11540&supRel=274,273,272,271,172,243,270,202,201,171,260,187,168,76,196,158,148,24,182,80,74,327,301,258,217,155,165,326,295,259,218,199,&deviceCategory=software&details=1&operatingSystems=102&page=1&display_interval=10&sortColumn=Partner&sortOrder=Asc&testConfig=16
One minor disadvantage I see with VMware Tools is that the version check is done locally (with underlying ESXi), it doesn’t check for updated VMware Tools available on vmware.com. So you can end up with not-so up-to-date tools (if running ESXi 5.5U2 for e.g) whereas open-vm-tools on Linux is more up-to-date.
Hi Olivier. That’s right but you can also create a dedicated VMware Tools repository on one of your shared datastores (https://blogs.vmware.com/vsphere/2015/09/vmware-tools-lifecycle-why-tools-can-drive-you-crazy-and-how-to-avoid-it.html) with the most recent version of VMware Tools. I know it’s not as comfortable as a website check but there are also environments which doesn’t have an internet connection. It’s also always the question if you need to update VMware Tools. Most of the time only the management part is updated and not the drivers. I will show this in my last part. I always recommend to update Tools only if I have to or if I have a maintenance windows. For me as an example there is no need currently to update from 10.0.6 to 10.0.8. If you have further question or feedback, please let me know.
Feedback is always appreciated.
Fred
Agreed on internet connectivity and need to upgrade. I am going to test the shared datastore idea, thanks for mentioning it and thanks for these blogs entries, very useful to have such summaries with pros/cons.
Great that it was useful! 🙂 Thanks for the kind words! 🙂
Fred