February 13, 2014
Best Practices: Atlantis ILIO and Citrix PVS (Provisioning Services)
When deploying Citrix XenDesktop and/or Citrix XenApp, many organisations utilise Citrix Provisioning Services;(PVS) to not only manage the images for deployment, but to look to reduce the storage capacity requirements of their virtualised desktop and application infrastructure.
Still, it is common to find that as user load increases, user experience degrades. It is often suspected that the storage environment (typically a SAN) for the PVS environment is the bottleneck. Many of our customers speak to us in order to address a concern that their PVS delivered XenApp/ XenDesktop service isn't delivering as expected. Our partners recommend Atlantis ILIO as part of their stack in order to simplify the architecture and contain the cost of the physical infrastructure.
What are the common questions and best practices for delivering an optimised XenApp/XenDesktop environment when using Atlantis ILIO and Citrix PVS?
Citrix Provisioning Service (PVS) - A Summary
Citrix PVS has its own server and Microsoft SQL Server database requirements. PVS allows you to create an operating environment in a central location and deliver that in real-time across the network. The advantage here is that you remove the need to patch individual systems; when an environment is ready and validated – it is available on the next reboot. Truly, turning it off and back on again can actually change, rather than reset, your environment..
You can find more out about Citrix PVS from Citrix's own documentation.
Citrix PVS - Getting the Core Service Foundation Right
The benefits of PVS image management have been realised by many, yet often the excitement of simplified image management gets the better of people. In enabling image management from a central location, Citrix PVS, like any service, has recommended networking and resource configurations to ensure a reliable service.
I'd always recommend you review the very useful Citrix best practice documentation on PVS deployment in optimising your PVS service, namely:
There are other best practice documents available (for example Citrix PVS - Answering The Write Cache Question).
- Cache on Provisioning Server: handy for testing - not for use in a production environment as the latency for write operations impacts performance.
- Cache on Target Device RAM: fast, but with a drawback that when the cache is filled, your VM's will crash instantly with a BSOD. The complexity of sizing the write cache, monitoring the cache use and mean time to failure often excludes this option at scale.
- Cache on Target Device RAM + Disk (new in PVS v7): designed to have the performance of RAM, but with improved reliability. While independent tests had found that this wasn't as performant as expected an update has been made available for XenServer environments (with thanks to @MagnerJohnson
Citrix recommend storing the write cache
on the target side as it is beneficial because it keeps the write "close
" to the target and minimizes the load on the Provisioning Servers. A big benefit of hosting the write cache on a target side hard disk is that this disk can also be used for data, which needs to be persistent. Indeed, for virtual XenApp servers, the best practice is to use a target side hard drive
for storing the write cache and this is also what the vast majority of customers do.
You may be interested to know that Citrix Technology Professional Jim Moyle has put together a video What works, what doesn't, and how to fix it with Atlantis USX
which is well worth a watch.
Citrix PVS – Benfits for Performance by Enabling Intermediate Buffering
If using VMware vSphere or Citrix XenServer as your hypervisor consider enabling intermediate buffering. There is a very useful article on improving the performance of your PVS environment with regards to enabling WcHDNoIntermediateBuffering on the PVS device target. In PVS 5.x, PVS used an algorithm to determine whether the setting was enabled based on the free space available on the write cache volume if no registry value was set (default setting). In PVS 6 and 7.0, this feature is disabled by default. Setting the value to enabled, as explained in Improving Citrix PVS 6.1 write cache performance on with WcHDNoIntermediateBuffering can have a positive impact on VM IO performance. Note, as per Citrix KB article 126042, this setting is not recommended for Microsoft Hyper-V.
Most importantly, the storage and performance of the write cache location is key in ensuring a great, consistent user experience for your environment.
Citrix PVS with Atlantis ILIO - Optimizing Performance and Scalability
You've assigned your PVS servers plenty of RAM, your image and network are appropriately configured. To drive performance, I’d say it is best practice to use Atlantis ILIO to optimise the storage of the VMs PVS write-cache.
Atlantis ILIO - Simple integration with your PVS environment
Atlantis ILIO appliances are validated to supported both Citrix XenApp and XenDesktop workloads in either Pooled/Non-Persistent mode or Persistent mode.
Atlantis ILIO With XenDesktop and PVS
For deployments with PVS, the workload is typically non-persistent. Our Atlantis ILIO Diskless architecture would be recommended for VDI workloads. Set the image to Cache on Target Device Hard Driveand host your write cache images on a storage volume presented using Atlantis ILIO Diskless. If there is a requirement to have data persist then you can use Atlantis ILIO Persistent which allows you to optimise existing SAN storage.
Atlantis ILIO With XenApp and PVS
In XenApp environments, some organisations opt to have a second disk to store data such as log files, AV signatures and maintain space for crash dump files. This configuration is supported when using Atlantis ILIO for XenApp Standard Edition appliances: where the data disks are stored on ILIO optimised storage, or in their existing location. Introducing ILIO into your architecture doesn't require you change your VM drive configuration. In addition, Atlantis ILIO doesn't require that you add drivers to your hypervisor, or your base image.
Where persistence of data needs to be in ensured, for example if you to make use of Personal vDisks, or you need to maintain log files for auditing, you typically store this data in a persistent virtual disk. Atlantis ILIO for XenApp Enterprise has a Persistent Disk-backed mode, where SAN storage is optimised to provide additional performance and greater capacity.
Atlantis ILIO and PVS VM Deployment
There are three automated methods of deploying PVS VMs: XenDesktop Setup Wizard, Streamed VM Setup Wizard, Auto-Add Wizard.
- Streamed VM Setup Wizard: This deployment method needs a VM template created for each ILIO datastore. The requirements of the Streamed VM Setup Wizard are that VM templates used by the Wizard must be stored in a location that is available to all hosts. You can use an ILIO datastore to host the templates, but the template-source ILIO datastore must be mounted on each host. If an .iso needs to be mounted to assist the PVS boot process, add the .iso file to the ILIO datastore and attach to the VM template. Once the VMs are created then they can be added to XenDesktop using XenDesktop Studio.
- XenDesktop Setup Wizard: This deployment method needs a VM template created for each ILIO datastore. The requirements of the XenDesktop Wizard mean that each VM Template must be stored on each datastore. It is recommended you create each VM template then copy the VM templates to each datastore prior to launching the XenDesktop Setup Wizard. If an .iso needs to be mounted to assist the PVS boot process, add the .iso file to the ILIO datastore and attach to the VM template. The XenDesktop Setup Wizard automates the addition of VMs to XenDesktop.
- Auto-Add Wizard: This method requires no templates to be available from common datastores. For each datastore ensure a VM instance is created with the attributes to connect to PVS; then use Atlantis FastClone to create additional instances per host. If an .iso needs to be mounted to assist the PVS boot process, add the .iso to each VM once the VMs are created. Configure PVS for auto-add. Start the VM instances to register them with PVS.nce the VMs are created then they can be added to XenDesktop using XenDesktop Studio.
For deployment at scale, consider scripting mass deployment of PVS target devices e.g. Scripting Mass Deployment of PVS Target Devices with Write Cache on Local Storag
Atlantis ILIO and PVS Servers
Often when customers have a concern with their PVS environment their initial investigations suggest that boot storms are impacting their SAN storage environment, and they look to optimise the PVS server’s VHD golden image storage. The golden image may well be on a shared storage: the same shared storage used for the write-cache drives. The goal would be reduce the impact of the write intensive write-cache volumes (ideally by placing those write intensive write-cache VMs on Atlantis ILIO Diskless storage thereby reducing the demand on SAN).
It is not recommended to host PVS gold images on an Atlantis ILIO appliance. To deliver optimised performance for infrastructure server workloads is the goal of Atlantis ILIO USX
Atlantis ILIO Driving XenApp/XenDesktop performance with PVS
With traditional storage often as user load increases, user experience degrades. By hosting write-cache drives on Atlantis ILIO using CPU and memory each host provides an additional level of storage performance and capacity, providing a great user experience and consistent level of performance.
Atlantis ILIO provides the greatest flexibility with PVS write-cache sizing (by utilising features such as in-line de-duplication and compression). Although PVS RAM caching is performant, it is complex to size and support, since write cache growth can cause VMs to crash. With Atlantis ILIO Diskless you can have the performance that storage in RAM provides, with greater storage capacity available – so reducing the complexity of write-cache right-sizing.
To lower physical infrastructure costs, guarantee great user experience and reduce the risks associated with write-cache sizing, a recommend practice would be to consider implementing Atlantis ILIO Diskless for your PVS write-cache storage.
Current rating: 3.3 (7 ratings)