With 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 Provisioni
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
- 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:
Source: Nutanix Bible
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:
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|
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.
Latest posts by Kees Baggerman (see all)
- Recovering a Protection Domain snapshot to a VM - September 13, 2019
- Checking power settings on VMs using powershell - September 11, 2019
- Updated: VM Reporting Script for Nutanix with Powershell - July 3, 2019
- Updated (again!): VM Reporting Script for Nutanix AHV/vSphere with Powershell - June 17, 2019
- Updated: VM Reporting Script for Nutanix AHV with Powershell - April 8, 2019