20070424

VMware server virtualization

At work we had an old server with Suse 8.1 installed. While planning to convert it to Debian and install some new SATA controllers and disks I had the idea of converting it to a virtual server to minimize the down time.
I started the machine with a rescue CD and did a dd image of the physical hard disk on an external USB 2.0 drive.

dd if=/dev/hda of=/external/server_hda.img

and then converted the image to a VMware image

qemu-img convert -f raw server_hda.img -O vmdk server_hda.vmdk

You can find the qemu-img utility in the Debian qemu package.

After that it was just a matter of copying the vmdk to the machine on which the VMware server was to be installed.

VMware server was downloaded from http://www.vmware.com/download/server/ (about 100 Mb).
I selected the tar.gz because the target OS was Debian.
To let it work correctly in Debian I also had to download the vmware-any-any update from http://ftp.cvut.cz/vmware/

I also downloaded the Management Interface from the VMware site to my workstation, and installed it. It provides a nice GUI for the virtual servers.
After extracting the downloaded files I launched the provided install scripts.

First the VMware server as root with ./vmware-install.pl, but didn't start the configuration. The any-any update has to be applied with ./runme.pl
For the configuration and rebuilding of the VMware modules some tools are needed, which can be installed with

apt-get install libx11-6 libx11-dev libxtst6 xinetd build-essential

this is probably somewhere redundant

apt-get install gcc binutils-doc make manpages-dev autoconf automake1.9 libtool flex bison gdb libc6-dev gcc-2.95-doc

and because it didn't work the first time I installed also

apt-get install libxt6 libxrender1

So the underlying software was ready. It was time to configure the virtual server. I started with the advanced version and defined the VM as a Suse Linux and that I already have a disk file and then started the new VM.
It booted immediately.

When I was in the console of the virtualized system I checked the /etc/fstab and removed all the unused entries. The second thing was to let the system load the appropriate module for the network interface. I therefore looked at /etc/modules.conf and changed the line with
alias eth0 somemodule to alias eth0 pcnet32
which is the module for the virtual Ethernet card.

After that I rebooted the system to be sure that all the services come up right and the "new" server was ready.

No comments: