With each release of a Provisioning Services Target Device update, hypervisor virtual machines tools update, or network drivers update we are tasked with upgrading the Provisioning Services vDisk and what method to use to complete the upgrade. In this blog post I am going to go over the options for upgrading Provisioning Services vDisk Target Device software, Virtual Machine Tools, and Network Drivers.
Why can’t Target Device software, Virtual Machines Tools, and Network Drivers just be upgraded while the vDisk is online?
Provisioning Services Target Devices network boot to access their assigned vDisk on the Provisioning Servers. This relies heavily on the Target Devices network connection to remain in constant communication with the Provisioning Server it is accessing for its vDisk. If the communication is broken, the Target Device will pause or even worse, cause the Windows blue screen of death we all love to see.
When the Target Device initially boots it uses network/PXE boot to the contact the Provisioning Server and access its assigned vDisk to boot into a Windows Operating System with the Target Device software installed. The Target Device software is the Provisioning Services client software that is used by Windows once the Target Device has booted into a Windows Operating System. The Target Device software stays in constant communication with the Provisioning Server while the vDisk is online.
The Target Device software relies heavily on the network card and network stack of the Target Device. If anything changes with the network card or network stack (drivers, settings, state, etc) while the Target Device is accessing the vDisk, then communication with the vDisk will be broken and the Target Device will most likely blue screen. Updating the Target Device software, virtual machine tools, or network drivers all effect the Target Devices network card/network stack and cannot be done while the vDisk is online.
What options are there for updating vDisk Target Device software, Virtual Machine Tools, and Network Drivers?
As of today there are three main options for updating vDisk Target Device software, virtual machine tools, and network drivers. All three options are done offline and you should always make a backup copy of your vDisk before doing any of these options. You can use the Reverse Image, Hyper-V Direct VHD Boot, or XenServer Direct VHD Boot options to upgrade vDisk Target Device software, virtual machine tools, and network drivers.
Reverse Imaging
Reverse Imaging has been around the longest for updating vDisk Target Device software, virtual machine tools, and network drivers. The process is pretty straight forward and requires a locally attached disk on the Target Device. When you first create a vDisk you image the locally attached disk to the vDisk. Reverse Imaging is imaging the vDisk back to the locally attached disk.
Reverse Imaging Process:
- Boot to the vDisk in Private or Standard Mode.
- Make sure the locally attached disk is marked active in Disk Management and make note of the drive letter.
- Run XenConvert or the Image Builder Utility (C:Program FilesCitrixProvisioning Serversbnimage.exe) and image back to the locally attached disk. Make sure when using XenConvert to reverse image choose From Volume To Volume on main XenConvert screen. Then select the appropriate drive letters on the Convert Volume to Volume screen. Example vDisk is C: and local attached disk you are reverse imaging to is E:. So you would select C: as the Source Volume and E: as the Destination Volume.
- Reboot and change the BIOS to boot from local disk instead of network boot.
- Boot to local disk.
- Uninstall Target Device software and install new Target Device software, update virtual machine tools, or update network drivers. If you are updating a combination of the three or just updating virtual machine tools and/or network drivers make sure to uninstall the Target Device software, update virtual machine tools and/or network drivers, and then install Target Device software.
- Change the Target Device to boot from hard disk in the Provisioning Services Console.
- Create a blank vDisk and assign to the Target Device or use the existing assigned vDisk (make sure you have a backup copy and no other Target Devices are accessing the existing vDisk) in the Provisioning Services Console.
- Change the vDisk to Private Mode in the Provisioning Services Console.
- Reboot and change the BIOS to boot from network instead of local disk.
- Run XenConvert and image back to the vDisk.
- Shutdown the Target Device and change it to boot from vDisk in the Provisioning Services Console.
- Change the vDisk to Standard Mode in the Provisioning Services Console.
- Assign the vDisk to Target Devices in the Provisioning Services Console.
- Boot Target Devices and test.
Hyper-V Direct VHD Boot
Hyper-V Direct VHD Boot is a newer option of updating vDisk Target Device software, virtual machine tools, and network drivers since Provisioning Services 5.1. If you are using or have a Hyper-V server around this a really nice option. See the Citrix blogs for the Hyper-V Direct VHD Boot option.
XenServer Direct VHD Boot
XenServer Direct VHD Boot is another newer option of updating vDisk Target Device software, virtual machine tools, and network drivers since Provisioning Services 5.1. If you are using or have a XenServer around this another really nice option. See the Citrix blogs for the XenServer Direct VHD Boot option. There is more information in the Citrix forums. See the Citrix forums for Using XenServer and NFS to update PVS device target software. Citrix has posted a knowledgebase article for this as well. See CTX123395 – How to Update Provisioning Server Target Device Software using a Network File Share with XenServer.
As you can see you have a few options for updating vDisk Target Device software, Virtual Machine Tools, and Network Drivers. If you have Hyper-V or XenServer in your environment then you have some very nice options without having to Reverse Image your vDisks.
If you have found this article interesting or if you have any other insights, please feel free to contact me via email.