Converting VMware Workstation to ESXi
Saturday, October 31st, 2009If, like me, you’ve been using VMware Workstation for a long time, it is quite possible you’ll have dozens of “Workstation” virtual machines littering up your PC. Now you’ve just built a shiny new ESXi virtualisation server, is it possible to convert those ‘desktop’ VMs into something ESXi can handle?
The answer to that is a definite ‘yes’. The tool of choice is a freebie download from VMware themselves, called the VMware vCenter Converter Standalone 4.0.1. It’s a versatile tool, too: if you’ve got Microsoft Virtual PC VMs, it can process them; it will even convert a Symantec Ghost image of a (real, physical) PC into an ESXi-compatible VM. Actually, it can even convert live, running physical PCs into ESXi VMs, which seems devilishly clever to me!
It’s a big download (103MB or so). When you go to install it, you get a choice between a ‘local’ and a ‘client-server’ installation. I picked the local option, so that all VM conversions will take place directly on my Windows 7 desktop (as opposed to me managing them from my desktop but all the heavy lifting taking place on a remote server -definitely an option worth investigating at work!). The conversion process itself is very simple: point the Converter tool at the .vmx file which represents your “desktop” VM’s configuration file; connect the Converter to the ESXi server; choose which of the ESXi’s datastores you want the converted VM to end up on; and then sit back and wait.
In pictures, here’s how the process looks for an XP VM I had with a 30GB virtual hard disk. Once the program is running, select the Convert Machine option from the top toolbar:
You then select your source type (in my case, a VMware Virtual Machine) and point the tool at the .vmx file for that virtual machine:
You then attach to your ESXi server, providing the relevant log on details:
Probably the most important bit is then to specify whereabouts on that ESXi server (which ‘datastore’ in the jargon) you want your VM to be transported to:
You then get a summary screen of what’s about to be converted, and each section of the conversion process can be edited:
So, although my original desktop VM had been assigned 2GB of RAM, I might only want to assign 512MB (for example) to the converted VM when it migrates over to the ESXi server. Click ‘Next’ after that and you get one final confirmation of what’s about to happen. Click ‘Finish’ on that screen, and it all starts happening. My 30GB XP VM was converted and moved to my new ESXi server in 25 minutes flat, which seems pretty reasonable to me. The VMware Tools that were previously installed in the ‘desktop VM’ had to be upgraded manually once the machine was running on the ESXi server, but otherwise everything else was taken care of perfectly.
Another issue that arose with this specific VM Guest conversion was that the XP guest suddenly went silent on me: no sound device existed in the converted machine where one had existed and functioned just fine in the original ‘desktop’ version. That’s curable, however, by following these instructions in the VMware knowledge base, so no permanent harm done. (It raises the question, I suppose, of why one would ever actually want a VM running on a remote server to pipe sound back to your desktop PC via the network: you’re always going to have latency/contention/traffic volume issues, after all. Still it’s nice to know you can do it if you really want to.) Having followed those knowledge base instructions, you still won’t be able to get the XP VM to do sound from within the vSphere Client, claiming that no audi device exists in the XP VM at all; but if you use a Remote Desktop Connection to it, you’ll find the XP machine able to use the ‘Microsoft RDP Audio Driver’, and sound will then be piped across the network.
It’s all incredibly neat and works beautifully.
(Just one niggle: sometimes, when I’d filled in the ESXi logon details and clicked Next, I was told that my session had not been authenticated -and the conversion process won’t take place until it has been. The fact that I definitely supplied the correct username and password wasn’t, apparently, enough. Well, it turns out that this is quite a common problem that (apparently) arises from time differences between your client session and the ESXi server clock. A reboot of your client (in my case, of my Windows 7 desktop) was sufficient to allow me to re-start the wizard and this time authenticate perfectly.











