Absolutely, Virtualize Citrix Provisioning Server!
Citrix senior architect Nicholas Rintalin
wrote this blog entry today. A few minutes after it hit Twitter, customers started e-mailing me with the link: "Eli, have you read this? Citrix says not to virtualize Provisioning Server (PVS); why did we virtualize ours?" My immediate reply to these customers and before reading the blog: "Are you having any technical issues with PVS right now or since it was installed as virtualized server?" the answer was, "Well no, but Citrix...," and my answer was, "Well that is your answer to Citrix."
Then customers started e-mailing me, asking should we invite Citrix to see how PVS works virtualized, streaming to 800 physical machines and over 1,000 virtual machines? And my answer was, absolutely e-mail the author; he is from Citrix Consulting Services.
When I finally got around to reading the article, I started to giggle because you can tell the author (whom I have never met, by the way) is a consultant, and like a consultant doesn't give a straight answer. But he did say elusively and eloquently, the following (paraphrased from his blog, so they're my words):
- You can virtualize PVS, just not on XenServer, because we don't support LACP yet and there is a CPU bottleneck in DOM0. But considering we have a hypervisor that will not support this properly, we can't flat out recommend it. However, you might get away with virtualizing it using ESX
- The author then quotes Ron Oglesby's book and finally says, "It depends."
On the second point, Ron, I do know, and salute. And quoting Ron's book is not fair. That book was written many years ago when we were still recommending to not virtualize Exchange, SQL Server or XenApp, for that matter. Today, unless there is a hardware requirement that prevents you from virtualizing a server or the hardware specs are completely unacceptable (such as loading a VM with 64Gb of memory), there should be no viable reason not to virtualize anything. With VAAI, StorageLink and the ability to attach RAW Disk Mappings directly into VMs, these instances are extremely rare.
Furthermore, as a consultant, I always recommend testing first before ruling it out. Instead of making an assumption, test it. Not sure what Citrix Consulting is seeing, but all the deployments we have done are all PVS-virtualized on vSphere, which runs like a champ.
Now consider this scenario, what if I am deploying a large XenDesktop over vSphere model and I want to place a PVS server on each ESX host and stream locally, therefore, completely bypassing the network -- is that a bottleneck too? No, that is perfect, that is my version of Citrix IntelliCache without hypervisor lock-in.
What if I virtualize PVS today and I dedicate a physical NIC to it and isolate it on its own vSwitch? Would that provide adequate performance? Absolutely, and if you would like to see it in action, drop me a note.
As consultants we are obligated to give the pros and cons of our products, but I can see how, when you are a consultant working for a vendor, obligations can become difficult. So I sympathize with Nick. What is he going to say -- don't use XenServer, put it on vSphere? That would not work, but nonetheless, please don't blog about it; you confuse people if you are unable to be neutral.
I know, I know, you did mention it will work with vSphere. You did say that nicely and you did say that every one has a different opinion on this, but the reaction that I got was Citrix is not recommending we virtualize PVS.
But I say it works wonderfully!
Posted by Elias Khnaser on 02/24/2011 at 12:49 PM