Overcoming the 3 biggest challenges with Citrix MCS

Citrix MCSWith all the stories around MCS vs PVS etc I wanted to write a blogpost on how Nutanix can help you overcome the issues that you would see in a legacy 3-tier / local disk architecture using Citrix MCS. This is not a PVS vs MCS blogpost but I thought it would be a good idea to show how Nutanix solves the 3 biggest challenges with Citrix MCS.

With the excellent blogpost written by Martijn Bosschaart here Provisioning with Nutanix Part 1 the inner workings of Citrix MCS are explained. The thing I wanted to highlight on in this blogpost are the three typical challenges you would see with Citrix MCS on legacy infrastructures and how Nutanix can overcome these challenges making Citrix MCS a valid solution for your desktop virtualisation projects.

The 3 biggest challenges with Citrix MCS and how you can overcome them by using the Nutanix Xtreme Computing Platform are as following:

  • Read IO
  • Datastores
  • Linked Clone technology and data locality

How does Nutanix solves those issues? Here goes!

1) Read IO

When you compare Citrix PVS with Citrix MCS you usually get more read IO from Citrix MCS as stated in this blogpost PVS vs. MCS Revised on the Citrix Blogs. Nick Rintalan (Lead Architect & Director in the Americas Consulting organization) describes that they’ve seen up to 13% more read IO. Which is kind of obvious as PVS gets it’s reads from the network esp during the boot phase so having more reads over MCS makes sense.

So let’s take a look at the Distributed Storage Fabric (DSF) I/O Path:

DSF IO Path

Looking at the way Nutanix handles IO reads will be served from RAM and/or SSD as RAM is the fasted way to access data (not to store data as storing data in RAM comes with data integrity issues) while you can easily store more consistent data on SSDs while delivering an optimal performance.

In short, handling Read IO on the Nutanix DSF is easy, we serve IO from the most optimal path.

2) Single DataStore

I’ve seen multiple implementations of Citrix MCS on compute nodes (blades, rackmounted equipment etc) on local SSDs. The local SSDs are being utilized to get the speed needed for the high demanding IO needs of a virtual desktop. There are two mains disadvantages to this architecture:

  • Administrative overhead
  • Slow update process

Having multiple datastores will result in an administrative overhead, it will increase the number of possible errors during updates/deployments but it also adds complexity in terms of monitoring balancing out/free space.

Next to that every update needs to be copied on your datastores, this could result in a really slow update process where user experience can differ from host to host depending on if the update was already available. Having a software defined storage solution or HCI like Nutanix is will bring you all the administrative benefits of shared storage AND the performance of local storage.

3) Linked Clones Technologies

As the blogpost earlier mentioned, MCS is based on linked clone technology where the process in MCS is as following:

  • Create a master image
  • Create a snapshot
  • Create machine catalog, select the snapshot, etc

After that a full copy of the snapshot will be created and for every VM you’re creating the differencing disk and identity disk will be created (optionally the Personal vDisk will be created if you’re using that).

What happens next from an IO perspective is interesting, let’s say I have an environment with 8 hosts running 100 VMs each. All the reads for those VMs will go back to the full copy of the snapshot you made, 800 VMs going back to that single VMDK/VHD for reads.. All writes stay local as they’re reverted to the differencing disk. This will result in network latency and thus in decreased user experience. This is way Nutanix has introduced Shadow Clones which is explained in this blogpost:

How Nutanix helps Citrix MCS with Shadow Clones

As my team works on the Reference Architectures and I’m lined up for anything technical in the EUC space I’ve done testing between the two delivery methods and in terms of performance these results came out of the testing (using the same workload/infrastructure):

Citrix MCS Citrix PVS
VSIBase 100% 8% margin

VSIMax Average

100% 18% margin

VSIMax Treshold

100% 3% margin

Read more on this Reference Architecture here:Nutanix Reference Architecture for Citrix XenDesktop Solutions on Nutanix

Concluding we can see that the way Nutanix handles IO will help overcoming the typical issues you’d see while using Citrix MCS and MCS can out perform PVS with the extra goodness Nutanix delivers. This post is not about convincing anyone to go for either MCS or PVS but it’s information that could help people making the proper choice based on facts, not on FUD.

The following two tabs change content below.

Kees Baggerman

Kees Baggerman is a Staff Solutions Architect for End User Computing at Nutanix. Kees has driven numerous Microsoft and Citrix, and RES infrastructures functional/technical designs, migrations, implementations engagements over the years.

Leave a Reply