Provisoning Services (PVS)
When it comes to delivering the base operating system within Citrix-oriented environments we have couple of options to choose from. For one, we can decide to install and manage everything manually, like we are used to doing on our home PC’s. Second, you can use an automation tool of some sort( or script it yourself to install and update your XenApp Servers and/ or XenDesktop VDI machines, which is not that uncommon. However, ongoing maintenance will always a challenge. And third, we can leverage single image management in the form of either Citrix Machine Creation Services(MCS) and/or Citrix Provisioning Services(PVS).
Provisioning services is based on software streaming technology. Simply put ,a single read-only vDisk(Virtual Disk) will be streamed over the network to multiple so-called target devices, which can be XenApp servers or XenDesktop VDI-based VM’s. You will always have at least 2 provisioning servers for HA purposes, or more depending on the size of your deployment and the number of target devices that need to be serviced.
You could easily provision several hundreds or thousands perhaps of physical and/or virtual machines from ‘just’ 2 provisioning servers, although more would be preferred
It all starts with the actual vDisk, or the creation of it. This is the process of configuring and installing all desired software(including applications) and additional components onto a physical and/or virtual machine of choice, like we would normally do when creating master image; in fact it is not uncommon to use Microsoft SCCM or any similar solution for this. This machine will be referred to as the Master Target Device.
Earlier mentioned vDisk is in read-only mode , post vDisk boot , where will it stores the writes? For this Citrix created something referred to as the target device’s write cache. As with MCS,where all the writes to the base OS are stored on a differencing disk, all writes to a read-only vDisk will be stored in its accompanying write cache.
Each target device will have its own write cache and, depending on the OS used and the type of deployment(RDSH or VDI), its size will vary.What is also worth noting is that when a Standard Image mode machine gets rebooted , its write cache cleared it will start out fresh again. Logically, this does not apply to machines in Private Image mode where all changes made during the session will be persistent(saved).
Provisioning Services Boot Mechanism
When a target device starts it needs to somehow be able to find and contact a provisioning server to eventually stream down the appropriate vDisk.This information is stored in a so-called Bootstrap file named ARDBP32.BIN. It contains everything that the target devcie needs to contact a pVS server so that streaming process can be initialized.
The boot strap file be delivered through a TFTP server, this also partly applies to the alternative BDM(Boot Device Manager)approach. There are some distinct differences between TFTP and BDM
PVS Server High Availability
When dealing with highly available PVS environments, there are multiple components to consider. Firstly , PVS needs an SQL databases which somehow will need to be made HA, secondly , you will at least install and configure 2 PVS servers and enable HA within PVS software itself, which is done from management console and last , but not least , the storage where your vDisks reside also need to be shared or made HA. And of course, you can configure TFTP in HA too..
As a side note, multiple PVS servers can also be used for load balancing purposes with regards to the streaming traffic they handle – active /active.
While using Provisioning Services(Machine Creation Services) to configure persistent desktops, either through persistent write cache or by attaching a Personal vDisk, is not a very popular approach in large enterprises, there are tons of smaller companied who are interested in this type of setup.
If you talk to Citrix , they would normally suggest you to use PvDs for no more than a 100 to max 125 machines, primarily to prevent things from getting too complicated. If more needed, fully cloned VM’s are preferably used instead.
Key takeaways of PVS
- Provisioning Services streams a base image over the network down to either virtual or physical machines
- It works for both desktop as well as server Operating Systems.
- A device using a vDisk is also referred to as Target Device.
- The Machine used to create and maintain the vDisk is referred to as the Master Target Device.
- Target Devices are managed using Device Collections.
- The life cycle of a vDisk consists of Creation,Deployment,Maintainance and finally Retirement. For this, we can leverage the built-in PVS versioning mechanism.
- Check CTX117372,CTX124185 for some PVS best practices & PVS vDisk’s.
- While past , it was always considered to use physical machines for your PVS ,today virtual machines are almost always recommended by Citrix. The same applies to isolating PVS traffic but still it depends on the requirement whether to isolate PVS traffic or not as multiple blogs advised not required of network isolation ,however isolation sometimes might make sense is because of security consideration.
Machine Creation Services (MCS)
Machine Creation Services is simple to operate: it is integrated right into XenDesktop and you don’t have to build and maintain a separate infrastructure like with PVS
Machine Creation Services (MCS) is one option for desktop image delivery. It simply uses the hypervisor APIs (XenServer, Hyper-V, and vSphere) to create, start, stop, and delete virtual machines. While MCS was originally developed ,it meant for the VDI based VM’s . From XenDesktop 7.X, it now also supports the provisioning of server Operating Systems.
Next to Provisioning Services, MCS is the second option that we have regarding(automated) desktop image delivery and single image management within XenDesktop. MCS is designed such a way that it will communicate directly with Hypervisor API(Application Program Interface) to care of things like VM creation, starting and stopping of VMs(Power Management),delete VMs and so on..
It support Microsoft’s Hyper-v using SCVMM,VMware vSphere through vCenter, Citrix Xen Serve through XenCenter, Azure Cloud & Nutanix. As with PVS, it all starts with a master VM,the template machine , Golden image whatever you would like to call it. A Master VM is nothing more than a Virtual Machine with everything installed and configured exactly what you want to present it to your users. When you create a Machine Catalog from Studio(based on MCS technology) you will be asked to select this master VM, which will then serve as a Base image from where all other VMs will be automatically provisioned
Next to b…