High Availability – Citrix Machine Creation Services vs Provisioning Services

My blog post from last week on Machine Creation Services, Provisioning Services, and vSphere Content-Based Read Cache caused quite a few tweets back and forth between those in the Citrix community and I thought I’d continue our discussion with a tweet I posted last week, “PVS less highly available than MCS“. So what do I mean by that comment? Well let’s take a look at the components required to deliver a highly available non-persistent image via Machine Creation Services (MCS) and Provisioning Services (PVS) in Citrix XenDesktop delivering a hosted virtual desktop.

Provisioning Services

  • 2 Windows Server instances with Citrix Provisioning Services installed using local, SAN, CIFS, or NFS storage (if you are going to use CIFS or NFS make sure you look at the articles I have posted under Virtualization Resources on my blog.
  • 2 XenDesktop delivery controllers using a highly available SQL database (of course you’d also need Web Interface or Storefront but for the purposes of this discussion and just “delivering” the image we’ll not focus on this)
  • Hypervisor and management infrastructure that PVS will call in to in order to power on/power off virtual machines
  • Storage infrastructure for the virtual machines, either local or shared
Diagram of XenDesktop using Provisioning Services
Screenshot of the storage as seen by the vSphere hypervisor

Machine Creation Services

  • 2 XenDesktop delivery controllers using a highly available SQL database (of course you’d also need Web Interface or Storefront but for the purposes of this discussion and just “delivering” the image we’ll not focus on this)
  • Hypervisor and management infrastructure that MCS will call in to in order to clone replica images, create linked clones, power on/off
  • Storage infrastructure for the virtual machines, either local or shared
Diagram of XenDesktop using Machine Creation Services
Screenshot of the storage as seen by the vSphere hypervisor

So perhaps you’ve noticed that Citrix Provisioning Services only adds additional infrastructure requirements in the way of 2 additional Windows Servers that are used to run the PVS components. While that isn’t necessarily a bad thing it does introduce some additional things that can fail that will affect your ability to deliver an image to your hypervisor infrastructure. The Windows Server OS could fail, in which case if properly configured the virtual machines would fail over to the other Provisioning Server. The failure that I’m ultimately far more concerned about though is one that affects the Citrix Streaming Service. It is this service that is responsible for “streaming” the requested image blocks across the network. If this service has a bug and crashes on one Provisioning Server and the virtual desktops fail over to the other Provisioning Server and if that same circumstance occurs which caused the virtual desktops to crash the streaming service on host 1, then it will probably crash the streaming service on host 2…and now you’re dead in the water. It is for this reason that I say Provisioning Services is less highly available than Machine Creation Services.

Machine Creation Services has one less dependent…Provisioning Servers (OS, Application, and most importantly Streaming Services bugs)

4 thoughts on “High Availability – Citrix Machine Creation Services vs Provisioning Services

  1. I agree 200%, PVS is a management nightmare, I’d rather spend some extra buck$ on storage than relying a 200+ seats deployment on a couple of stressed Windows boxes.

  2. wow! really!! you’d recommend a 1000+ XenDesktop environment to use MCS over PVS? The whole assumption is based on the fact that ‘maybe’ a bug can exist which will break the streaming service and then subsequently break the streaming service on the server you’ve failed over to. Have you seen any customer have this issue on PVS? Majority of IT shops that have anything over 10 instances of a XenApp image use PVS. If it was that much of a risk, companies would not be putting hundreds of XenApp servers which are hosting thousands of users on it. Just my 2c.

    • each environment is different. yes, i have personally seen a bug cause exactly what I described.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s