Educational ICT Virtualisation Specialist

Twitter LinkedIn E-mail
Precedence Technologies Ltd
Technology House, 36a Union Lane
Cambridge, CB4 1QB, United Kingdom
T: +44 (0)8456 446 800 / +44 (0)1223 359900
E: enquiries@precedence.co.uk
XenServer-VMTools

Jump To: Support > KB > Citrix > XenServer > VMTools

VM Tools vs Windows Update

Overview

Windows VMs need paravirtualised (PV) drivers installed to be able to deliver good performance on network and storage tasks. Until these drivers are installed, they used an emulated network card (Realtek 8139+) and an emulated SCSI controller which add a lot of overhead. Once the PV drivers are installed, the emulated devices are hidden and are replaced by 'fast track' PV drivers which do not require any emulation.

The latest drivers can be download here:

With a Premium-licensed XenServer pool, Windows VMs have the ability to get updates for the PV drivers from Windows Update. In our view, this is rarely a good idea on a production system as virtual machines should be snapshotted before system critical drivers are updated. It is possible for the network card to lose its IP address and revert to DHCP (though another reboot often fixes this) which can be highly problematic.

Viewing current status

The status of the Windows Update setting can be viewed from within XenCenter on the General tab when a VM is selected:

Disabling VM tool updates through Windows Updates

Altering the setting requires that the VM is shutdown. We recommend taking a VM snaphot before altering the setting as changing it requires the PV drivers to reattach and this has been known to go wrong especically with older operating systems. To alter the setting, determine the VM's UUID (which you can get from the General tab from within XenCenter. You can copy the value to the clipboard from here too):

At a command prompt on a pool member enter the following (change false to true to reenable tools through Windows Updates). You can paste the UUID in, or you can enter the first few digits and hit Tab for autocomplete:
xe vm-param-set has-vendor-device=false uuid=<VMUUID>

Citrix has documented a procedure which adds a few extra steps as follows (the additional steps are highlighted in bold):

  1. Install the latest version of the Citrix VM Tools for Windows. When asked, ensure that you deselect Install I/O Drivers Now:
  2. Start the command prompt as administrator
  3. Run the following command: "C:\Program Files\Citrix\XenTools\Uninstall.exe" purge
  4. Shutdown the VM
  5. At a command prompt on a pool member, run the following command: xe vm-param-set has-vendor-device=false uuid=<vm-uuid>
  6. Start the VM
  7. On the VM, start the command prompt as administrator
  8. To reinstall the Citrix VM Tools, run the following command: "C:\Program Files\Citrix\XenTools\Uninstall.exe" install

During testing on a VM which did not work when simply setting has-vendor-device=false, we found no benefit to the procedure documented by Citrix; the calls to Uninstall.exe did nothing. The VM remained in a broken state:

N.B when creating a VM from a template, the Windows Update status will ignore the settings in the template. The setting will be instead be inherited from the pool's default policy (which is not visible within XenCenter and is enabled by default). To set the pool policy to disable Windows Updates, determine your pool UUID (which you can get from XenCenter or by using autocomplete at the command line) and enter the following at command prompt on a pool member:
xe pool-param-set policy-no-vendor-device=true uuid=<pool-uuid>

Reference

https://support.citrix.com/article/CTX477510/windows-vms-can-inherit-the-wrong-driver-update-settings-from-the-template

© Copyright Precedence Technologies 1999-2024
Page last modified on January 23, 2024, at 12:57 PM by sborrill