One of the attractive points of Citrix’s XenDesktop is that it includes XenServer to use as a hypervisor to support your guest desktops. However after 5 months of using XenServer with XenDesktop and some organizational changes at my currently place of employment which opened up some ESX licenses, I’ve decided to migrate my XenDesktop environment to VMware.
A couple of points on XenServer – XenServer isn’t necessarily “bad”. In my opinion its a nice fit in the SMB market place. Recently Citrix announced that XenServer is now free and there are these Essentials packs that go along with it. To be honest, its a little confusing what’s free and what isn’t. I also seem to think that Citrix is sorta pushing XenServer to the back burner and putting more of its efforts into Hyper-V for XenDesktop.
XenServer has no snapshot capabilities. While snapshots aren’t really a heavily needed feature if you’re using Provisioning Server, it is a nice to have. The one issue that kills me with XenServer is how it writes VM’s to NFS mounts (or any shared storage for that matter) Instead of using a simple folder structure with the name of the VM’s, it creates VHD files named after the GUID of the VM which makes identifying a VM’s VHD a royal pain in the arse.
XenServer also has no memory over commit like VMware has with ballooning. I don’t really see this as a big of a deal because I don’t really over commit memory on VMware either. However, the VMware vs. “the rest of the hypervisors” community really likes to get hung up on this. Big deal, you get to squeeze 1 more VM on ESX then XenServer.
Performance wise I thought XenServer performed well, but I did have some stability issues. I was running XenServer on Dell m600 blades and it did randomly reboot almost on a weekly basis.
With that being said – I decided to migrate to VMware. Now, I’m not saying this is the only way to migrate XenServer to ESX, I’m sure there are other ways and looking back at it, I probably should have done a couple things differently
XenDesktop Desktop Controller
The first step was to migrate my existing Desktop Controller running in XenServer to ESX. This was pretty straight forward. Using VMware Converter I just P2V’d the live VM to ESX. I had heard grumblings that VMware Converter can convert straight-up VHD files. However with the latest version, I did not see those options anywhere. Even trying to “force” Converter to migrate a VHD file failed. I just migrated it like any other stand-alone server. Once the conversion completed, I went back and uninstalled XenTools and re-assigned the same IP address the server had in XenServer. Relatively simple…
Citrix PVS vDisks
Luckily for me, my PVS server was a physical server that is doing some other duties. All my PVS images sit on an iSCSI lun so there was no conversion needed there. However, my disk images were all based off XenServer so when trying to stream a desktop to a PXE booted ESX VM, it of course blue screened. This is where I should have done something different. The approach I took was to just fire up the streamed VM in XenServer and again run VMware Converter to convert the XP VM to ESX. Keep in mind, you no longer have a PVS vDisk in VMware, you just have a clone of your original vDisk. I cleaned up the ESX XP VM by uninstalling XenTools. Next step was to create a new vDisk, present it to the XP VM in ESX and run the PVS Image Building utility again. For some reason I did have to uninstall and re-install the PVS Target Device software in the XP VM for it to recognize the Citrix Virtual Disk I was imaging to.
Looking back at this…It might of been easier to switch the vDisk to private and stream it to XenServer, then install VMware tools within that disk image. I don’t know what kind of conflict may exist installing VMware Tools in a VM running on XenServer though.
The next part was getting XenDesktop to work with VMware. There are a few posts on the Citrix XenDesktop forums about this. Because VirtualCenter communications is done thru HTTPS, there are a couple of things you have to do to make this work.
- First, you need to edit the host file on your Desktop Controller (and your PVS server is they’re seperate) and add an entry called “vmware” with the IP address of your VirtualCenter server.
- You then need to import the certificate for VirtualCenter into the Trusted Root Certificated store on your XDC. The certicate can be found on your Virtual Center server in C:Documents and SettingsAll UsersApplication DatavmwareVirtual CenterSSLrui.cert.
The reason behind this is because the certificate VMware uses for VirtualCenter is called “vmware”. The posts regarding this can be found here.
When you run the Create Desktop Group Wizard, the entry should read https://vmware/sdk. There are some other work arounds for this like enabling HTTP access to vCenter, etc, but I think this is the easiest.
That last bit of the migration has nothing to do with XenServer or VMware, but more of a XenDesktop issue. If you’re using the XenDesktop Desktop Creation Wizard, there is no option to specify where the VM’s get created. In my environment I have my Datacenters defined by geographic location, then I have Production and Development clusters. I decided to create a new cluster for XenDesktop within one of my Datacenters. Here’s the kicker though – Because templates are stored at the Datacenter level, XenDesktop will create new desktop where ever it feels like in the Datacenter; Production, Development, XenDesktop – wherever it feels like. I’m doing a little more investigation into how and why this behaves like this. So long story short – I created a new Datacenter called VDI with clusters based on geographic locations. I created a new PXE booting VM with an empty 1GB vmdk (for saving write-cache) and turned it into a template within the XenDesktop datacenter….seems to work well so far.
The final step was just to reprovision new desktops using the Desktop Creation Wizard using the new template in VMware and the converted vDisk (of course, after flipping it back to a Standard disk) and changing the group access within the AMC.
If anyone has any other experiences migration XenDesktop from XenServer to VMware, please drop a note, I’d be interested in hearing about it!