Citrix XenDesktop is unique in its ability to run on multiple hypervisors, but if you decide to use a VMware hypervisor, there are a number of factors you must consider.
Unlike many other desktop virtualization products, XenDesktop can be run on all three of the major vendors' hypervisors: VMware vSphere, Microsoft Hyper-V and -- of course -- Citrix's own XenServer. VMware's hypervisor is often billed as the most widely deployed, and many environments run Citrix's VDI software on that platform.
Most of the best practices surrounding VMware vSphere relate to clustering and resource allocation. Here's what you need to know if you're deploying XenDesktop on the VMware hypervisor:
Create dedicated clusters
It goes without saying that if you are going to build a virtual desktop infrastructure (VDI) environment, the virtual desktops need to reside on clustered hosts. However, you need to create a cluster that provides the virtual desktops with the resources they need, while also providing the appropriate level of fault tolerance.
First, you should place virtual desktops into a dedicated cluster. Doing so separates the XenDesktop infrastructure components, such as XenDesktop controllers and Active Directory, from the virtual desktops.
This separation is a good idea because the virtual desktops have completely different needs than virtual servers with regard to performance and fault tolerance. Separating virtual desktops and infrastructure servers into two separate clusters gives you the flexibility to tune the clusters and components, such as the VMware Distributed Resource Scheduler, to the desktops' specific needs, without having to worry about affected infrastructure components in the process.
Consider virtual desktop configuration
Another consideration is that most organizations do not have a standard virtual desktop that all users access. Instead, there are often a variety of virtual desktop configurations, which differ based on application set, operating system configuration, domain membership and other factors.
When it comes to hosting XenDesktop on VMware, it is important to take the differences in virtual desktops into account. There are two viable options when it comes to virtual desktop placement, but usually one will be more practical than the other, depending on your VDI structure.
More on Citrix XenDesktop
Comparing XenDesktop vs. View
Citrix XenDesktop 5.5 and 5.6 improve VDI performance
How to decide between XenDesktop and VDI-in-a-Box
If you have multiple virtual desktop configurations, virtual desktops are grouped together in pools, with each group containing a collection of identical virtual desktops. Usually, some of the desktops are rather large, especially if their configurations are going to be more widely used throughout the organization. That being the case, some organizations choose to dedicate clusters to individual virtual desktop groups.
The advantage to this approach is that if the virtual desktops within a group are all identical, then all of them have an identical resource footprint. This footprint is completely predictable for the group, making capacity planning for future growth very easy.
The other option is to place a mixture of high demand and low demand virtual desktops on a cluster. While this approach complicates capacity planning, it often helps to improve virtual machine density, thereby providing the maximum possible return on your hardware investment.
Ensure VMware vCenter high availability
Another important consideration is that in a VMware environment, XenDesktop is dependent on vCenter for performing cluster management and various infrastructure management tasks. Citrix cautions that virtual desktop delivery may be hindered if the vCenter Server becomes slow or unresponsive.
To prevent that from happening, VMware and Citrix recommend deploying vCenter Server as a virtual machine. That makes it possible to achieve high availability for the server. At first, vCenter Server high availability might seem unimportant, because a vCenter server failure does not affect established XenDesktop sessions. However, a vCenter failure keeps the administrators from being able to manage the vSphere cluster configuration and any virtual desktops hosted there.
If you virtualize vCenter Server and place it on an infrastructure cluster, it is a good idea to exclude it from the Distributed Resource Scheduler by setting the automation level to Disabled. That still allows for high availability through the VMware High Availability service, but, in non-failure situations, the vCenter server will remain in a static location, which prevents administrators from having to manually locate the vCenter instance.
Finally, it is important to change your vCenter Server's startup priority to High. That tells VMware that your vCenter Server is important and should run even in failover situations where there might not be enough available resources to start every virtual server. You should also consider assigning a high priority to other infrastructure servers, such as a domain controller, a DNS server, a DHCP server and the SQL server that is responsible for the vCenter data store.
As is the case with any VDI implementation, it is important to adhere to the established best practices when running XenDesktop on VMware. Citrix outlines all of these best practices in the XenDesktop Planning Guide.