Upgrading Provisioning Services vDisks Target Device Software, Virtual Machine Tools, and Network Drivers

Share Button

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:

  1. Boot to the vDisk in Private or Standard Mode.
  2. Make sure the locally attached disk is marked active in Disk Management and make note of the drive letter.
  3. 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.
  4. Reboot and change the BIOS to boot from local disk instead of network boot.
  5. Boot to local disk.
  6. 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.
  7. Change the Target Device to boot from hard disk in the Provisioning Services Console.
  8. 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.
  9. Change the vDisk to Private Mode in the Provisioning Services Console.
  10. Reboot and change the BIOS to boot from network instead of local disk.
  11. Run XenConvert and image back to the vDisk.
  12. Shutdown the Target Device and change it to boot from vDisk in the Provisioning Services Console.
  13. Change the vDisk to Standard Mode in the Provisioning Services Console.
  14. Assign the vDisk to Target Devices in the Provisioning Services Console.
  15. 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 leave comments on this article.

Share Button
  1. Pierre MarmignonPierre Marmignon12-12-2009

    I’m mainly using Hyper-V Direct VHD Boot or XenServer Direct VHD Boot because il all “real life” tests I’ve done, the reverse imaging has never worked on physical devices.

    I’ve tested on HP and IBM servers without any success. The reverted image never booted.

    Best Regards,

    Pierre

  2. Great post as always Jarian. I prefer the Hyper V direct VHD boot. I have never succeeded with the reverse imaging process.

    The only problem with Hyper V is that most customers have VMware or XenServer in their environment so I need to bring the VHD to my company lab. I have not yet tested the XenServer Direct VHD Boot.

    What I have tried but not yet succeeded with is installation of Windows 2008 with Hyper V on external USB which would make it possible for me to boot my laptop to Hyper V.

    I have managed to Booting Hyper-V R2 Core off a USB stick, but to much hassle in workgroup environment :

    http://blogs.msdn.com/virtual_pc_guy/archive/2009/11/18/booting-hyper-v-r2-off-a-usb-stick.aspx

    Hope we could get some good feedback on this post.

    Eric
    http://www.xenappblog.com

    • Jarian GibsonJarian Gibson12-13-2009

      I haven’t tried Hyper-V R2 booting off USB stick. Something i’m going to start looking into. Having Hyper-V booting off USB stick would be a very nice tool. You are right, most customers do have VMware or XenServer. XenServer Direct VHD Boot works well. Gadi above mentioned converting VMware VM to a VHD to upgrade offline. I haven’t tried it yet but something to look into.

      I have had mixed results with reverse imaging.

      Thanks for the comments and feedback.

  3. Gadi FeldmanGadi Feldman12-09-2009

    Also, i’ve used another option, useful with ESX based environments, when you stream vDisk to ESX based VMs.

    Convert the vDisk’s vhd to vmdk, run the vmdk on VMware player, make the changes (i’ve only tried to update target device software), convert the vmdk back to vhd, Copy the vhd back to PVS and link back to devices.

  4. Jarian GibsonJarian Gibson12-09-2009

    I am in agreement with you. The direct VHD boot is the way to go. A lot easier and faster. I only do the reverse image if I have to in environments where the customer has VMware and won’t stand up a XenServer or Hyper-V host to do these updates for the vDisks.

  5. Daniel FellerDaniel Feller12-09-2009

    Great article on the options? Which one do you prefer? I’m partially fond of the direct VHD boot as it just seems faster and easier to me than the reverse imaging.

1 2 3

Leave a Reply to Carlo Costanzo Click here to cancel reply.