Most organizations deploy a virtual desktop infrastructure (VDI) in order to reduce ongoing operational expenses. As such, making maximum use of VDI-dedicated resources helps these organizations get the most value for the dollars spent on the hardware and software the comprise the infrastructure. Most enterprise virtualization environments consist of servers, shared storage and virtualization software such as VMware vSphere. VDI deployments generally include other management software as well. I'll be covering some VDI basics in another article. Here, I'll be focusing on a few steps that you might consider taking to increase the density of your VDI environment. That is, what can you do to cram as many virtual machines as possible on a single host without completing ruining the end user experience?
- Pour RAM into your host. RAM will be your most precious resource so load up that host!
- Limit RAM per VM. VMware vSphere has impressive memory management capabilities including the ability to share RAM between virtual machines running the same operating system. You don't generally need to provide a single desktop virtual machine with massive amount of RAM. Run tests in your environment to determine where your RAM "sweet spot" lies. This sweet spot will be discovered through careful testing of the applications you intend to use.
- Use the same OS and service pack level on all VMs. By using the same OS and service pack, you make it easier for VMware vSphere to work its memory magic – Transparent Page Sharing. When used correctly, you can allocate more RAM than is physically available in the server, thus improving density. Just be sure to watch your RAM stats so that you don't end up paging to disk all the time or performance will truly suffer.
- Carefully choose desktops and application loads to replace. As much as possible, start your VDI effort with end user desktops that don't have major needs and with users that don't need much beyond the basics. For example, if you're planning to virtualize all of your CAD designer's desktops, you aren't likely to get very good density. If, however, you're going to virtualize your call center that uses a web app, you can probably get a very high density.
- Don't use multiple vCPUs in a desktop VM. Most desktop VMs simply won't need the horsepower. Further, if you do go ahead and create desktop with multiple vCPUs, you could actually damage performance since there will be multiple virtual CPUs vying for resources, which can result in additional latency that is not present with just a single vCPU.
- Use newer processors. Newer processors have features that can significantly improve virtual machine density. Whenever possible, try to use the newest available processor but do a cost/benefit analysis to determine if the newer processor additional cost will pay for itself in a higher density figure.
Virtual desktop planning is a lot different than virtual server planning. For example, desktop workloads can get by with 1 vCPU while many server workloads require multiple vCPUs. As such, these few tips might help you get a few more VMs on each of your hosts.