A few months ago I wrote an article called "F*** the SAN. VDI storage should be local!" where I argued that for most VDI implementations it's actually a waste of money to boot and run desktop images from a SAN. Instead, I believe, all desktop booting should be local (well, "local" to the VDI server) while only user data is stored on a SAN/NAS/file server. I feel this is especially possible in environments with shared master / non-persistent images since it would be relatively easy to ensure your master images were fresh and ready to go on each VDI host. And even for 1-to-1 persistent disk environments, streaming products like Citrix Provisioning Services, Double-Take Flex, and Wyse Streaming Manager are all cheaper than a SAN.
That article generated over 70 comments—some agreeing and some not—but the main argument against using local storage was that it just wasn't fast enough to support the IOPS needed for good desktop performance. A 1U server might be able to support 50 or more users, but even with eight spindles of 2.5" SAS drives, you still couldn't get the disk I/O you needed to support the performance.
Shifting gears for a second, there are a lot of virtual storage vendors on the market. In the past year I've talked to NetApp, Virsto, FalconStor, Xiotech, Atlantis, Unidesk, 3PAR, WhipTail, Sanbolic, Datacore... I could go on and on. While the exact workings of the products created by these companies differ, there are a bunch of common techniques they use to increase the performance of storage, including things like memory caching, combining SSD and magnetic disks, serialization of writes, new fancier versions of RAID, etc. Some of these storage vendors offer storage appliances, some offer software that "converts" a server into a SAN, and some offer virtual appliances. But in almost all cases, these products require you to build a dedicated storage box or they're still limited by the physical storage hardware of the VM host.
So I wonder: Does anyone know if there's a virtual storage product out there—most likely a virtual appliance—that "virtualized" the local storage of a VM host? I'm thinking of this in the context of performance. The ideal scenario (based on today's hardware pricing) is that I could buy maybe six magnetic drives and two SSDs for a VDI host, and then I'd install this storage virtualization component locally on the host and it would just sort of automagically figure out where stuff should be stored based on capacity and IO requirements. I'm thinking it could be sort of like HSM, except with memory cache, SSD, and magnetic drives.
In shared image / non-persistent VDI, something like this probably isn't necessary because you could just manually configure the master images to come from an SSD while the per-VM delta files and caches could come from magnetic disk. But of course most VDI today is 1-to-1 persistent disk, so if you have 50 VMDK files that you're streaming to your host, it's not possible to manually divide them between SSD and magnetic in any way that makes sense. So I want some kind of product that can combine SSD and magnetic spindles into a single sort of "super volume" which I can use for everything that happens on the VM host, and then the storage virtualization software can automatically figure out which blocks (or whatever?) should be magnetic and which should be SSD. (Or the storage software addresses the disks in some other way that allows my to get the IOPS without filling my server with SSD.)
As a customer I think I'd be ok buying one or two SSDs per server, but obviously those are still really expensive and I'd imagine that a virtual storage software solution would be cheaper than SSDs or a SAN.
What are your thoughts? Did I just describe a product that already exists that I don't know about? (I'm not a "storage guy.") Or is this just a dumb idea?