- Target Device Template – vSphere
- Target Device Template – Hyper-V
- XenDesktop Setup Wizard
- Target Device Power Operation
- Update BDM Partition
- XenDesktop Citrix Studio Machine Catalog of PvS Machines
- Write Cache Size 💡
:idea:= Recently Updated
Target Device Template – vSphere
The hardware of the additional target devices must match the original virtual machine. This is so the drivers contained in the vDisk continue to function. The easiest way to preserve the hardware configuration is to clone the original virtual machine.
- Shut down the original virtual machine.
- Edit the Settings of the virtual machine and make sure there is a blank, formatted cache disk.
- In the vSphere Client, right-click the original virtual machine, and click Clone.
- In the Select a name and folder page, enter a name for the template, and click Next.
- In the Select a compute resource page, select the cluster and click Next.
- In the Select storage page, select a datastore for the template and click Next. Note: if you use the Provisioning Services wizards to create Target Devices, the new machines will be created on the same datastore as this template.
- In the Select clone options page, don’t check anything and click Next.
- In the Ready to complete page, click Finish.
- Now convert the virtual machine to a template using the normal means (right-click > All vCenter Actions > Template > Convert To Template).
Target Device Template – Hyper-V
If you store the template in the library then you might see the issue described in CTX128750 Hyper-V Synthetic Network Interface Card Reinitializes on New Target Devices. The article recommends cloning a real VM instead of a template VM but this might not work for Provisioning Services XenDesktop Setup Wizard.
- Edit the Properties of the original virtual machine and make sure there is a blank, formatted cache disk.
- Right-click the original virtual machine, expand Create and click Create VM Template.
- Click Yes to acknowledge that the source virtual machine will be destroyed.
- In the VM Template Identity page, give the template a name and click Next.
- In the Configure Hardware page, click Next.
- In the Configure Operating System page, select None – customization not required and click Next. There is no need to run SysPrep.
- In the Select Library Server page, select a library server and click Next.
- In the Select Path page, click Browse to select a share and click Next.
- In the Summary page, click Create.
XenDesktop Setup Wizard
The easiest way to create a bunch of Target Devices is to use the XenDesktop Setup Wizard that is built into the Provisioning Services Console.
From Considerations: Provisioning Services for Personal vDisk at Citrix Docs:
- 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 Provisioning Services (PVS) vDisk is promoted to production.
- The Provisioning Service 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 Provisioning Services write cache disk (otherwise, Provisioning Services 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 PvD Image Update Monitoring Tool or the Resize and poolstats scripts (personal-vdisk-poolstats.ps1).
Do the following to launch the wizard:
- The XenDesktop Setup Wizard uses the Hosting Resources defined in Studio so configure them with destination datastores and networks for the new Target Devices.
- If vSphere, XenApp / XenDesktop 7.6 has a bug. To workaround this, in the hosting resource, configure the option Use different storage for Personal vDisks. You can select the same storage for both the linked clones and the Personal vDisks. Configure this even if you’re not using Personal vDisks.
- Make sure the Template Target Device is on the same datastore that you want the new Target Devices to be stored on.
- If Hyper-V, make sure the VMM Console is installed on the same machine as the Provisioning Services Console.
- In the Provisioning Services Console, right-click the site and click XenDesktop Setup Wizard.
- In the Welcome to XenDesktop page, click Next.
- In the XenDesktop Controller page, enter the name of a XenApp/XenDesktop controller, and click Next.
- In the XenDesktop Host Resources page, select a hosting resource. This list comes from the Hosting Resources created inside Studio. Click Next.
- Login to vCenter or SCVMM when prompted.
- In the Template page, select the Target Device template, and click Next.
- In the vDisk page, select the Standard Image vDisk and click Next.
- In the Catalog page, enter a name for a new catalog, and click Next. Or you can add machines to an existing catalog.
- In the Operating System page, make your selection, and click Next.
- If you selected Windows Desktop Operating System, then in the User Experience page, select random or static, and click Next.
- In the Virtual machines page, enter the number of machines you want to create.
- For RAM caching add 256 MB (virtual desktop) or 4 GB of RAM (Remote Desktop Session Host). See Citrix Blog Post Size Matters: PVS RAM Cache Overflow Sizing for more information.
- Specify the size of the cache disk. 15-20 GB for session hosts, and 5-10 GB for virtual desktops.
- Select BDM disk or PXE boot and click Next. For PXE boot, the Target Devices must be on the same VLAN as the Provisioning Services servers. BDS disk burns the boot image into the virtual machine’s disk. If you are using BDM disk, make sure the Target Device VM template does not have any Boot ISOs configured.
- In the Active Directory page, click Next.
- In the Active Directory accounts and location page, select an OU.
- Enter a naming pattern for the new machines, and click Next.
- In the Summary page, click Finish to start creating the machines.
- Then click Done.
- In Citrix Studio, you’ll see a new machine catalog.
- The PvS XenDesktop Setup Wizard seems to ignore zones (XenApp/XenDesktop 7.7 or newer) so you’ll have to move it to the correct zone manually.
- Create a new Delivery Group or add the machines to an existing Delivery Group.
Target Device Power Operation
If you used the XenDesktop Setup Wizard to create Target Devices, then the Target Devices are linked to a hosting connection, and can be powered on from the PvS Console by right-clicking the device and clicking Boot.
Target Devices created by the XenDesktop Setup Wizard have a VirtualHostingPoolId, which corresponds to the hosting connection listed under Sites > MySite > Hosts. When powering on the VM, PvS searches for a VM with the same name as the Target Device.
Boot Disk Manager (BDM) Partition Update
During PvS XenDesktop Setup Wizard, you can configure the Target Devices to use a BDM Partition to boot from Provisioning Services. This partition contains the IP addresses of the PvS servers. Prior to PvS 7.9, it was not possible to change the BDM Partition configuration.
In PvS 7.9 and newer, it is now possible to update the BDM Partition with the latest bootstrap info:
- In PvS Console, go to MyFarm > Sites > MySite > Servers, right-click each PvS server, and click Configure Bootstrap. Update the list of PvS servers.
- Make sure the Target Devices are powered off.
- Go to MyFarm > Sites > MySite > Device Collections, right-click a collection created by the XenDesktop Setup Wizard, expand Target Device, and click Update BDM Partitions.
- Click Update Devices.
- Click Close when done.
XenDesktop Catalog of PvS Machines
The easiest method to create PvS machines is with the XenDesktop Setup Wizard. If you’re not able to do that for any reason, then you can create PvS machines using more manual techniques, or using the Streamed VM Setup Wizard. Once the machines are created in the PvS Console, you need to add them to a Machine Catalog in Citrix Studio.
- Create a Device Collection with PvS machines.
- In Citrix Studio, create a new Catalog.
- On the Introduction page, click Next.
- In the Operating System page, make a selection that matches the vDisk, and click Next.
- In the Machine Management page, change the Deploy machines using selection to Citrix Provisioning Services (PVS), and click Next.
- In the Device Collection page, enter the Provisioning Services server name, and click Connect.
- Select the PvS Device Collection, and click Next.
- In the Devices page, review the list of machines that will be added to the catalog, and click Next.
- In the Summary page, give the Catalog a name, and click Finish. You can now add these machines to a Delivery Group.
- You can later add more machines to the PvS Device Collection in the PvS Console.
- To add the new machines to Citrix Studio, right-click the existing Catalog, and click Add Machines.
- In the Device Collection page, click Connect.
- Select the Device Collection containing new machines, and click Next.
- In the Devices page, review the list of new machines, and click Next.
- In the Summary page, click Finish. You can now add these new machines to a Delivery Group.
Write Cache Size
Write Cache File Name
From Carl Fallis at .vdiskcache at Citrix Discussions. PVS has had three different cache names:
- .vdiskCache is Legacy Ardence format (5 .x and before not supported anymore, you can delete this if your target software is running latest, this cache was optimized for size)
- .vdiskdif.vhd is legacy hard drive cache (6.0 and above local hard drive cache, used standard 1mb sector size and is larger than the legacy cache but worked better with storage and was incrementally faster than Legacy Ardence format)
- vdiskdiff.vhdx is Ram cache with overflow (7.1.4 and above RAM cache with overflow, 2 mb sectors larger than vhd but much faster and more compatible with storage)
Write Cache Filling Up Cache Disk
From Carl Fallis at .vdiskcache filling up drive at Citrix Discussions: The vdisk cache is basically a difference disk and only contains the blocks that are written to the system drive so you cannot mount it or read the file, it is just block data. What you need to do is use a tool like Process Monitor from Microsoft (used to be sysinternals) and monitor the system drive. Any write to the system drive is redirected by the PVS software to the cache file. You should make sure that any software that is installed on the target image does not have an auto update feature enabled, redirect all user data to a network share and educate your users to make sure they are not doing something that will fill up the cache like downloading a video to the local system drive.
Be aware that the RAM cache with overflow to hard drive can use more space on your local drive, it is important even in the older cache that you perform regular maintenance on your vdisks some recommendations:
- Merge to a new base disk when you have created 5 or more versions
- After every merge to the base disk, mount the new base disk and defrag the disk, this is important to reduce sectors used in the local cache, it is very important with the new RAM cache with overflow to local disk but it can have a very positive impact with the legacy local cache. Refer to http://blogs.citrix.com/2015/01/19/size-matters-pvs-ram-cache-overflow-sizing for more information.
Write Cache Size Monitoring
To view the size of Write Cache in RAM with overflow to disk, look in Task Manager for Nonpaged pool.
Matthew Nichols Monitor Citrix Pvs ‘Cache In Ram’ Size Using Powershell has a PowerShell script that uses WMI to poll a remote device for the size of the Nonpaged pool.
Andrew Morgan Accurately checking the Citrix PVS “cache in Ram, Overflow to disk” RAM cache size details how to use poolmon to view the actual RAM allocation for the write cache. And there’s a PowerShell script to extract the information from poolmon.
Citrix Blog Post Digging into PVS with PoolMon and WPA details how to use Windows Performance Analyzer to view Provisioning Services RAM cache and overflow.