Boot storms and antivirus scans are just two of the events that can bring storage to its knees when deploying virtual desktops. Learn how to configure VDI storage the right way.
Storage is one of the hottest topics in virtualization, which is one of the hottest topics in storage. These once distinct silos of data center technology are quickly converging. And it's increasingly easy to see why: They desperately need each other.
A virtual infrastructure can only be robust if it's backed by shared storage that supplies the endless low-latency I/O demanded by virtual machines (VMs). Virtual environments place more demands on a storage infrastructure than ever before in most data centers. Similarly, infrastructure virtualization is more demanding than ever on the physical servers in the environment.
A resilient and responsive storage infrastructure is a key part of any successful desktop consolidation project. While that's true for server virtualization, it's even more of an issue with virtual desktop infrastructure (VDI) because virtual desktops demand so much more I/O than most virtualized servers. Users do things that servers never would, such as Web surfing, viewing videos and running remote display protocols. As a result, users create much more diverse and, in many cases, even more demanding I/O workloads than those created by virtualized servers. In addition, virtual desktops may have agents on them (such as antivirus agents) that can (conceivably) kick off all at the same time and create massive amounts of disk scanning as the agents look for virus signature matches. Finally, when a physical server that runs hundreds of VMs is powered on, those VMs will also power on and create a "boot storm" of storage I/O that can bring shared storage to its knees.
Because storage is so crucial when deploying virtual desktops, here are 10 tips for configuring and managing storage in support of virtual desktops.
1. Use a VDI I/O calculator. Before you decide on a storage system, make an actual purchase or roll out your VDI implementation, you need to do some I/O and capacity calculations. There are free calculation tools available that will help you to estimate how many I/Os per second (IOPS) your storage will require and how much capacity your VDI will consume. By determining these requirements up front, you could avoid losing time and money down the road. Examples of VDI calculators are MyVirtualCloud and Unidesk.
2. Use linked clones. It's common to clone virtual servers from golden images for a particular server operating system (OS). VMware Horizon View takes cloning a step further; not only are all the VMs based on a single image (or sometimes multiple images) but the only additional storage consumption from each new VDI VM created are the changed blocks from the golden image. VMware calls this "linked clones." All VMs are based on a single VM image, and the other VMs are all linked to that image but still retain the power to modify their own guest OS image.
3. Consider user data management. Much of the storage consumed and many of the I/Os created from virtualized desktops are related to user data. And the truth is that user data is a mess at most companies. User profiles are bloated, corrupt and missing information a user needs. Ideally, a VDI infrastructure should consist of a VM that's a linked clone of a "golden VM" with access to packaged virtualized applications, and with user profile data properly managed and layered on top. Offerings like LiquidwareLabs ProfileUnity have a good track record for helping to get user data under control, reduced in size, properly managed, and layered on top of virtual and physical VMs as needed.
4. Use flash or hybrid storage. Since VDI requires so many more IOPS than more traditional virtual infrastructures, many IT shops are turning to storage products that use solid-state storage in dedicated flash arrays or hybrid storage systems that augment hard disk drives with flash drives. These systems can provide far more IOPS with fewer disks. Examples of vendors offering flash or hybrid storage solutions include Tegile Systems and Tintri.
5. Consider virtualization-aware storage. As noted at the beginning of this article, with virtualization and storage converging, there are new storage products that are commonly referred to as "virtualization-aware storage." While some storage vendors will claim they're virtualization-aware because they support the VMware vStorage APIs for Array Integration (VAAI) and the vStorage APIs for Storage Awareness (VASA), support for VAAI and VASA are minimum requirements for storage used in any new virtual infrastructure -- they don't make storage comparable to other storage arrays that actually communicate with VMware vCenter to learn about your VMs. With that kind of knowledge, the array can give you per-VM I/O utilization and other important operational statistics. That's much closer to being a true virtualization-aware storage system. Keep in mind that depending on the storage system you select, there may be various levels of virtualization-aware functionality.
6. Know your I/O and measure it. No matter what storage you select, you need to have an idea of its typical I/O utilization. Ideally, if you're using virtualization-aware storage, this should be much easier. However, even if you use a more traditional storage array, there are many virtualization performance analysis tools -- such as VMware's vCenter and vCenter Operations Manager, or third-party tools such as Dell's Foglight for Virtualization and the Xangati Management Dashboard (XMD) product suite -- that can help you measure your I/O utilization.
7. Simulate a boot storm. In addition to the typical bursty I/O demands from virtual desktops, the other major concern is a boot storm. A boot storm is when all the VMs on a single host or all VMs in the VDI are powered on and boot at about the same time. While that probably wouldn't happen on a regular basis, it is a concern that at some point would warrant testing to measure what happens to your storage array and virtual machine performance.
8. Use agentless antivirus. With an antivirus storm, all antivirus agents in your VDI wake up at the same time and begin scanning the VMs that will flood the storage system with I/O. You shouldn't use agent-based antivirus applications in VDI environments, as there are much better alternatives that don't have the same effect. An agentless solution, such as a VMware vShield Endpoint-compatible product with your vSphere VDI, will eliminate any chance of an antivirus storm as it will offload antivirus scanning from the end-user virtual desktops. Some examples of vShield Endpoint-compatible antivirus products include Symantec Endpoint Protection, McAfee Management for Optimized Virtual Environments and Trend Micro Deep Security.
9. Don't back up. While it should go without saying that backups just aren't needed, it's important enough to emphasize it again. If you use the layered approach described earlier with the linked clone VM OS, virtualized apps and user customizations/data on top, then there's no need to back up your VMs. This is because the OS is a clone and the applications are virtualized and on a share (already backed up). As with physical desktops, the end-user data must still be backed up but that data, in the case of VDI, should be stored on a network share.
10. Consider host-based caching. Host-based caching is an emerging product category -- so new that many products are in stealth mode or otherwise under the radar. But there will soon be numerous host-based caching offerings available. These products are designed to improve storage I/O performance. They typically use solid-state storage on each host as a cache to make VMs run faster. The additional I/O performance they can squeeze out can make a huge difference in VDI virtual machine response. But not all host-based caching offerings are the same, so do a thorough investigation to ensure that a product will suit your specific needs.
Storage can make or break your VDI
The storage you use for deploying virtual desktops is crucial. If you don't have the right storage infrastructure in place to support the I/O demands of the virtual desktop infrastructure, you'll experience slow response times for your applications and may even experience outages. Follow the tips outline here and your virtual desktop project should get the storage configuration it needs.
About the author:
David Davis is a virtualization expert who blogs at VirtualizationSoftware.com. His video training courses covering vSphere and Hyper-V are available from Pluralsight.com. Follow him on Twitter using @DavidMDavis.