Citrix user layers provide a very important feature set to Citrix customers. They allow customers to provision non-persistent pooled machine catalogs and at the same time provide a more persistent user experience where users can save files & install applications while still using a non-persistent image and all the benefits that come with that.
User layers achieve this by creating a virtual disk file on a network share that is mounted elastically right before a user logs on. Once mounted, all of the writes that happen on the desktop are then written to the user layer rather than to the underlying virtual machine storage.
For example a desktop with a user layer, has the flexibility it provides where a user can install a useful application like Sharefile or a certificate from a home lab and have them persist between logons.
For a more detailed explanation of how to design for User Layers please read our TechZone Reference Architecture for App Layering.
User layers have been available for a long time. When they were first introduced, there were still Windows operating systems that did not support the VHDX virtual disk format; therefore, User Layers have always used the VHD virtual disk format up until the new App Layering release 2309.
Now, App Layering can support either format, and VHDX has become the default format. (The latest App Layering updates here.).
Why change the format if VHD has worked for so long?
There are some definite advantages to the VHDX format including larger capacity, a 4K block size rather than 512 bytes, built-in self-protection to guard against corruption, live resizing, and better data alignment & trimming. These are features worth having, so it’s great that VHDX is now the default format.
Therefore, what to do if the machine already has hundreds of user layers that are using the VHD format?
The good news is that one can convert a VHD file to a VHDX file. There are many utilities that can perform this conversion, and a user could develop a process to perform the conversion themselves. Knowing there would be a considerable number of customers that want to upgrade their VHD files, user can add this conversion functionality to their User Layer Management Utility. This utility came to life in 2020 to provide customers with the ability to manage the user layer repair process. Following on add in the ability to expand and compress user layers.
For more information about the other features of the utility - review the following blogs:
This new conversion feature works similarly to other features of the utility. The user interface is shown below.
The utility allows how to select an OS layer and list all the VHDs for that layer. Then select all or individual VHDs to convert and execute the conversion. The utility uses Hyper-V to perform the conversion because it’s the most straightforward way to do it. It has been proven that it was more reliable than other options even though it’s slightly harder to set up.
For most organizations the best approach will be to script the migrations to run every night, converting VHDs that are not locked until all of the VHDs have been converted. There is a script included to facilitate this. It allows the admins to define an allowed period of hours for the script to run every night, and it will skip any mounted VHDs or previously migrated ones so it can be continuously, off hours, until all of the VHDs have been converted.
For detailed information on how to set up the utility for VHD conversion, go to this TechZone article. To download the new version of the script go to the original blog on the User Layer Repair Utility.
CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT.