Wednesday, June 06, 2007

converting a physical server using VMware Converter

This morning, I spent some time converting a physical server to a virtual machine using VMware Converter. Here's a good starter page of info to work from, the VMware Converter FAQ, if you do not know the capabilities of VMware Converter:

One detractor from the Converter is that you cannot convert a physical Linux machine to a VMware VM. Oh well.

In this case, however, the physical server was a Windows 2000 Professional machine and is home to my digital audio workstation. This box has a myriad of applications on it, from Cool Edit to Cakewalk and Cubase to Rebirth and Reason. I was planning on building out a newer, more powerful server using the case that the Win2K Professional is in and I don't want to take time and effort to reinstall those applications on my XP box. Also, I don't want to slow the XP box down with a crapload of new applications gobbing up the registry, so it makes sense that I convert my 2000 box to a virtual machine. Also, once virtualized, I will then be able to use the audio workstation in either of my primary environments, XP or Fedora.

VMware Converter is installed on my XP Professional machine. So here is the plan:
-Start VMware Converter on XP
- Convert a physical computer, my Windows 2000 digital audio workstation, to a virtual machine
- Create a Windows share on my XP machine and use the share as the destination for the conversion

The process was relatively pain-free and quick. Here's what I did.
1) on XP, I started VMware Converter. There is a splash screen and then I was given a choice of source computer for the conversion. I chose "Physical Computer:"

2) Converter asks for the name or IP of the remote machine and my authentication credentials:

3) Once logged in, Converter asks to temporarily install Converter Agent on the source machine. I chose to manually uninstall the files later if anything went wrong during the conversion process:

4) Converter then shows the system or active drives on the OS to convert. My setup of one active system drive is the simplest scenario:

5) Converter asked me for a vm name and a location (ie, a network share) to write the destination vm to:

6) Next, I could specify a dynamic virtual disk or a fixed allocation for better performance. In order to save space on my main system, I chose dynamic ("Allow virtual disk files to grow"):

7) Converter asks what type of networking I'd like. Bridged is the default and I accept it:

8) I chose no network or hostname customizations:

9) At this point, Converter displays a summary screen and is ready for me to start the import.

10) One small snag: since I just installed the Converter Agent on the source machine, Converter needs to reboot the source machine to make the Agent active. I click "Yes:"

11) Unfortunately, after the reboot of the source server, the install hangs and does not progress. Figuring that it might be related to the recent Converter Agent install, I stopped the import. I recreated the conversion steps above (steps 1-10). After rebuilding the import project, the conversion started up again successfully and I saw the Progress column "% Done" increment higher:

12) Happily, the conversion works!

Now, after I powered up my new Windows 2000 virtual machine running under VMware Server on my XP box, I see that the underlying motherboard, cdrom and various system devices change. Uh oh!

Be aware of this if you migrate a physical computer to a virtual machine! Virtual machines under VMware are based on the Intel 440BX motherboards and Phoenix BIOS 4.0 Release 6.0:

You'll also see VMware BIOS build 245 if you enable the Boot-Time Diagnostic Screen:

In order to be prepared for automatic system reconfiguration that Windows will do when it sees its new "motherboard", the best idea for you is to have an I386 on your hard drive or a CD with all your system drivers ready to go after the conversion. That way, the process will be pretty painless, outside of reconfiguring your display settings!

Even with the snag, this process took about an hour and a half from start to finish. Now I have my darling digital audio workstation forever enshrined as a virtual machine usable in either of my XP or Fedora environments. Sweet!

UPDATE: VMware server doesn't support sound, but VMware Player does support it. Also, VMware Player sets its config file for the virtual machine to use Sound Blaster emulation. In truth, the emulation should be Creative AudioPCI (ES1371,ES1373). Therefore, if you have working sound on your host system, but not on the vm running in VMware Player, you need to change your virtual machine's .vmx file to enable sound:
sound.present = "TRUE"
sound.virtualDev = "es1371"
sound.filename = "-1"
sound.autodetect = "TRUE"

Just make sure to edit/add the lines while your virtual machine is powered off. It would be nice if VMware could somehow do a pass-through to the actual hardware device installed on the host. Unfortunately, this is currently not possible. So I cannot take advantage of my M-Audio Delta 66 card. BOO HOO! :(

I've detailed this sound driver problem in this post:

I hope this is a nice primer for those wishing to undertake the process of converting a physical machine to a virtual one.

Here's a related article on VM performance

Good luck!


HuLsH said...

I see that you are pretty good with WMvare and wanted to ask you a Q about a similar problem that i have in my firm.

I am trying to move my virtual Cisco Unified Communications Manager 6 installed on VMware Server 1.8 to ESXi 4
The thing is that when CUCM is installed on VMware Server one thing need to be adjusted. virtual disk`s must not be bigger than 2gb, so there are a few of them. When i upload it to ESXi it automaticly merdges them all together witch crashes CUCM.

any idea how to tell ESXi not to merdge .vmdk ???

Cacasodo said...

Sorry HuLsH,
Offhand, I do not know the solution to that. Drop a line on the VMware Community forums..they'd know:

HuLsH said...

No prob, thanks anyway !

Keep up the good work, nice blog btw !

Feel free to drop me a line or ask me a question.