VDI offers a secure, centrally managed platform for dealing with end user PC requirements, but once you delve a little deeper into the technology, infrastructure challenges start to rear their ugly heads. Perhaps the biggest challenge lies with VDI storage performance.
Storage is a core component of desktop virtualization, especially when it takes on the flavor of a server-hosted environment, where all virtual machine (VM) activity takes place in the data center on dedicated servers. Simply put, VDI storage can make or break a desktop virtualization project.
There are many factors that affect how a storage platform will work in a virtual desktop infrastructure (VDI) environment, including available space, reliability of the storage components and the optimization of input/output operations per second (IOPS).
Focus on performance
What kind of performance level do you need from your virtual desktops? There's never a simple answer, but there are several ways to derive adequate VDI storage performance -- without breaking the bank.
Storage performance impacts a very critical and noticeable area of virtual desktops: end-user usability. Elements such as boot times, shut-down times, application loading, file access and so forth are directly affected by VDI storage performance.
To make things more complicated, VDI performance can vary based on other loads. For example, when scores of users launch their virtual desktops simultaneously at 9 a.m., the storage demand can grow exponentially and increase the time it takes to boot up systems. That can negatively impact user productivity, and it's not a situation an IT manager wants to face every day. At the same time, that storm of boots may only occur once a day, so scaling up VDI storage for that singular event may prove too expensive.
Understanding IOPS for virtual systems
More on VDI storage performance:
VDI storage tips and tools
Do you need a new storage array for VDI?
VDI's storage hunger: Dollars per gigabyte and IOPS load don't mix
For instance, looking at a typical Windows client running on local hardware with a local disk, such as an IDE or SATA disk rotating at 5,400 or 7,200 RPM, someone can measure that about 40 to 50 IOPS are available. Usually, that amount of throughput is demanded when a Windows client starts. During boot up, a Windows system loads both the basic operating system and a number of services.
However, if the client is a virtual one, a lot of those services are unnecessary or even counter-productive. Indexing services, hardware services (wireless local area network, for instance), pre-fetching and other services produce many IOPS to optimize loading speed, which works well on physical clients but loses all effectiveness on virtual clients. Windows attempts to optimize IOPS by performing reads and writes in a contiguous fashion, meaning that reads from a disk occur in a constant stream. Overall, the amount of IOPS a client demands depends on the services running and the applications the user is running.
How IOPS work in a VDI environment
Armed with an understanding of the relationship between IOPS and virtual machine performance, you can begin to assess IOPS required for VDI storage. You can determine the exact number of IOPS necessary using capacity planning tools such as Liquidware Labs.
Then you need to select the storage system that works best for your environment. In many cases, a storage area network (SAN) will make the most sense. Each vendor's technology has its own nuances, however, so here are some other considerations for choosing VDI storage.
VDI should be optimized for IOPS, which can be the main performance bottleneck. IOPS requirements increase at somewhat predictable times, such powering on a VM. If demand outstrips available IOPS, the user may have to wait before he can log on and boot. You can resolve that issue by automatically powering on the machines you'll use on a certain day before workers actually start using them. On the other hand, almost all the IOPS during boot are reads. So, if you have a large enough cache or one that captures OS reads, the storage strain would be minimal.
However, there are situations beyond VM provisioning and boot up that affect IOPS, such as the logon process. The impact on IOPS when a user logs on depends on the way the profiles and policies are set up and how applications are delivered. Your storage system should optimize the VM image and user environment management. Plus, you need to consider whether all users will start working at the same time, which means you'd increase the amount of IOPS (and VDI storage) to accommodate them.
It takes a proactive approach to select the proper system, which means measuring IOPS needed and assessing tools that can offer the appropriate VDI storage performance.
ABOUT THE AUTHOR:
Frank Ohlhorst is an IT journalist who has also served as a network administrator and applications programmer before forming his own computer consulting firm.