Understanding and Installing VMware Tools
A key area where VMware Server differs from many other virtualization solutions is the ability to install tools (known as VMware Tools) onto the guest operating system. VMware Tools are available for Windows, Linux, FreeBSD and Netware guest operating systems and are designed to both improve the functionality of the guest within the virtual machine environment, and to enhance interaction between the guest and the host.
An Overview of VMware Tools
The VMware Tools package comprises four categories of utilities, each of which performs one or more specific purposes:
VMware Device Drivers
VMware Server presents the physical host hardware to the guest operating system as virtual devices. For example, whilst the host computer may have an Intel Gigabit Ethernet Adapter installed, the virtual network adapters presented to a 32-bit guest operating system appear as AMD PCnet‐PCI II devices. In order to ensure optimal performance of the guest in relation to these virtual devices, VMware Tools includes device drivers for each device category. These device drivers are so important, in fact, that without VMware Tools installed, the guest operating system may be unable to establish a network connection (currently the case with Windows Server 2008) because it lacks a built-in driver for the AMD network adapter, or drive the VMware Remote Console at anything above a rudimentary screen resolution. Installation of VMware Tools avoids these and other driver compatibility problems.
VMware Tools Service
The VMware Tools Service is a process which runs in the background of the guest operating system performing a multitude of different functions. This process is named VMwareService.exe on Windows and vmware-guestd on Linux and UNIX based operating systems.
One of the most important, yet least visible, functions of the VMware Tools Service is to send regular heartbeat messages to VMware Server so that it can detect (via the lack of heartbeats) when a particular virtual machine, or its respective guest operating system, has failed.
Another responsibility of VMware Tools Service involves the handling of communication between the guest and host operating systems. It is not too unrealistic to make the statement that none of today's popular operating systems have been written specifically to run within a VMware Server virtual machine. As such, none of these guest operating systems are designed to accept and respond to any form of communication from the VMware Server environment. Whilst this isn't generally problem, an issue arises when we consider that the VI Web Access management interface provides the ability to power off, restart and suspend guest operating systems at the press of a tool bar button or menu option, avoiding the need to open a VMware Remote Console session, log into the guest operating system and perform an orderly shutdown or reboot. Since there is no mechanism built into most operating systems that would allow VMware Server to request a clean shutdown or restart, this functionality is instead provided by the VMware Tools Service. When a user, for example, restarts a virtual machine from the VI Web Access management interface, VMware Server notifies the VMware Tools Service running on the guest operating system, which in turn executes the commands necessary to perform a clean and orderly shutdown or restart. In addition, VMware Tools Service also provides a mechanism for administrators to configure custom scripts to be executed within the guest operating system when the power state of the underlying virtual machine changes. This particular topic will be covered in greater detail later in this chapter.
In another example of communication, VMware Tools Service is also responsible for ensuring that the system time of the host and guest operating systems are synchronized.
Some cosmetic and Windows specific features of VMware Tools Services include the automatic grabbing and releasing of the mouse pointer when it moves in and out of the VMware Remote Console window, and the matching of guest and host screen resolutions. On Linux and Solaris systems, these functions are performed by the VMware User Process.
VMware User Process
As with the VMware Tools Service, the VMware User Process (VMwareUser.exe on Windows and vmware-user on Linux, FreeBSD and Solaris) runs as a background process and is essentially invisible to the user of the guest operating system. On guest operating systems which use the X11 session manager (i.e non-Windows systems), the VMware User Process is started automatically and an X Window session is started. On X Window based systems which do not use a session manager, the VMware User Process may be manually invoked by running the following command:
or by adding the command to the user's .xinitrc X initialization file.
On Linux, FreeBSD and Windows and UNIX based guests, the VMware User Process provides the ability to cut and paste text between the VMware Remote Console and the host operating system desktop environment.
The VMware User Process also provides the mouse pointer and screen resolution functionality provided by the VMware Tools Service on Windows.
VMware Tools Control Panel
The VMware Tools Control panel, which will be covered in more detail later in this chapter, provides a user friendly central location within the guest operating system for changing settings relating to VMware Tools and performing tasks such as shrinking the size of virtual disks attached to the guest's virtual machine.
Installing VMware Tools on Windows
Amongst the files installed during the VMware Server installation process is a collection of CD-ROM ISO image files, one for each supported guest operating system type. When the VMware Tools installation process is initiated, VMware Server mounts the appropriate ISO image in place of the selected virtual machine's CD/DVD drive from which, depending the guest operating system, the installation will either autorun, or may be manually invoked. In order for this mechanism to work, the virtual machine must have at least one CD/DVD device configured. If a DVD or CD is currently in the physical drive of the host, eject it before proceeding with the VMware Tools installation.
VMware Tools are installed into a guest operating system by logging into the VI Web Access interface, selecting the virtual machine hosting the target guest operating system and clicking on the Install VMware Tools link located in the Status panel of the Summary workspace as illustrated in the following figure. VMware Tools can only be installed into a running virtual machine, so if the machine is currently powered off, the installation link will not be displayed.
If VMware Tools is already installed, a newer version is available, and the option to have the tools updated automatically was not selected during installation, the link displayed will read Upgrade VMware Tools, otherwise the status will be listed as VMware Tools Running.
Clicking on the link to Install VMware Tools within VI Web Access will display the following confirmation dialog. If the tools are to be updated automatically when new versions become available, leave the check box selected. To manually install updates, unset this option before clicking on the Install button:
If AutoPlay is configured in the Windows guest operating system the VMware installer will automatically run as soon as the VMware Tools ISO image is mounted as the virtual CD/DVD drive. If, on the other hand, AutoPlay has been disabled, navigate to My Computer or, in the case of Windows Server 2008, Computer, double click on the CD/DVD drive and launch the Setup.exe executable. After a short delay the VMware Tools installation wizard's welcome screen will appear. Clicking Next provides the options to perform a Custom, Typical or Complete installation. For full control over the tools to be installed click on the Custom button and select the individual tools and software development kits (SDKs) to install. For most requirements the Typical installation is appropriate, although if there are plans to migrate the virtual machine to a product other than VMware Server at some point in the future the Complete installation is recommended.
Having selected a setup type, click Next on the current screen, followed by Install on the subsequent screen. The installation will then begin, displaying a progress bar and status information as the various components are installed:
Upon completion of the VMware Tools installation process, click on the Finish button. A subsequent review of the virtual machine status in VI Web Access should indicate that VMware Tools are now installed and operational.