Archive for January, 2013

Virtual Desktop Infrastructure (VDI) and networked storage

January 11, 2013 1 comment

As a CIO you may get tasked by your CEO with identifying a solution for say 10,000 employees who need to move around the company but still have access to their desktop environment (applications, data).  The employees might use a laptop computer one day, an iPAD the next but still expect to access all the same applications and have their data remain consistent across locations.  Before you invite your embedded storage vendor to give you a high powered pitch on “why our enterprise storage is the only one for VDI” you may wish to explore a few alternative solutions.

remote workersBefore we embark, let us get some terminology out of the way:

Virtual Desktop Infrastructure or “VDI” refers to the scenario where a user’s desktop no longer resides on a desktop or laptop computer but instead resides in a virtual machine running over a hypervisor (software that creates and runs virtual machines) on a high end server residing in a corporate data center.  The end user uses a “thin client” which could be a notebook computer or even an iPAD to access compute resources from this centrally located server.  All applications and data continue to reside on the central server.

VDI using VMware (or Microsoft or Citrix) hypervisors solves one part of the problem.  You run the virtualization vendor’s hypervisor  on a high end server and have the server assign virtual machines (VM) images to each desktop.  The servers connect to direct attached storage  (DAS) or to networked storage – which could be block storage accessed over an iSCSI or Fibre Channel SAN or file storage accessed over Ethernet.  While this solution is elegant in its simplicity, it creates some new issues:

  • When ~10,000 employees get into the office at 9 am and all of them bring up their desktops this results in “boot storms”.  During the end of quarter when salespeople are trying to close deals  and finance personnel are trying to close the books, there is contention for IO from all the desktops owned by finance and sales.
  • While tools like VMware View Composer allow you to make thousands of clones of a single virtual machine, your networked storage is now under a heavy burden as it is expected to store images for these thousands of desktops.   In addition, networked storage uses spinning disks and disks like having data written to them in a sequential fashion so they may cache it and then write the data with minimal movement of the heads.  However VDI results in servers sending IO streams which are small block, random in nature and which are predominantly writes.  This in turn makes poor use of the networked storage resulting in poor desktop performance and unhappy users.

You ask yourself:

  • Is there a way to better use my existing networked storage (NAS, SAN) by reducing IO bottlenecks? 
  • Should I do away with networked storage and use only direct-attached-storage (DAS)? 
  • Should I do away with storage altogether and rely on just RAM in my servers to serve up VDI?

A solution that addresses all of the above involves VMware (no reason you can’t use Microsoft Hyper-V) for server virtualization, Cisco UCS (or HP or Dell) blade servers for the compute, 3rd party software from  Atlantis Computing or Virsto for the remaining magic.  Be aware that if you go the VMware route you’ll be looking at least:

  • VMware vSphere for the virtualization
  • VMware vCenter to configure, provision and manage your VMs
  • VMware Composer to take a single VM and clone it numerous times
  • VMware View Planner to simulate client desktop workloads so you head off unhappy customers
  • VMware View Persona Mgmt. to ensure that user data and settings are stored in a central profile

Here are 2 ways to address this problem:

  • Deploy Atlantis Computing ILIO software – This physically runs in a VM on the hypervisor in the server.  Logically it sits between other VMs (supporting the virtual desktops) on the hypervisor and the VDI storage which would be your networked storage from EMC, NetApp, HP or IBM.  ILIO provides an NFS or iSCSI interface to the VMs but provides NFS, iSCSI or Fibre channel interfaces to your existing networked storage.  ILIO processes all the VDI traffic locally with Windows NTFS content awareness within the server.  This means less traffic goes to your networked storage.  In addition ILIO does inline de-duplication of VDI images before they reach your storage – this translates into fewer Windows image components actually stored on your relatively expensive networked storage! (no doubt providing validation  to your CEO’s favorite mantra of “Do more with less!”).   Cisco claims that such a solution will work out to ~$200 per seat if you decide to forego networked storage and deploy what they call “diskless VDI”.  Customers who use this solution include Colt a European service provider with a 30,000 seat VDI deployment.
  • Deploy Virsto for vSphere 2.0 software (Virsto was acquired by VMware) – This software also runs in a VM on the hypervisor but works by intercepting random writes from the hypervisor, writing them  to a dedicated write log in a serial manner then de-staging to a copy of the virtual hard disk (VHD) residing in your networked storage.  In other words it takes away the pesky “random writes” that your storage loves to hate.  Virsto claims to have a customer base that includes big names like Microsoft, Fiserv, Bechtel and others.  Virsto claims that for a 3000 seat VDI deployment you can get by with just 3 TB of SSD (instead of 97TB).  Pricing appears to start at $2500 per TB.

What if you don’t like the idea of loading additional licenses and software on your central servers?  You have appliance based alternatives like that from Astute Networks which allows you to keep your networked storage intact but buy dedicated inline appliances (1500 users supported per appliance) to address the I/O bottleneck problem introduced by VDI.  Any of these three approaches gives you a way to deploy VDI without buying additional networked storage capacity or by doing away altogether with networked storage for your VDI project.