The goals of most desktop virtualization projects are reduced costs and efficient support operations, but building a storage infrastructure for virtual desktops has its challenges.
[This story was updated June 2013]
Virtual desktop infrastructure (VDI) enables IT departments to centralize the applications and services offered on their users’ desktops into the data center. Users have some sort of “thin client” device locally but typically have no local data or applications installed. The desktop operating system runs within a virtual machine (VM) in the virtual infrastructure. Although analogous to server virtualization in that virtual hosts are placed on physical server resources, VDI presents some different and unique challenges for data storage management.
A typical Windows virtual desktop deployment may require more than 20 GB of shared storage capacity, depending on the applications installed. In addition, each of those desktops on average will consume 5 IOPS to 10 IOPS, rising to about 10 times that at 50 IOPS to 100 IOPS during boot time. Configuring storage for virtual desktops is usually as much about achieving appropriate levels of performance as it is about allocating ample disk capacity.
The centralization issue
Boot storms create flood of I/Os
Virtual desktop infrastructure (VDI) creates a profile of highly random I/O with the highest IOPS peaks occurring during “boot storms” when many users attempt to boot up their virtual systems simultaneously. While high-performance storage systems and media such as solid-state drives can help alleviate this problem, the challenge then becomes an exercise within total cost of ownership (TCO) boundaries that justify desktop centralization in the first place.
When desktops are dispersed across the IT infrastructure, the disk capacity they require is generally provided by low-cost SATA drives installed within each physical machine. A directly attached SATA drive is capable of meeting even the maximum I/O demands of a typical desktop. Any performance impact or data loss from a drive will only affect that PC or laptop. As storage is centralized, the potential impact of storage-related problems is significantly increased, with any data loss possibly affecting hundreds or thousands of users. In addition, centralization of desktop data in a VDI environment creates a large random I/O workload profile, which is the most challenging to deliver on storage arrays.
Maintaining adequate I/O performance also requires dealing with large I/O peaks known as “boot storms.” VDI is user driven and users typically log into their desktops in the morning and log out as they prepare to leave work at the end of the day. Most users logon activity is likely to occur between 8 a.m. and 10 a.m., creating a boot storm that generates a large number of read requests as the desktops start up. Similarly, at the end of the day when users log off, saving their work and closing down their desktops, large amounts of random write I/Os are generated. Both of these peaks must be addressed by the VDI infrastructure as any delay in response translates directly into lost productivity.
TCO and ROI
You must also consider the issue of total cost of ownership (TCO) and the return on investment (ROI) of deploying a virtual desktop infrastructure. The savings realized by deploying VDI come from reducing end-user hardware costs, including the cost of the physical device, as well as the costs associated with ongoing maintenance, and the technical and administrative support required to manage multiple instances of desktop operating systems.
As desktop storage is centralized into the infrastructure supporting the virtual desktops, the cost of deployment of the storage piece can be high, as required performance and capacity levels can be challenging to achieve.
You should consider any opportunity to reduce storage consumption as essential within a VDI deployment. There are two space-reduction technologies that fit well with VDI: thin provisioning and data deduplication. Thin provisioning ensures that virtual desktops use only the capacity required to accommodate the data that’s actually written to disk by the host operating system regardless of how much capacity the desktop is actually allocated. So if a desktop’s drive is configured for 20 GB but only 10 GB is actually used, then the thin volume appears as 10 GB rather than the 20 GB that’s been allocated. Thin provisioning provides the opportunity to size VDI drives based on future requirements without wasting current resources.
Deduplication technology finds common files or blocks within a storage array and eliminates duplicate copies, while retaining metadata and setting pointers to track shared usage. Within VDI environments, deduplication is an excellent technology for storage space reduction. Typically, desktops are built from a master image, which is a customized desktop created especially for VDI environments. Individual desktops are replicated from the master image by creating clones. The clones yield excellent deduplication ratios, as most of the desktop content is static operating system data. On certain VDI platforms such as VMware View, deduplication is managed within software through the use of replicas and linked clones that automatically handle the tracking of changed data.
SAN vs. NAS
In any discussion of storage space reduction for virtual desktops, it’s worth spending a moment to address the storage protocol alternatives for VDI deployments. Storage for VDI can use either block (storage-area network [SAN]) or file-level protocols (network-attached storage [NAS]). Both platforms may offer the space-saving features described here, but the implementations differ slightly. The VDI layer typically handles cloning and replication on block-based solutions, but in file-based implementations cloning is performed by the storage array itself. At the outset this may not seem an important distinction; however, it does enable the work of creating clones to be offloaded to the array itself.
Persistent and non-persistent desktops
VDI desktops can be deployed with the ability to retain user configuration settings (such as shortcuts) across boots; these are known as persistent desktops. Non-persistent desktops don’t retain any configuration information between boots and effectively reset the user each time the virtual desktop starts up. In addition, local user data can be provided through mapping to a local file server.
Any storage system space-saving features will have a tradeoff in terms of sacrificing some performance. The master images and replicas deployed in a VDI solution will be subject to significant read I/O activity, so they should be placed on the fastest storage media available, preferably solid-state drives (SSDs).
Of course it's not essential to place all virtual desktop data on SSDs -- it will likely be cost-prohibitive to do so. Where possible, tiered storage implementations should be used to allow high-performing devices such as SSDs to handle the most active VDI data. Storage tiering is therefore essential in VDI solutions to achieve TCO and ROI benefits.
Storage vendors typically address VDI storage requirements by deploying high-performing storage based on SSD and Fibre Channel drives. However, there are a number of other vendor approaches that specifically deliver optimized storage for VDI.
Atlantis Computing Inc. offers Atlantis ILIO, a software application optimized for VDI environments based on Citrix XenDesktop and VMware View. The ILIO software layer reduces latency, I/O to physical disk and storage capacity requirements. As a result, VDI solutions using ILIO can be deployed simply using low-cost, high-capacity SATA drives.
NetApp Inc. filers are well suited for VDI deployments. NetApp’s Write Anywhere File Layout (WAFL) file system effectively converts random I/O into sequential writes, making it suitable for VDI deployments. NetApp Flash Cache (formerly called Performance Acceleration Module or PAM) cards accelerate read requests, caching master images and replicas. Finally, NetApp FlexClones enable virtual desktops to be easily replicated from master images while requiring only very small amounts of storage overhead.
Both Nimbus Data Systems Inc. and Pure Storage Inc. offer solid-state arrays for VDI. Solid-state arrays are excellent at meeting random I/O. Products from Nimbus and Pure Storage use compression and deduplication to reduce the TCO of deploying SSD arrays.
The VDI storage bottom line
Deploying storage for virtual desktops is all about managing random I/O and high IOPS demand. These requirements must be balanced against the ROI of consolidating desktops into the data center, otherwise the benefit and savings from implementing VDI may fail to be achieved.
BIO: Chris Evans is a UK-based storage consultant. He maintains The Storage Architect blog.