One of the most important points to take into account when setting up and managing a XenDesktop deployment is the selection of the provisioning tool. Hence, Flexxible|SUITE uses Citrix Provisioning Services (PVS) to manage Enterprise-scale XenDesktop deployments. In addition to PVS, Machine Creation Services (MCS) is also used as it's easier to set up.
This article describes how PVS works and what decisions we have made to deploy VMs in Flexxible|SUITE using it.
The PVS console should be installed in the Flexxible|Worker virtual machines, so the Flexxible Windows services can use the PVS Powershell snap-ins.
Currently, Flexxible|SUITE only supports PVS for hypervisors such as VMWare 6.0 or higher and Hyper-V 2012R2 or higher.
PVS is a differentiated product from XenDesktop. Therefore, it is mandatory to install them separately, on independent servers.
Flexxible|SUITE uses a “PVS Farm” entity to represent a set of PVS servers (or nodes) that work together to publish VMs via streaming technology to one or more XenDesktop sites (“Desktop broker farms”).
To start using PVS in your Flexxible|SUITE installation, you must create a new “PVS Farm”, providing the name, kind (PVS version), access credentials, and the FQDN of one of the servers (nodes) in the farm. The Synchronize Infrastructure process that runs periodically will use this data to connect to the PVS servers and retrieve the rest of the required info (nodes, sites, collections...).
A PVS Farm is made of:
Devices: a device represents a VM in the hypervisor, but only the configuration, without the disks.
Disks: they're attached to VMs (devices), and streamed on demand. The same disk can be attached and streamed to several VMs.
Collections: sets of devices that can be added to XenDesktop catalogs.
Sites: a site is made by a list of collections, and provides differentiated authentication, access control, and licensing.
Nodes: the different servers with the PVS server software installed, that work together to stream the disks on demand to the VMs, that have them attached.
In Flexxible|SUITE, the collections where desktops and application servers will be created are specified in the site detail view, accessible from the “Sites” tab in the PVS Farm detail view. The default values for the desktops and application collections are the PVS site default collection.
When creating a VDT or ASF and selecting a template with provisioning type “Provisioning services”, the "PVSCollection" field will be initially informed with the appropriate collection name specified in the site definition, in the PVS Farm as “Desktops collection” or “Applications collection”.
How to import a template
To import a PVS template into Flexxible|SUITE, the VM must have the appropriate tag (“MasterImage” or “AppServerTemplate”) in the VM Manager.
The template will be discovered in the next “Synchronize infrastructure” periodic job or can be manually discovered by using the “Search for new templates” option in the Desktop template or Application template Definitions list. The new templates will appear in grey in the list with the "Unavailable" status.
Several fields must be configured in the template detail view to configure it as a PVS template:
Deployment Type: Select the value “Provisioning Services (PVS)”.
PVS Farm: Select the related farm from the list of previous PVS farms defined in Flexxible|SUITE.
PVS Site: Choose one of the selected PVS Farm sites to work with the template. The site will determine which PVS Collections can be added to the VMs created from this template.
Once the template is properly configured, use the "Enable template designer access" option, as you would with an MCS template.
How to create VMs from a PVS template
As with MCS templates, desktops or application servers are created using Virtual Desktop Templates (VDT) or Application Server Farms (ASF) except that when selecting the template in the VDT or ASF a “PVSCollection” field will be initially informed with the related desktops or application collection defined in the site of the PVS Farm associated with the template.
Additionally, the “Virtual machine type” field will be set to “NonPersistent”, since this is the only persistence model supported by Citrix Provisioning Services.
From this point onwards, the process to follow at user level will be the same one we have been using so far.
Differences when changing a template status
When setting a PVS template to “In edition” or “Ready for deploy” status there are some differences in the process that Flexxible|SUITE performs behind the scenes, because instead of creating a snapshot, a copy of the disks is created. Each template version is related to a particular disk copy instead of a snapshot, like MCS templates.
When setting the template to "In Edition" status a temporary copy of the system disk will be created and attached to the template, and the template will be turned on. This allows us to roll back the changes made by the template designer in case he uses the “Cancel the edit” option with the template.
When setting the template to "Ready for Deploy" status, the template will be shut down and the temporary copy of the system disk will become permanent for the new template version.
Upgrading the template version for existing VMs
For PVS templates this process is simpler because there is no need to update the XenDesktop catalog base disk, but simply point the selected desktops to the new disk.