In most VDI projects, administrators replace a huge number of cheap disks in users' PCs with a smaller number of...
expensive disks in the data center. That setup brings storage performance challenges, but solid-state storage can help.
Solid-state storage is a great fit for virtual desktop infrastructure (VDI) environments because of its high rate of storage transactions per dollar. Before you implement VDI -- or if you're having issues with VDI performance -- do the math and determine if solid-state drives (SSDs) are what you need.
Dealing with VDI capacity problems
The first problem with VDI storage is capacity. When you deploy desktops into the data center, you're replacing the disks in the users' PCs with data center storage. For example, 500 users multiplied by 40 GB of disk capacity means 20 TB of disk are being replaced. That's an awful lot of storage, particularly at storage area network (SAN) disk pricing.
Happily, many capacity issues can be sorted out using golden master techniques such as VMware Linked Clones or Citrix Provisioning Server. You can store a full copy of the disk on the user's own disk, but keeping the changes he made. In that case, the capacity requirement is more like 40 GB plus 6 GB per user, making it closer to 3 TB of storage for the 500-user example.
If the desktops aren't persistent, you can reduce the VDI storage requirements even more because the changes for each desktop don't need to be kept after the user logs off.
What's the problem with VDI storage?
Once you've got capacity figured out, you have to deal with the transaction rate problem that comes with VDI, which is measured in IOPS. Take this example: 500 users multiplied by 80 IOPS from each of those desktop disks means that 40,000 IOPS are being replaced. Most of the time, you don't need all those IOPS. An average user working with a desktop only needs 10 to 20 IOPS.
When a user logs on, the desktop restarts, or updates are applied to the desktop, and that generates a whole lot of I/O. Since the amount of I/O for certain activities is fixed, a storage system capable of fewer IOPS will simply take longer to complete them. If the disk system allows 20 IOPS per user and every user logs on at the same time, it will take four times longer than their old PCs for the logon to complete. I doubt that would make anyone happy.
How solid-state storage can help
Solid-state storage has a reputation for being very expensive and very fast, while capable of dealing with lots of IOPS. For instance, a typical enterprise-grade SSD can deliver more than 10,000 IOPS, but a high-performance spinning disk can only deliver around 200 IOPS. If you want to replace all the IOPS from 500 desktop disks, you would need about 200 fast spinning disks, but only three enterprise solid-state disks. Even if the SSD is 20 times the price per disk of the spinning disk, it's still going to be cheaper to buy the required number of IOPS.
More on VDI storage
Guide to VDI storage management
Storage requirements for a VDI environment
Improving storage performance by understanding IOPS
One of the interesting characteristics of SSDs is that they tend to get more IOPS as they get more capacity. This means that a solid state-based SAN can deliver astonishing IOPS figures -- often hundreds of thousands of IOPS with a few terabytes of capacity. All that storage can be delivered in a couple of rack units and a few hundred watts of power.
Unfortunately, these small storage devices can cost as much as a fully populated enterprise array full of spinning disks. But think about it this way: Those disks don't get more IOPS as they get larger, but only as they spin faster. So getting the same amount of IOPS requires a lot of disks and therefore a lot of space and power.
Other ways to implement SSDs
There are a lot of ways to set up solid-state storage in a virtual desktop environment.
In fact, you can even place the SSDs inside servers, virtualization hosts or provisioning servers. Placing a couple of SSDs in each physical server and adding more servers as you need more capacity and better performance is a nice, scalable solution. This approach works extremely well when the desktops are disposable. They return to a clean state when the user logs off.
Placing SSDs inside servers also works well with Citrix Provisioning Server, or with storage appliances that turn local storage into shared storage, such as the NexentaVSA for VMware View. These tools allow you to have smaller and cheaper building blocks than SANs, letting you scale with growth or plan more closely for the actual user count.
Solid-state storage is a great solution to the IOPS problem that can hamper VDI rollouts. You just need to make peace with the price of the storage and think about the value it delivers.