Wednesday, February 2, 2011

Virtualizing Provisioning Server (PVS)?

I have deployed environments in which the PVS servers where physical and I have deployed environments where they were virtual, so of course either is a valid approach.  It got me thinking however,when might a physical PVS server be more appropriate than a virtual one?

Virtual Desktop Infrastructure (VDI) creates hotspots on your SAN infrastructure if you are not careful.  This is quite easy to do if you focus to much on space and not enough on throughput.  For example; you may not need a lot of drives in order to provide space for your virtual desktops because a single drive has high storage capacity.  This is especially true if you are using PVS server. 

Keep in mind though that in environments that scale, Citrix recommends that the PVS cache is stored on local drives to the desktop.  With virtual desktops  this offloads the caching IO to the LUN storing the virtual machines.  Each drive in a SAN can only provide so much IOPS (Input/Output Operations Per Second) so although the number of drives may meet the storage requirement it may be inadequate for the throughput.  Storage virtualization does deal with this is some respects by aggregating the underlying spindles but it  limits visibility.

If you have not properly planned and designed your environment “you may be putting to many eggs (or vms) in your (LUN) basket”. 

In environments designed for scale, separating the image streaming PVS servers from the virtual cluster will provide better scalability and a better VM to PVS server ratio.  If you are designing your environment to be modular you may want the PVS servers segregated to ensure that the delivery of images can be provided to multiple virtual clusters.   

Even though your physical PVS server will likely still store the vDisks on a SAN attached volume, deploying a physical server with a separate SAN  attached LUN allows you greater visibility and greater flexibility if you need to move it. 

All of this can be configured in virtual hardware (using Pass through LUNs) however it stands to reason that if you are going to scale the PVS server to 1000’s of desktops you may not want the network paths, I/O and Storage paths to be shared within the virtual desktop infrastructure.  In addition you have the option of redirecting the PVS cache to solid state drives on the PVS server if it is physical.

While either approach is valid, the decision on when the PVS server should be physical is related to scale.  This is not an absolute though, as we know that virtualizing provides better linear scale than an application installed natively on a server.  It is also a question of control and visibility on the load that is generated on the PVS server.  The last factor is the assurance of performance by not forcing the PVS server to share network and storage paths with the virtual desktop instances.