VMware Tools is a set of drivers and utilities to make a virtual computer perform better and faster inside a virtual hosted environment. It makes a virtual computer aware of its host at least to some degree.
Once I managed to install the VMware Tools on a Linux based virtual computer properly, I have decided to write it down for good.
Upgrading the VMware Tools is somehow different and is described here.
Before making any steps described below, please create a snapshot of your virtual computer in case the following procedure fails in your case.
- VMware Tools installation files, usually distributed as a gziped TAR archive found on the CD-ROM that is “inserted” into virtual computer when one selects “Install/Upgrade VMware Tools” feature on the ESXi host.
- kernel-devel, gcc, mkinitrd (now part of dracut package), make and perl RPM packages including dependencies or internet access if using yum.
- The following procedure was developed and tested on virtual computer running Fedora Core 12 (kernel version 2.6.32) inside a VMware ESXi 4 host. With some minor modifications, it should work on other Linux distributions too.
- Install the kernel-devel, gcc, dracut, make and perl packages using either rpm or yum utility. Run:
yum install kernel-devel gcc dracut make perl
- Install the VMware Tools:
After the installation, add a “.conf” extension to the /etc/modprobe.d/vmware-tools file, to avoid Fedora’s warnings about omitting any files in the /etc/modprobe.d directory not ending with “.conf” in the future.
- Shutdown the virtual computer.
- Change the type of SCSI controller from LSI Logic Parallel to Paravirtual for maximum performance. Consider replacing
VMXNET 2network adapters with the
VMXNET 3class also (see Additional Notes No. 2 below).
- Start the virtual computer.
- Add the kernel package to yum’s update ignore list to prevent accidental installation of newer kernel. Add the following line to the /etc/yum.conf file:
- If you experience poor performance of the virtual network adapter (slow SCP, stalled SMB file transfers, etc.), try disabling the protocol offloading by running:
/sbin/ethtool -K eth0 tso off rx off tx off gso off
If this helps in your case too, add the above command to your /etc/rc.d/rc.local file.
- Alas, network adapter class cannot be changed to
VMXNET 3simply. You can remove the old network adapters and re-add new. However, note that their MAC address might change. Update the ifcfg-eth* files to reflect the change.