Lately I have been questioning myself whether VDI really need expensive enterprise storage arrays (SAN) to run VDI environments. The points I raise here may not apply to all organizations but certainly there are aspects to be observed.
Assuming User Profiles are hosted in a file server, why couldn’t virtual desktops run from the server local storage?
Perhaps the quick answer is the lack of high availability and live migration. One of the principles of VDI is that virtual desktops should be disposable and non-persistent (ok, in some use cases). Also, in a cluster, if you lose a host there would always be another host to take over the workload and a new virtual desktops can be quickly provisioned if necessary.
What about power users that need special applications?
Well, with use of application virtualization tools available on the market, applications could be associated to each user during logon time, and based on group policy objects and AD authentication.
If CPU and Memory are not a problem nowadays, certainly IO is. For the last 10 years the maximum operations/s achievable with fast spinning drives at 15K RPM was about 175 IOPS. When combined into a RAID1 this number goes down to approximately 85 IOPS. (Here is a good article from Steve Chamber discussing IOPS). Today with SSD (Solid State Drives) it is possible to push these numbers up to 6000 IOPS (Uncertain about RAID1).
Real-life virtual desktops consume anywhere between 10 and 25 IOPS depending on usage patterns. (Again, here’s a good article from Chad Sakac about VDI workloads). Averaging this number to 18 IOPS would allow a server to host up to 333 virtual desktops. Off course, there is no hardware kit today that would support this number of virtual desktops.
So, in summary, today IOps is not a problem and with Solid State Drive prices plummeting to as low as $2000 for 500GB it is easy to consider not using expensive enterprise storage arrays for VDI solutions. Yet, if the VDI solution is combined with Linked Cloning technology is it possible to reduce the drive costs to as low as $500 since less storage is required.
In some extreme circumstances is it even possible to consider a single drive per host server.
In real-life VDI scenarios it is possible to run up to around 120 virtual desktops in a single host. This number would only produce an average of 2160 IOPS, easy for a SSD drive.
Sometime ago, I deployed a VDI solution for a call-center where the virtual desktops were all the same (non-persistent) and some applications would only appear to certain users. With dual-quad core servers I was able to host approximately 60 virtual desktops per host running the VMs from a local storage using 15K RPM drives. This was a very specific circumstance where call-centre agents don’t do anything other than keeping their web applications open all the time, so not much IO. However, it shows us that it is possible to NOT think about shared storage.
So, Does VDI really required shared Enterprise Array Storage?