At Citrix Solutions Lab we are always looking at ways to deploy Citrix software that take advantage of what Citrix offers and what our competitors cannot always accomplish.
In the recently released Citrix Service Provider Solution on Microsoft Hyper-V and Cisco UCS Design Guide, we took a different approach to Hosted Shared Desktop (HSD) VMs and storage.
The justification for building a solution without a SAN or NAS:
IOPS costs and alternative approaches to reducing them.
Typically, the Citrix Service Provider Desktops as a Service solution leverages citrix Provisioning Services (PVS) for the Hosted Shared VMs, leveraging a write cache file to hold the windows page file and PVS write cache. This write cache is often kept on a SAN or NAS. Due to the possibly high number of IOPS that can be generated in hosted desktop workloads, beefy SAN or NAS storage is often required to support large numbers of users and VMs. Although the PVS Cache in RAM with Disk Overflow feature has significantly reduced the IOPS requirements at this stage some Service Providers may be interested in an alternative approach when dealing with smaller scale scenarios.
What about High Availability?
Another decision driver for the use of a SAN is high availability, (HA).
If the physical servers are in a cluster the VMs can be migrated to another server in that cluster. With the latest versions of Microsoft Hyper-V there is no need for a cluster to migrate VMs between servers. Yet, if a physical server not in a cluster fails, the VM on it cannot be accessed, migrated, or restarted on other servers.
Both of these considerations were taken into account as we designed for the use of local storage instead of a SAN or NAS.
For this design guide we were looking for a low cost, quick Citrix Service Provider solution, and since storage is always one of the major costs in any deployment, (Citrix Service Provider or Enterprise customer/partner), our goal was to investigate the reduction of those costs. The question to answer was “Can we do this all on local storage while maintaining HA and performance at a reasonable cost”? On a side note, a slower older SAN was used to hold the PVS vDisks and the infrastructure VMs such as Active Directory, DNS, SQL, Broker, etc.
So what did we build?
With the SAN no longer a driving requirement for VM migration, we decided to remove the SAN and use local storage in the Cisco blades for the write cache files, and configure the VMs with PVS RAM Cache with disk overflow, which also reduces the IOPS to the storage. Each blade was installed with a 400GB SSD to hold the write cache data, and a 300 GB HDD to hold the operating system.
So, without migration or a SAN, what about HA? XenApp 7.5 allows creation of “Delivery Groups” (previously known as “Worker Groups” in XenApp 6.5), the grouping of servers together. All of the VMs belong to the same Delivery Group and with any VM failure the workload will be re-distributed to other VMs as the users log back in. Each physical server supports 7 HSD VMs, and each VM supports 30 users. The Delivery Group is configured in an N+1 configuration where the loss of any one VM can be absorbed by the remaining VMs, and the same for the physical servers. Even if using a SAN the N+1 configuration should be considered to be able to handle the loss of a physical server, or migrate VMs around for server maintenance. Our configuration allows us the same levels of HA support.
Advantage! Adding more users at scale is very straightforward.
With a SAN, if you have space, you can easily add additional users, but if you do not have the space, then it becomes an issue. With the local storage solution, if you want to add more users you add more servers and join them to the Delivery Group.
What does using local storage do to cost per user?
If a physical server supports 7 HSD VMs, each VM support 30 users, and an SSD costs roughly $900 then your storage cost per user works out to $4.29 (900 / (7 * 30)). There still needs to be a SAN or NAS to hold the VDA files and infrastructure components, but it does not require the amount of IOPs neccessary to support a HSD or VDI environment.
This approach of local storage is not appropriate in all situations, but does offer some interesting possibilities for specific environments.
For other work done by Citrix Solutions Lab, visit www.citrix.com/go/solutions-lab.