Citrix Provisioning

Target devices

After you install and configure provisioning components, a virtual disk is created from a device’s hard drive. This disk is created from a snapshot of the OS and application image, it then stores that image as a virtual disk file on the network. The device that is used during this process is seen as a master target device. The devices that use those vDisks are called target devices.

Configuring target devices that use virtual disks

Citrix Virtual Apps and Desktops with virtual disk technology is a high-performance enterprise desktop virtualization solution that makes VDI accessible to workers requiring personalized desktops using pooled, static virtual machines.

The wizard also creates virtual machines to associate with each device. A type of catalog in Citrix Studio allows you to preserve the assignment of users to desktops (static assignment). The same users are assigned the same desktop for later sessions.

Target device operation and performance statistics

Use Citrix Provisioning to view target device operations and performance statistics, including:

  • a WMI provider for static information about the target device.
  • a performance counter provider for dynamic information about the target device.
  • an external application running on the target device or the remote machine. This application queries objects using a WMI API to determine if they are running on a provisioned target and to gather information related to the configuration and state of the device.

As part of the standard Citrix Provisioning target device installation, a WMI provider DLL is installed and registered on each provisioned target device. This DLL obtains target device information from the BNIStack driver.

How it works

The provider creates the PVS_Target and PVS_VDisk WMI objects in the root/Citrix/PVS namespace. Each provisioned target device has a single instance of the PVS_Target object. The PVS_Target object provides information about the installed Citrix Provisioning version, and statistics for the latest boot operation.

If no instance of PVS_Target exists when the WMI provider queries the target device, either the device is not a Citrix Provision target device, or it is running an older Citrix Provisioning version of the target device software.

The PVS_Target object

The following table provides information about the PVS_Target object:

Item name Type Unit Description
Target_Software_Version String - PVS target version
Boot_Time_In_Sec Int seconds The number of seconds elapsed during the boot phases of the operating system
Boot_Retry_Count Int - Retry count during boot
Boot_Bytes_Read_MB Int MB Number of bytes read during boot
Boot_Retry_Written_MB Int MB Number of bytes written during boot

The PVS_VDisk object

One instance of the PVS_VDisk object exists on the provisioned target device. This object contains information about the virtual disk, the write cache mode and cache disk size.

The table below provides information about the PVS_VDisk object:

Item name Type Unit Description
VDisk_Name String - Virtual disk file name
Write_Cache_Type String - Write cache type being used
Write_Cache_Volume_Size Int MB Configured write cache volume size
Boot_From String - Boot from virtual disk or local hard disk
Write_Cache_Volume_Drive_Letter String - Write cache volume drive letter

Updated performance counters

Citrix Provisioning includes a performance counter that is automatically installed and registered on each provisioned target device.

Performance counters

The BNIStack driver provides the following performance counters:

Counter name Type Description
UDP retry perf_counter_counter PVS UDP retry count
Server reconnect perf_counter_counter PVS server reconnect count

Consider the following:

  • The provisioned target device installer registers the WMI and performance counter providers. No additional installation options require configuration on the provisioned target device.
  • The current CVhdMp performance counter provider only supports VHDX for target devices using Cache in device RAM with overflow on hard drive.

Performance counters provided by the CVhdMp driver

  • use the Citrix Provisioning Imaging Wizard. In the Microsoft Volume Licensing screen, click the appropriate license management option for the virtual disk. Click the Key Management Service (KMS) radio button, then click the Accelerated Office Activation check box. Select Next to apply the configuration change to the virtual disk and continue configuring it.
Counter name Type Description
File bytes perf_counter_large_rawcount The VHDX file size
File reads/sec perf_counter_counter The rate of reads from VHDX file in operations per second
File writes/sec perf_counter_counter The rate of writes to VHDX file in operations per second
File read bytes/sec perf_counter_bulk_count The rate of reads from VHDX file in bytes per second
File write bytes/sec perf_counter_bulk_count The rate of writes from VHDX file in bytes per second
RAM cache types perf_counter_large_rawcount The amount of memory used by RAM cache
RAM reads/sec perf_counter_counter The rate of reads from RAM cache in operations per second
RAM writes/sec perf_counter_counter The rate of writes to RAM cache in operations per second
RAM read bytes/sec perf_counter_bulk_count The rate of reads from RAM cache in bytes per second
RAM write bytes/sec perf_counter_bulk_count The rate of writes to RAM cache in bytes per second
Parent reads/sec perf_counter_counter The rate of reads from parent in operations per second
Parent read bytes/sec perf_counter_bulk_count The rate of reads from parent in bytes per second

Adding target devices to the database

To create target device entries in the Citrix Provisioning database, select one of the following methods:

  • Using the console to Manually Create Target Device Entries
  • Using Auto-add to Create Target Device Entries
  • Importing Target Device Entries

After the target device exists in the database, you can assign a virtual disk to the device. See assign a virtual disk to the device for more details.

Using the console to manually create target device entries

  1. In the console, right-click on the Device Collection where this target device is to become a member, then select the Create Device menu option. The Create Device dialog appears.
  2. Type a name, description, and the MAC address for this target device in the appropriate text boxes.

    Note:

    If the target device is a domain member, use the same name as in the Windows domain. When the target device boots from the virtual disk, the machine name of the device becomes the name entered. For more information about target devices and Active Directory or NT 4.0 domains, see Enabling Automatic Password Management.

  3. Optionally, if a collection template exists for this collection, enable the check box next to Apply the collection template to this new device.
  4. Click the Add device button. The target device inherits all the template properties except for the target device name and MAC address.
  5. Click OK to close the dialog box. The target device is created and assigned to a virtual disk.

Importing target device entries

Target device entries can be imported into any device collection from a .csv file. The imported target devices can then inherit the properties of the template target device that is associated with that collection. For more details, see Importing Target Devices into Collections.

Using the auto-add wizard

The auto-add wizard automates the configuration of rules that automatically add new target devices to the Citrix Provisioning database using the auto-add feature.

The Auto-Add Wizard can be started at the Farm, Site, Collection, or Device level. When started at a level lower than farm, the wizard uses that choice as the default choice. For example, if it is started on a particular target device, it will:

  • Select the Site for that device as the Default Site choice in the combo-box.
  • Select the Collection for that device as the Default Collection choice in the combo-box.
  • Select that device as the Template Device choice in the combo-box.

The wizard displays each page with choices pre-selected based on the location from which the auto-add wizard was started.

A provisioning farm administrator turns auto-add on or off and selects the default site.

A site administrator selects the default site if it is a site in which that administrator controls. If the site administrator is not the administrator of the currently selected default Site, then that administrator can only configure sites to which they have access.

To configure Auto-Add settings (the default collection of a site, template device for the default collection and target device naming rules):

  1. On the console, right-click on the farm, then select the Auto-Add wizard. The Welcome to the Auto-Add Wizard page appears.

  2. Click Next. The Enable Auto-Add dialog appears.

    Note:

    Only a farm administrator can change settings on this page.

  3. Check the box next to Enable Auto-Add to enable this feature, then click Next. The Select Site page appears.

    Note:

    Site administrators can only select sites to which they have permissions.

  4. From the Site menu, select the site where devices are added, then select Next. The Select Collection page displays with the default collection selected.

  5. Accept the default collection or select a different collection from the Collection menu, then click Next. The Select Template Devices page appears.

  6. Select the device to use as a template, so that new devices inherit the existing target device’s basic property settings, then click Next.

  7. To view the selected device’s properties, click Properties. A read-only dialog displays the selected device’s properties. Close the dialog after reviewing the properties.

  8. Click Next. The Device Name page displays.

  9. Enter a static prefix that helps identify all devices that are being added to this collection. For example: ‘Boston’ to indicate devices located in Boston.

    Note:

    The prefix can be used with the suffix, but is not required if a suffix is provided. The entire device name can have a maximum of 15 characters (the prefix length + number length + suffix length). For example, the following device names are considered valid:

    • Boston000Floor2 (prefix, incrementing number length, and suffix provided. The maximum of 15 characters has been reached)
    • Boston000 (no suffix is provided)
    • 000Floor2 (no prefix is provided)

    The prefix cannot end with a digit.

  10. Enter the length of the incrementing number to associate with the devices being added to this collection. This number is incremented as each device is added. For example, if the number length is set to 3, naming starts at 001 and stops naming or adding devices after the number reaches 999.

Note:

Enable the Zero fill option to automatically add the necessary number of preceding zeros to a numbers length. For example, if the numbers length is set to ‘4’, then the first target device number would be assigned as ‘0001’.

The number length must have a minimum of three digits and a maximum of 9 digits.

Enter a static suffix that helps to identify all devices being added to this collection. For example: Boston001Floor2 might be helpful to indicate the floor where these devices reside.

The suffix can be used with the prefix, but is not required if a prefix is provided.

The entire device name can have a maximum of 15 characters (the prefix length + number length + suffix length).

The suffix cannot start with a digit.

The prefix and suffix combination must be unique in each collection.

  1. Click Next. The Finish dialog appears.

  2. Review all Auto-Add wizard settings, then click Finish. Auto-Add is now configured.

Disabling a target device

The Disable Target Device feature prevents a new target device from booting. Each time a new target device boots with the auto-add option enabled, a new record is automatically created in the database. The following message appears on the target device:

This target device has been disabled. Please Contact your system administrator.

Once contacted, the system administrator can validate the target device. After the administrator disables the option, the target device can boot successfully.

To disable or enable a target device, in the console, right-click on the target device. Select the Disable or Enable menu option.

Tip:

To disable all target devices added to a collection, enable the Disable target device option on the template target device.

Deleting a target device

To delete a target device:

  1. In the Console, right-click on the target devices you want to delete within the collection.Multiple selections can be made in the Details view. Select the Delete menu option.
  2. Click Yes to confirm the delete request. The target device is deleted from the collection and any associated views. However, the virtual disk image file for the target device still exists.

Improving performance with asynchronous I/O streaming

In Citrix Provisioning releases before version 1808, a target device served incoming operating system storage requests by traversing through three different layers: RAM cache, VHDX file, and network streaming. This process occurred sequentially to complete a request. This traversing led to less than optimal performance due to the latency introduced when waiting for sub-I/O completion, before submitting a new sub-I/O request.

Target devices support asynchronous I/O in all three layers of the provisioning model: RAM cache, the VHDX file, and network streaming, effectively improving performance.

Important:

Asynchronous I/O streaming provides better performance, but comes with higher, temporary memory consumption. Citrix recommends that you test this feature in a non-production environment to verify that the performance is favorable before deploying to production.

The following virtual disk cache modes support asynchronous I/O:

  • Private or maintenance mode
  • Cache in device RAM with overflow on hard drive
  • Cache on server persistent

Note:

The Cache on hard disk feature option currently appears in the product but does not function.

Enable asynchronous I/O using the provisioning console

This release improves asynchronous I/O streaming functionality by allowing you to enable it for a virtual disk directly from the Provisioning Console. In the virtual disk properties screen, select Asynchronous IO.

Asynchronous I/O