Citrix Virtual Apps and Desktops

Configure and manage

This topic covers items you should consider when configuring and managing a personal vDisk (PvD) environment. It also covers best practice guidelines and task descriptions.

For procedures that include working in the Windows registry:

Caution: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

Considerations: personal vDisk size

The following factors affect the size of the main personal vDisk volume:

  • Size of the applications that users will install on their PvDs

    At restarts, PvD determines the free space remaining in the application area (UserData.v2.vhd). If this falls below 10%, the application area is expanded into any unused profile area space (by default, the space available on the P: drive). The space added to the application area is approximately 50% of the combined free space remaining in both the application area and the profile area.

    For example, if the application area on a 10 GB PvD (which by default is 5 GB) reaches 4.7 GB and the profile area has 3 GB free, the increased space that is added to the application area is calculated as follows:

    increased space = (5.0-4.7)/2 + 3.0/2 = 1.65 GB

    The space added to the application area is only approximate because a small allowance is made for storing logs and for overhead. The calculation and the possible resizing is performed on each restart.

  • Size of users’ profiles (if a separate profile management solution is not used)

    In addition to the space required for applications, ensure there is sufficient space available on personal vDisks to store users’ profiles. Include any non-redirected special folders (such as My Documents and My Music) when calculating space requirements. Existing profile sizes are available from the Control Panel (sysdm.cpl).

    Some profile redirection solutions store stub files (sentinel files) instead of real profile data. These profile solutions might appear to store no data initially but actually consume one file directory entry in the file system per stub file; generally, approximately 4 KB per file. If you use such a solution, estimate the size based on the real profile data, not the stub files.

    Enterprise file sharing applications (such as ShareFile and Dropbox) might synchronize or download data to users’ profile areas on the personal vDisks. If you use such applications, include enough space in your sizing estimates for this data.

  • Overhead consumed by the template VHD containing the PvD inventory

    The template VHD contains the PvD inventory data (sentinel files corresponding to the master image content). The PvD application area is created from this VHD. Because each sentinel file or folder comprises a file directory entry in the file system, the template VHD content consumes PvD application space even before any applications are installed by the end user. You can determine the template VHD size by browsing the master image after an inventory is taken. Alternatively, use the following equation for an approximately calculation:

    template VHD size = (number of files on base image) x 4 KB

    Determine the number of files and folders by right-clicking the C: drive on the base VM image and selecting Properties. For example, an image with 250,000 files results in a template VHD of approximately 1,024,000,000 bytes (just under 1 GB). This space will be unavailable for application installations in the PvD application area.

  • Overhead for PvD image update operations

    During PvD image update operations, enough space must be available at the root of the PvD (by default, P:) to merge the changes from the two image versions and the changes the user has made to their PvD. Typically, PVD reserves a few hundred megabytes for this purpose, but extra data that was written to the P: drive might consume this reserved space, leaving insufficient space for the image update to complete successfully. The PvD pool statistics script (located on the Citrix Virtual Apps and Desktops installation media in the Support/Tools/Scripts folder) or the PvD Image Update Monitoring Tool (in the Support/Tools/Scripts\PvdTool folder) can help identify any PvD disks in a catalog that are undergoing an update and that are nearly full.

    The presence of antivirus products can affect how long it takes to run the inventory or perform an update. Performance can improve if you add CtxPvD.exe and CtxPvDSvc.exe to the exclusion list of your antivirus product. These files are located in C:\Program Files\Citrix\personal vDisk\bin. Excluding these executables from scanning by the antivirus software can improve inventory and image update performance by up to a factor of ten.

  • Overhead for unexpected growth (unexpected application installations, and so on)

    Consider allowing extra (either a fixed amount or a percentage of the vDisk size) to the total size to accommodate unexpected application installations that the user performs during deployment.

How-to: Configure the personal vDisk size and allocation

You can manually adjust the automatic resizing algorithm that determines the size of the VHD relative to the P: drive, by setting the initial size of the VHD. This can be useful if, for example, you know users will install a number of applications that are too big to fit on the VHD even after it is resized by the algorithm. In this case, you can increase the initial size of the application space to accommodate the user-installed applications.

Preferably, adjust the initial size of the VHD on a master image. Alternatively, you can adjust the size of the VHD on a virtual desktop when a user does not have sufficient space to install an application. However, you must repeat that operation on each affected virtual desktop; you cannot adjust the VHD initial size in a catalog that is already created.

Ensure the VHD is big enough to store antivirus definition files, which are typically large.

Locate and set the following registry keys in HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\personal vDisk\Config. (Do not modify other settings in this registry key.) All settings must be specified on the master image (except for MinimumVHDSizeInMB, which can be changed on an individual machine); settings specified on the master image are applied during the next image update.

  • MinimumVHDSizeMB

    Specifies the minimum size (in megabytes) of the application part (C:) of the personal vDisk. The new size must be greater than the existing size but less than the size of the disk minus PvDReservedSpaceMB.

    Increasing this value allocates free space from the profile part on the vDisk to C:. This setting is ignored if a lower value than the current size of the C: drive is used, or if EnableDynamicResizeOfAppContainer is set to 0.

    Default = 2048

  • EnableDynamicResizeOfAppContainer

    Enables or disables the dynamic resizing algorithm.

    • When set to 1, the application space (on C:) is resized automatically when the free space on C: falls below 10%. Allowed values are 1 and 0. A restart is required to effect the resize.
    • When set to 0, the VHD size is determined according to the method used in XenDesktop versions earlier than 7.x.

    Default = 1

  • EnableUserProfileRedirection

    Enables or disables redirecting the user’s profile to the vDisk.

    • When set to 1, PvD redirects users’ profiles to the personal vDisk drive (P: by default). Profiles are generally redirected to P:\Users, corresponding to a standard Windows profile. This redirection preserves the profiles in case the PvD desktop must be reset.

    • When set to 0, all of the space on the vDisk minus PvDReservedSpaceMB is allocated to C:, the application part of the vDisk, and the vDisk drive (P:) is hidden in Windows Explorer. Citrix recommends disabling redirection by setting the value to 0, when using Citrix Profile management or another roaming profile solution.

      This setting retains the profiles in C:\Users instead of redirecting them to the vDisk, and lets the roaming profile solution handle the profiles.

      This value ensures that all of the space on P: is allocated to applications.

      It is assumed that if this value is set to 0, a profile management solution is in place. Disabling profile redirection without a roaming profile solution in place is not recommended because subsequent PvD reset operations result in the profiles being deleted.

    Do not change this setting when the image is updated because it does not change the location of existing profiles, but it will allocate all the space on the Personal vDisk to C: and hide the PvD.

    Configure this value before deploying a catalog. You cannot change it after the catalog is deployed.

    Important: Beginning with XenDesktop 7.1, changes to this value are not honored when you perform an image update. Set the key’s value when you first create the catalogs from which the profiles will originate. You cannot modify the redirection behavior later.

    Default = 1

  • PercentOfPvDForApps

    Sets the split between the application part (C:) and the profile part of the vDisk. This value is used when creating new VMs, and during image updates when EnableDynamicResizeOfAppContainer is set to 0.

    Changing PercentOfPvDForApps makes a difference only when EnableDynamicResizeOfAppContainer is set to 0. By default, EnableDynamicResizeOfAppContainer is set to 1 (enabled), which means is that the AppContainer (which you see as the C drive) only expands when it is close to being full (that is, dynamic) - when less than 10% free space remains.

    Increasing PercentOfPvDForApps only increases the maximum space for which the Apps portion is allowed to expand. It does not provision that space for you immediately. You must also configure the split allocation in the master image, where it will be applied during the next image update.

    If you have already generated a catalog of machines with EnableDynamicResizeOfAppContainer set to 1, then change that setting to 0 in the master image for the next update, and configure an appropriate allocation split. The requested split size will be honored as long as it is larger than the current allocated size for the C drive.

    If you want to maintain complete control over the space split, set this value to 0. This allows full control over the C drive size, and does not rely on a user consuming space below the threshold to expand the drive.

    Default = 50% (allocates equal space to both parts)

  • PvDReservedSpaceMB

    Specifies the size of the reserved space (in megabytes) on the vDisk for storing Personal vDisk logs and other data.

    If your deployment includes XenApp 6.5 (or an earlier version) and uses application streaming, increase this value by the size of the Rade Cache.

    Default = 512

  • PvDResetUserGroup

    Valid only for XenDesktop 5.6 - Allows the specified group of users to reset a Personal vDisk. Later versions use Delegated Administration for this.

Other settings:

  • Windows Update Service: Ensure that you configure Windows to ‘Never Check for Updates’ and that the Windows update service is set to ‘Disabled’ in the master image. In addition, Citrix recommends that you disable Windows Store and Metro App updates and features.
  • Windows updates: These include Internet Explorer updates and must be applied on the master image.
  • Updates requiring restarts: Windows updates applied to the master image might require multiple restarts to fully install, depending on the type of patches delivered in those updates. Ensure you restart the master image properly to fully complete the installation of any Windows updates applied to it before taking the PvD inventory.
  • Application updates: Update applications installed on the master image to conserve space on users’ vDisks. This also avoids the duplicate effort of updating the applications on each user’s vDisk.

Considerations: Applications on the master image

Some software might conflict with the way that PvD composites the user’s environment, so you must install it on the master image (rather than on the individual machine) to avoid these conflicts. In addition, although some other software might not conflict with the operation of PvD, Citrix recommends installing it on the master image.

Applications that must be installed on the master image:

  • Agents and clients (for example, System Center Configuration Manager Agent, App-V client, Citrix Workspace app)
  • Applications that install or modify early-boot drivers
  • Applications that install printer or scanner software or drivers
  • Applications that modify the Windows network stack
  • VM tools such as VMware Tools and XenServer Tools

Applications that should be installed on the master image:

  • Applications that are distributed to a large number of users. In each case, turn off application updates before deployment:
    • Enterprise applications using volume licensing, such as Microsoft Office, Microsoft SQL Server
    • Common applications, such as Adobe Reader, Firefox, and Chrome
  • Large applications such as SQL Server, Visual Studio, and application frameworks such as .NET

The following recommendations and restrictions apply to applications installed by users on machines with personal vDisks. Some of these cannot be enforced if users have administrative privileges:

  • Users should not uninstall an application from the master image and reinstall the same application on their personal vDisk.
  • Take care when updating or uninstalling applications on the master image. After you install a version of an application on the image, a user might install an add-on application (for example, a plug-in) that requires this version. If such a dependency exists, updating or uninstalling the application on the image might make the add-on malfunction. For example, with Microsoft Office 2010 installed on a master image, a user installs Visio 2010 on their personal vDisk. A later upgrade of Office on the master image might make the locally-installed Visio unusable.
  • Software with hardware-dependent licenses (either through a dongle or signature-based hardware) is unsupported.

Considerations: Citrix Provisioning

When using Citrix Provisioning with PvD:

  • The Soap Service account must be added to the Administrator node of Studio and must have the Machine Administrator or higher role. This ensures that the PvD desktops are put into the Preparing state when the Citrix Provisioning vDisk is promoted to production.
  • The Citrix Provisioning versioning feature must be used to update the personal vDisk. When the version is promoted to production, the Soap Service puts the PvD desktops into the Preparing state.
  • The personal vDisk size should always be larger than the Citrix Provisioning write cache disk (otherwise, Citrix Provisioning might erroneously select the personal vDisk for use as its write cache).
  • After you create a Delivery Group, you can monitor the personal vDisk using the Resize and poolstats scripts (personal-vdisk-poolstats.ps1).

Size the write cache disk correctly. During normal operation, PvD captures most user writes (changes) and redirects them to the personal vDisk. This implies that you can reduce the size of the Citrix Provisioning write cache disk. However, when PvD is not active (such as during image update operations), a small Citrix Provisioning write cache disk can fill up, resulting in machine crashes.

Citrix recommends that you size Citrix Provisioning write cache disks according to Citrix Provisioning best practice and add space equal to twice the size of the template VHD on the master image (to accommodate merge requirements). It is extremely unlikely that a merge operation will require all of this space, but it is possible.

When using Citrix Provisioning to deploy a catalog with PvD-enabled machines:

  • Follow the guidance in the Citrix Provisioning documentation.
  • You can change the power action throttling settings by editing the connection in Studio; see below.
  • If you update the Citrix Provisioning vDisk, after you install/update applications and other software and restart the vDisk, run the PvD inventory and then shut down the VM. Then, promote the new version to Production. The PvD desktops in the catalog should automatically enter the Preparing state. If they do not, check that the Soap Service account has machine administrator or higher privileges on the Controller.

The Citrix Provisioning test mode feature enables you to create a test catalog containing machines using an updated master image. If tests confirm the test catalog’s viability, you can promote it to production.

Considerations: Machine Creation Services

When using Machine Creation Services (MCS) to deploy a catalog with PvD-enabled machines:

  • Follow the guidance in the product documentation.
  • Run a PvD inventory after you create the master image and then power off the VM (PvD will not function correctly if you do not power off the VM). Then, take a snapshot of the master image.
  • In the Create Machine Catalog wizard, specify the personal vDisk size and drive letter.
  • After you create a Delivery Group, you can monitor the personal vDisk using the Resize and poolstats scripts (personal-vdisk-poolstats.ps1).
  • You can change the power action throttling settings by editing the connection in Studio; see below.
  • If you update the master image, run the PvD inventory after you update the applications and other software on the image, and then power off the VM. Then, take a snapshot of the master image.
  • Use the PvD Image Update Monitoring Tool or the personal-vdisk-poolstats.ps1 script to validate that there is sufficient space on each PvD-enabled VM that will use the updated master image.
  • After you update the machine catalog, the PvD desktops enter the Preparing state as they individually process the changes in the new master image. The desktops are updated according to the rollout strategy specified during the machine update.
  • Use the PvD Image Update Monitoring Tool or the personal-vdisk-poolstats.ps1 script to monitor the PvD in the Preparing state.
  • The selection of PVD and MCS IO caching are mutually exclusive. If you install PVD, you will not be able to create a catalog with MCS IO caching enabled.

How-to: Exclude files and folders from vDisks

Use the rules files to exclude files and folders from the vDisks. You can do this when the personal vDisks are in deployment. The rules files are named custom_*_rules.template.txt and are located in the \config folder. Comments in each file provide additional documentation.

How-to: Run the inventory when updating a master image

When you enable PvD and after any update to the master image after installation, it is important to refresh the disk’s inventory (called “run the inventory”) and create a new snapshot.

Because administrators, not users, manage master images, if you install an application that places binary files in the administrator’s user profile, the application is not available to users of shared virtual desktops (including those based on pooled machine catalogs and pooled with PvD machine catalogs). Users must install such applications themselves.

It is best practice to take a snapshot of the image after each step in this procedure.

  1. Update the master image by installing any applications or operating system updates, and performing any system configuration on the machine.

    For master images based on Windows XP that you plan to deploy with Personal vDisks, check that no dialog boxes are open (for example, messages confirming software installations or prompts to use unsigned drivers). Open dialog boxes on master images in this environment prevent the VDA from registering with the Delivery Controller. You can prevent prompts for unsigned drivers using the Control Panel. For example, navigate to System > Hardware > Driver Signing, and select the option to ignore warnings.

  2. Shut down the machine. For Windows 7 machines, click Cancel when Citrix Personal vDisk blocks the shutdown.

  3. In the Citrix Personal vDisk dialog box, click Update Inventory. This step may take several minutes to complete.

    Important: If you interrupt the following shutdown (even to make a minor update to the image), the Personal vDisk’s inventory no longer matches the master image. This causes the Personal vDisk feature to stop working. If you interrupt the shutdown, you must restart the machine, shut it down, and when prompted click Update Inventory again.

  4. When the inventory operation shuts down the machine, take a snapshot of the master image.

You can export an inventory to a network share and then import that inventory to a master image. For details, see Export and import a PvD inventory.

How-to: Configure connection throttling settings

The Citrix Broker Service controls the power state of the machines that provide desktops and applications. The Broker Service can control several hypervisors through a Delivery Controller. Broker power actions control the interaction between a Controller and the hypervisor. To avoid overloading the hypervisor, actions that change a machine’s power state are assigned a priority and sent to the hypervisor using a throttling mechanism. The following settings affect the throttling. You specify these values by editing a connection (Advanced page) in Studio.

To configure connection throttling values:

  1. Select Configuration > Hosting in the Studio navigation pane.
  2. Select the connection and then select Edit Connection in the Actions pane.
  3. You can change the following values:
    • Simultaneous actions (all types): The maximum number of simultaneous in-progress power actions allowed. This setting is specified as both an absolute value and as a percentage of the connection to the hypervisor. The lower of the two values is used.

      Default = 100 absolute, 20%

    • Simultaneous Personal vDisk inventory updates: The maximum number of simultaneous Personal vDisk power actions allowed. This setting is specified as both an absolute value and a percentage of the connection. The lower of the two values is used.

      Default = 50 absolute, 25%

      To calculate the absolute value: determine the total IOPS (TIOPS) supported by the end-user storage (this should be specified by the manufacturer or calculated). Using 350 IOPS per VM (IOPS/VM), determine the number of VMs that should be active at any given time on the storage. Calculate this value by dividing total IOPS by IOPS/VM.

      For example, if the end-user storage is 14000 IPS, the number of active VMs is 14000 IOPS / 350 IOPS/VM = 40.

    • Maximum new actions per minute: The maximum number of new power actions that can be sent to the hypervisor per minute. Specified as an absolute value.

      Default = 10

To help identify optimal values for these settings in your deployment:

  1. Using the default values, measure the total response time for an image update of a test catalog. This is the difference between the start of an image update (T1) and when the VDA on the last machine in the catalog registers with the Controller (T2). Total response time = T2 - T1.
  2. Measure the input/output operations per second ( IOPS) of the hypervisor storage during the image update. This data can serve as a benchmark for optimization. (The default values may be the best setting; alternatively, the system might max out of IOPS, which will require lowering the setting values.)
  3. Change the “Simultaneous Personal vDisk inventory updates” value as described below (keeping all other settings unchanged).
    1. Increase the value by 10 and measure the total response time after each change. Continue to increase the value by 10 and test the result, until deterioration or no change in the total response time occurs.
    2. If the previous step resulted in no improvement by increasing the value, decrease the value in increments of 10 and measure the total response time after each decrease. Repeat this process until the total response time remains unchanged or does not improve further. This is likely the optimal PvD power action value.
  4. After obtaining the PvD power action setting value, tweak the simultaneous actions (all types) and maximum new actions per minute values, one at a time. Follow the procedure described above (increasing or decreasing in increments) to test different values.

How-to: System Center Configuration Manager 2007 with PvD

System Center Configuration Manager (Configuration Manager) 2012 requires no special configuration and can be installed in the same way as any other master image application. The following information applies only to System Center Configuration Manager 2007. Configuration Manager versions earlier than Configuration Manager 2007 are not supported.

Complete the following to use Configuration Manager 2007 agent software in a PvD environment.

  1. Install the Client Agent on the master image.
    1. Install the Configuration Manager client on the master image.
    2. Stop the ccmexec service (SMS Agent) and disable it.
    3. Delete SMS or client certificates from the local computer certificate store as follows:
      • Mixed mode: Certificates (Local Computer)\SMS\Certificates
      • Native mode
        • Certificates (Local Computer)\Personal\Certificates
        • Delete the client certificate that was issued by your certificate authority (usually, an internal Public Key Infrastructure)
    4. Delete or rename C:\Windows\smscfg.ini.
  2. Remove information that uniquely identifies the client.
    1. (Optional) Delete or move log files from C:\Windows\System32\CCM\Logs.
    2. Install the Virtual Delivery Agent (if not installed previously), and take the PvD inventory.
    3. Shut down the master image, take a snapshot, and create a machine catalog using this snapshot.
  3. Validate personal vDisk and start services. Complete these steps once on each PvD desktop, after it has been started for the first time. This can be done using a domain GPO, for example.
    • Confirm that PvD is active by checking for the presence of the registry key HKLM\Software\Citrix\personal vDisk\config\virtual.
    • Set the ccmexec service (SMS agent) to Automatic and start the service. The Configuration Manager client contacts the Configuration Manager server, and retrieves new unique certificates and GUIDs.