Friday, December 10, 2010

V2V Conversion of a Redhat Xen VM to vSphere

I was involved in converting some Redhat Xen based VMs to VMware ESXi recently and found out that the conversion doesn't work straight away without any tweaks. So here is how we went about getting it done. Pretty simple, but just in-case anyone needs it..

1. Find and Copy the normal kernel ( not the xen-kernel, the one that is installed by default ) rpm package on to the Xen based VM that is to be converted.

2. Convert the Xen based VM using the VMware Converter like its done on any other machine.

3. Once the conversion is complete, on the ESXi host, attach the appropriate Redhat installation media ( 1st CD, DVD ) to the newly created VM cdrom.

4. Startup the converted VM with the attached Redhat installation media and boot into the rescue mode with "linux rescue"

5. Once the system boots in to the rescue mode, it should automatically detect the Redhat Linux installation and mount it in to /mnt/sysimage. Do a "chroot /mnt/sysimage".

6. Install the previously copied kernel rpm from within the chroot'ed environment, using "rpm -i". Once the installation is complete take a look at the grub.conf and see if the necessary entries have been made by the installer. -not really necessary, installer will do the job properly every-single-time! :-)

7. Exit from the rescue environment, detach the Redhat installation media and boot up the VM with the newly installed kernel.

That pretty much sums it all up. The reason why a kernel installation is necessary is, Xen kernel on a guest system is quite different from a normal kernel, and is specifically designed to run on top of a Xen Host. ( Something to do with having front-end device drivers etc.. I never finished reading up about this ) This process shouldn't be necessary for a KVM based VM, as the guests are unmodified on that platform. I have yet to try this.

Hope this helps.

sysprep stuff

note to self

Ran in to some hassle with finding appropriate syspreps with VMware vCenter Converter. Quite simple as it turned out to locate them, but i keep forgetting what to put and where.

Simply extract and copy all the contents of the appropriate package from this VMware KB article into the location that is displayed in the table. And remember, its not just the sysprep.exe it needs, but also the accompanying files as well.

Hope i won't run into anymore time-wasting situations by forgetting this. Another thing worth noting is, in case a conversion was done without the proper packages in place, you can always initiate a reconfigure of the that VM using the Converter after making sure necessary files are in place.