Tech: Deploying XenDesktop without a SAN

citrix logo

These days Citrix seems more and more interested in turning its attention to the SMB market. Last week covered the investment in Kaviza and its VDI-in-a-box solution that lowers the infrastructure cost down below $500 per virtual desktop.

Last week Citrix also published an interesting technical article about how to configure XenDesktop in an environment that  doesn’t have a SAN:

For small and medium businesses that want to reap the benefits of XenDesktop, but that don’t have significant capital to invest in a high-end SAN, the use of local storage to host the write-cache drive would remove a significant implementation barrier. In most situations, the IOPS supported by the local storage system is the primary constraint limiting the number of virtual machines that could run on a single host. For a small or medium business that does not require high density, local drive caching would be a viable alternative.

A local storage array of eight 15K disks will supply 1200 to 1500 raw IOPS. Adjusting that for a RAID 10 configuration (which incurs a 2 IOPS write-penalty) and the VDI workload which is typically 90% writes and 10% reads you end up with a functional throughput of between 660 and 825 IOPS. In his blog, Dan provides a convincing set of numbers for specific operations that vary from 4 IOPS (normal working load) to 26 IOPS (Bootup).

Generally, the OS boot up sequence for a desktop can be controlled by bringing up the machines during an off-peak time. The second most intensive workload on the disk is generally considered to be the logon or logoff event with an IOPS requirement of around 15 IOPS. Since logons and logoffs occur more frequently within an environment, planning for that load is more realistic and cost effective.

If using 15 IOPS as the target workload per desktop and using the 8-disk RAID 10 array as described above, the number of desktops supported would be between 44 and 55. Of course, theory is one thing, practice is another. Therefore, the next logical step was to build the environment and test the theory.