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.
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).
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.
Version 1 is now created. Notice that the default access type is Maintenance. Click Done.
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.
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 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.
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;
Open the Versions dialog of the vDisk and click on Promote. Select Test and click Ok.
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 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.
Select version 1 and click Promote.
Select Immediate or schedule the promotion for a later time. Click OK.
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.
Open the vDisk Versions dialog and click Merge. Select Merged Updates and click OK
There will now be created a third version which contains both updates from version 1 and 2. This process takes a few minutes.
After a few minutes version 3 is ready.
When promoting version 3 to production, version 1 and 2 become obsolete and can be deleted safely. (Indicated by the red X)
To merge the base with all the updates, select the latest version and click Merge
Select Merged Base – Last base + all updates from that base and click OK
There will now be created a fourth version which contains the base and all updates. After a few minutes version 4 is ready.
When promoting version 4 to production, the base and version 3 become obsolete and can be deleted safely.
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.