I'm in the process of migrating off ESXi 4.0 to Xenserver 6.0. Citrix's tools for moving my 2k8 VMs worked flawlessly in one go. The challenge oddly enough has been the Debian Lenny VM.
Moving the VM from VMWare to Citrix can be done in two ways.
1.) Use the XenConvert on the VMDK to import the VM
2.) Use CloneZilla to image the original VM, make a new VM in Xenserver and image it back. (Clonezilla sees the hard disk as /dev/sda)
I did both in two separate runs, the results were identical. So take your pick.
Here's the fun part.
VMWare with tools installed:
Hard drive dev flag: /dev/sda
CDRom Dev Flag: /dev/hda
So, when you boot in Xen, the server can't find the kernel and the boot bails out. You can modify grub to point the hard disk at /dev/hda1 instead of /dev/sda1 and it will crank right up. A quick look in /dev reveals the dev flags for hard disk and cdrom are now:
Hard Drive: /dev/hda
This is where I get confused because CloneZilla saw /dev/sda, but the storage tab in XenCenter shows the drive's device path as /dev/hda. So after modifying /etc/fstab and /boot/grub/menu.lst to point at the appropriate dev flags, the VM boots properly.
So then you think you're going to be brilliant and install the Xentools! Reboot... and you're back to square one. Xentools's installation script put menu.list back to /dev/sda1 and no such dev flag exists.
Not only have the dev flags moved again, but apparently Citrix's Debian 5 specific installation script thinks they should be sda when they aren't. Mind you, the info in the storage tab in XenCenter still says /dev/hda
Hard Drive: /dev/xvda
Modify /etc/fstab and /boot/grub/menu.list again to point at the new dev flags and it will boot again with the paravirtual tools happy and working.
Here's hoping that saves someone some time, it's been a few days of arguing to get this information out of this system. Overall I like Xenserver more than ESXi, it's two lines of instructions on my console to export a VM to a Samba share (eat that VMWare!). But the lack of a window to show a defined series of virtual hardware that you can customize makes Xen a little harder to use. The only things you can really add / remove from the VM's hardware are the NICs.
Also, Xen emulates Realtek interfaces... and you all know how I feel about those!
And before anyone asks, yes I have tried to get Xentools installed in Untangle. No, they will never work.
Why? Untangle has a custom kernel, with some special stuff in it. Xen does the exact same thing to do what it does. So if you want Xentools you have to run a Xentools kernel.
So unless there is a way to compile a kernel that has both Xentools customizations AND Untangle customizations at the same time, Xentools is a no go. VMWare's use of basic drivers in this case is a superior implementation IMHO. I haven't played with Hyper-V yet to see how that works, but I will soon.
Fortunately, I don't see any real performance loss with my tests of Untangle operating within Xen without the tools installed. And since Untangle has very specific hardware requirements, I don't see much of an advantage to ever having them. VMWare was similar to be honest, VMTools are nice, but there is little benefit to having them in an Untangle VM beyond having the graphical environment let go of the mouse.