How to update a XenApp 6.5 vDisk with Provisioning Services Versioning

Back in the old days when you wanted to update a vDisk, you needed to make a complete copy of the current vDisk, then import it back into the vDisk Store, set it to Private Mode and link it to a Master device to apply your changes. After making all the changes, you needed to put the vDisk back to Standard Image mode and copy the complete vDisk to the rest of the Provisioning Services servers.

Now with Citrix Provisioning Services vDisk versioning you can add versions to your current vDisk. This method of updating the vDisk creates a delta file next to the vDisk itself. This delta file is usually considerable smaller than the complete vDisk file and you don’t need to change the vDisk mode to apply changes to it so that it can continue to be used.

My previous blog was about how to create a Citrix XenApp 6.5 vDisk. In this blog I will show you how to update this vDisk with Provisioning Services vDisk versioning and what steps you should always go through for Citrix XenApp 6.5.

Base

The first version, when creating the vDisk, is called Base (version 0). At file level, the Base consists of a .vhd file (the vDisk itself), a .pvp file (the vDisk properties file) and the .lok file (when the vDisk is in use).

Now-to-update-a-XenApp-65-vDisk-with-PVS-001

Creating a vDisk version

The first step is to create a new version to the current vDisk, this will be version 1. To do that, open the Citrix Provisioning Services console, browse to the vDisk, right click on it and select Versions.

Now-to-update-a-XenApp-65-vDisk-with-PVS-002

Click New

Now-to-update-a-XenApp-65-vDisk-with-PVS-003

Version 1 is now created. Notice that the default access type is Maintenance. Click Done.

Now-to-update-a-XenApp-65-vDisk-with-PVS-004

At file level you see that there is a *.1.avhd and a *.1.pvp file created. These are the “delta files” for Version 1, all new changes are saved in these files.

Prepare the XenApp Master server for the vDisk update

Just like when creating the vDisk, I use a dedicated XenApp Master server for updating the vDisk. This Master server has no other active user sessions and have no policies applied to it. But any server in the farm can be used to apply the updates as long as there are no active user sessions on it.

Now-to-update-a-XenApp-65-vDisk-with-PVS-005

Within the Provisioning Services console open the properties of the “Master” server and change the Type to Maintenance. Click OK.

 Apply changes to the vDisk (version)

Make sure that the correct vDisk is linked to the XenApp “Master” server and start it.

Now-to-update-a-XenApp-65-vDisk-with-PVS-006

Now that the vDisk version and the Master server are both in maintenance mode, a menu will appear at startup. Option 1 will start the server from vDisk version 1 in read/write mode. Option 2 will start the server from the base (read-only mode).

Press 1 and hit Enter

After the Master server is started, you can logon and apply the updates.

NOTE: Always reapply the steps that are needed to give certain software a unique ID or GUID as described in Step 6 AND always run the “Prepare this server for imaging and provisioning” wizard as described in Step 7 of this blog (link will be open in new window) before closing the vDisk / shutting down the master server.

After shutting down the master server, you see at file level that the *.1.avhd file has increased in size.

Now-to-update-a-XenApp-65-vDisk-with-PVS-007

Test the new vDisk version (optional)

You have the ability to test the new vDisk version on different XenApp servers before promoting it to production. When promoting a vDisk version to test means also that you put it back to read-only mode, you can start multiple servers from a vDisk version in Test mode.

It is recommended to test the vDisk version on a server another then where you applied the updates. To promote the vDisk version to Test, do the following;

 Now-to-update-a-XenApp-65-vDisk-with-PVS-008

Open the Versions dialog of the vDisk and click on Promote. Select Test and click Ok.

Now-to-update-a-XenApp-65-vDisk-with-PVS-009

Click Done

Now-to-update-a-XenApp-65-vDisk-with-PVS-010

Open the properties of the Target Device you want to test de new vDisk version on and change the Type to Test. Click OK.

Now-to-update-a-XenApp-65-vDisk-with-PVS-011

Now when starting the Target Device in Test mode, on startup there will be a menu appear. Option 1 will start the server from vDisk version 1 in read-only mode. Option 2 will start the server from the base.

Promote the vDisk version to production

When al tests are successful you can promote the vDisk to production (when not you can revert it back to maintenance and apply new changes). All servers assigned to this vDisk will boot the next time from the latest vDisk version with production state (until then they remain using the base version of the vDisk).

To promote the vDisk version to production, open the Versions dialog of the vDisk.

Now-to-update-a-XenApp-65-vDisk-with-PVS-012

 Select version 1 and click Promote.

Now-to-update-a-XenApp-65-vDisk-with-PVS-013

Select Immediate or schedule the promotion for a later time. Click OK.

Now-to-update-a-XenApp-65-vDisk-with-PVS-014

Click Done

If you have more than one Citrix Provisioning Services servers in your environment, don’t forget to copy the vDisk version to the other PVS servers. Check the vDisk replication status to see if all PVS servers are up-to-date.

vDisk version Merging

Each vDisk version depends on the underlying versions. For example, version 2 needs version 1 and the base to work well.

You can merge vDisk versions so that they are no longer dependent on underlying versions.

With Merging vDisk versions, you have two options;
–        Merged Updates – All updates from last base
–        Merged Base – Last base + all updates from that base

In this blog I will show you both options, starting with “Merged Updates”. For this examples I already created a second version so I can show you the difference better.

Now-to-update-a-XenApp-65-vDisk-with-PVS-015

Open the vDisk Versions dialog and click Merge. Select Merged Updates and click OK

Now-to-update-a-XenApp-65-vDisk-with-PVS-016

There will now be created a third version which contains both updates from version 1 and 2. This process takes a few minutes.

Now-to-update-a-XenApp-65-vDisk-with-PVS-017

After a few minutes version 3 is ready.

Now-to-update-a-XenApp-65-vDisk-with-PVS-018

When promoting version 3 to production, version 1 and 2 become obsolete and can be deleted safely. (Indicated by the red X)

Now-to-update-a-XenApp-65-vDisk-with-PVS-019

To merge the base with all the updates, select the latest version and click Merge

Now-to-update-a-XenApp-65-vDisk-with-PVS-020

Select Merged Base – Last base + all updates from that base and click OK

Now-to-update-a-XenApp-65-vDisk-with-PVS-021

There will now be created a fourth version which contains the base and all updates. After a few minutes version 4 is ready.

Now-to-update-a-XenApp-65-vDisk-with-PVS-022

When promoting version 4 to production, the base and version 3 become obsolete and can be deleted safely.

Now-to-update-a-XenApp-65-vDisk-with-PVS-023

After deleting the base and version 3, only version 4 is left. This will be the new base. On file level you have now one big file again.

39 comments

  • How do you delete a Maint Mode Version when the master server is blue screening and you cannot get it to start up, but the maint mode shows 1 device attached, and can’t delete it because of that master that won’t run anymore (due to a bad app install)?

  • Great post! I was wondering if I need to worry about the Windows SID of all the XenApp servers are the same?

      • My master image loses the trust relationship to my domain when I boot my master server into a maintenance version. Is that normal? Do you just need to unbind/rebind it back to the domain every time you update the image?

  • Hi,

    Brilliant thread thanks. I was wondering if you’ve ever had 2 versions of “test images”. So you’ve got a Base (version 0), and one image currently in Test (version 1) -> you want to make a small registry change to the image that is currently in test (version 1), can you create a new maintenance\test image (which would be version 2) make the change and then promote to test, does this keep the changes from version 1 image? Or would it base itself on version 0?

    This leads me to another question, if the new version 2 image does just look at version 0, would you have to first merge the test updates, is it even possible to merge Test images?

    Many thanks

    • Hello Karem,

      You can have only one version in “testmode” and in testmode the vDisk version is always read only.
      If you want more test images you can copy the complete vDisk on file level (Base) and import it to the vDisk store.

  • Hi,
    I was wondering to save storage space, if it is possible once merged, if we can delete the really base file (VHD and PVP) ?
    Thank you

  • Hey Robin.

    Is there any issue running a “Merge Base” while there are active streams to the lastest vDisk version? My assumption is that it will not have any problem as it creates a new file.

    Am I making the correct assumption, or does all active streams to the disk need to be closed before doing the merge?

    • That’s correct, you can safely running a “Merge Base” action while the disk is “live” and in use.

  • Robin, cracking article, we are using the same setup (XenApp 6.5 & Provisioning Server 7.1) but have started to get an error when performing a Merge Base- “vDisk versions are not up to date on all servers that access this vdisk. Update all servers with the latest version of the vdisk files.”

    We have one Provisioning server, one update server (permanently in Maintenance) and three farm servers. When performing the merge all servers are off bar the Provisioning Server.

    Do you have any thoughts on the error and how to resolve?

    Many thanks,

    Thomas

    • Hi Thomas, strange error. You only have one PVS server? Is there enough free disks space to create the new merged version?

      • Morning Robin,

        Yes we are in the process of creating a new farm. So far we have 2 controllers, 4 session host servers, 1 PVS server. The PVS server has 260GB of free space on the drive that holds the vhd files, the disk size is 120GB and set to dynamic. The avhd file is 2.5GB and the vhd is 27.5GB.

        I will have a look at hot fixes for PVS as there may be something worth checking there.

        Any hints or suggestions that you have would be gratefully received.

        Thomas

  • Great article… helped me understandig the vDisk handling for preparing the XenDesktop Managing Exam

  • Great Article and actually playing around with now. Quick question regarding after merging and promoting the vdisk. Can you keep the versions that are marked with an X so you can revert back to them? Or do you have delete them right away? Citrix Edocs is not clear about them so i just wanted to make sure its safe to keep those copies so i can revert back to them if need be a few months later…

  • Great Article! Do you need to merge the version with the base right away or can you run the production environment off of the vdisk version on a full user load?

  • Hello Robin,
    My grand salute to you for your great post and frankly speaking, I created my first vDisk version by reading your article. I am running at version 4 now and our Customer demanded to apply all the MS Security Patches and upgrade to IE11 from IE10 on the vDisk. In our environment all the Citrix XenApp 6.5 Servers are provisioned (PVS 6.1) through vDisk. The challenge, we are facing that we are not able to promote the version into Production. The changes / updates work fine in Test Mode but when we promote the version into Production and reboot the Servers, all the Servers get stuck in reboot process with message of ”Applying Security Policy to System” and no further progress. We are stuck in this situation for last one month and not sure how to overcome this issue. Any kind help will be highly appreciated.

    • Hi Chakradhar, I think there are some hotfixes that’s need still a reboot. Servers are rebooting from a read-only vDisk, patches are applied that needs a reboot, so the boot process is looping. To fix this, put the vDisk in write mode and apply all the updates (including an extra reboot).

      • Thank you very much Robin for your kind response. Will dicard this current Test Version and create a new Version in Maintenance Mode and boot with VD and then upgrade to IE11 on VD from IE10 and reboot one time extra and then promote to Test and Production sequencially. Do we need run ‘Prepare this Server for omaging and provisioning’ Tool again? I run this during Mater Image creation only but after that I have never run on New Versions from Master Image.Is IE upgrade causing issue?There was no issue till the last three versions but we are facing in Version 4 when on post upgrade of IE11.Please help.I can share the screenshots with you if you wish to have a look.

  • Thanks Robin for wonderful article. I have 1 query. In my environment I have 2 PVS servers and 10 versions. I want to merge them to base. Shall i follow below process?
    1. On 1 PVS server, select version 10 and click on merge. Then select merge base option.
    2. Once it is completed, i should copy new base .vhd and .pvp file to 2nd PVS server.

    Is there anything else i need to configure?

    Also once i select version 10 and merge base will all .avhd files get deleted automatically or i have to delete them manually.

    • Hi, Yes that’s about it. Let it merge with the base and after test, promote it to production. You need to copy the files to the second PVS server as you mentioned. Regards, Robin

  • Just curious, but when using a master golden image and then running the image wizard to capture it, you had to run the XenApp Role Manager beforehand. Do you still have to do that with PVS versioning? I do not recall doing this at all, but a colleague says you must do it.

  • Let’s say we have 5 versions, v1-v5. Is it possible to create new maintenance mode from v2 and not from v5

About Robin Hobo

I work as a Senior Solution Architect with focus on the Modern Workspace. I am specialized in Azure Virtual Desktop (AVD), Windows 365 and Microsoft EM+S (including Microsoft Endpoint Manager - Microsoft Intune).

For my full bio, check the About Me page.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close