Author

I am Joannes Vermorel, founder at Lokad. I am also an engineer from the Corps des Mines who initially graduated from the ENS.

I have been passionate about computer science, software matters and data mining for almost two decades. (RSS - ATOM)

Meta
« Cloud computing: a personal review about Azure, Amazon, Google Engine, VMWare and the others | Main | Embedding maths in a Google Gadget »
Sunday
Nov022008

Installing VMWare Server 2.0 on a OVH RPS

A French hosting company called OVH provides an interesting offer named Real Private Server (RPS) as a intermediate solution between cloud computing and classical dedicated hosting. In a nutshell, RPS is a true dedicated server that comes with a virtual storage starting at 10 GB and going up to 1 TB.

OVH is pricing RPS very aggressively - 20EUR/month for a dual-core AMD64 and 2EUR /month/10GB - makes the RPS a very interesting offer for backup servers that essentially need a lot of reliable storage. It's roughly at the level of the Amazon S3 storage pricing (but you get a regular drive for that price).

Disclaimer: OVH offers rock-bottom hosting prices, but do not expect any support from the OVH staff. This approach might not suit your needs, make sure that you can live without contacts with the staff of your hosting provider before migrating anything to OVH. Then, don't expect much less than 48h of delay for almost any operation that need to be performed on the OVH side. Thus, if you plan to migrate to OVH, consider at least two weeks of delay to get things started smoothly (I mean delay and not actual work).

In this post, I will explain how to install VMWare Server 2.0 on a RPS box of OVH. Having little experience with Linux, I spend two full days on the case, and I got the feeling that it was quite a complicated and painful process. May this guide helps those who might follow the same path.

The process goes with

  • Preparing your partitions and OS install.

  • Getting the kernel source.

  • Adding modules and recompiling the kernel

  • Rebooting in HD mode.

  • Some preliminary tweaks for modules

  • Grab VMWare through Lynx

  • Install VMWare

  • Tweak your IPTables to get a remote access

First, go to the OVH website, select your RSP and pay. I suggest to go for RSP 3 (because of the 2 GB of RAM) and to directly opt for at least 10 GB of extra storage - otherwise you're likely to be short of storage when running your virtual machines. At this point, you're good for 48h of delay to get your RPS ready. Once your RPS is ready the first step consists of reinstalling the OS because the default one is not very suited for the VMWare install.

Go to the Manager webapp provided by OVH, select your RPS and choose Reinstall OS. I have been using the following parameters

  • Fedora Core 8 - English

  • iSCSI with 5 GB for / and the rest for /home.

Fedora Core 8 has been chosen for its support of the RPM packages. Indeed, in my experience the RPM install VMWare Server 2.0 was the least dreadful option.

Caution: do not select NFS, I learned the hard way that RSP is not able to boot on a NFS disk which will be necessary for VMWare. Then, the default partition settings is granting only 3 GB for the root partition with is too short, I suggest to go for 5 GB which was sufficient in my situation.

Launch the reinstall. The process is likely to take 1h - upon termination you get a notification email with the new access codes of your server.

At that point comes the difficult part: VMWare Server needs kernel modules that aren't included in any Linux distributions offered by OVH. Thus, you need to grad the kernel sources, recompile them with modules and finally deploy your fresh boot image.

You can download the kernel sources provided by OVH and compile them with

cd /usr/src
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/linux-2.6.24.5-ovh.tar.bz2
tar xf linux-2.6.24.5-ovh.tar.bz2
cd linux-2.6.24.5-ovh
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/2.6-config-xxxx-std-ipv4-32
mv 2.6-config-xxxx-std-ipv4-32 .config
make menuconfig
make

When the kernel configuration screen appears, just select Load alternative configuration, open the .config file, then selects the modules (initially unchecked) and exit and save. See also made-in-ovh for more stuff provided by OVH to tweak your Linux servers.

The kernel compilation takes about 30min.
Time to get a cup of coffee.

Now that you have a freshly compiled kernel, you need to copy the boot image into your /boot directly. First, go to OVH Manager, select your RPS, and within the Netboot options, choose HD which stands for local hard drive. For performance RPS are normally booting on shared kernel instances, thus you need to force the RPS to boot on its local drive, otherwise your boot changes will have no effect.

Then, in your RPS, you go with

yum install emacs
cp arch/i386/boot/bzImage /boot/2.6-config-custom-std-ipv4-32
emacs /etc/lilo.conf
/sbin/lilo
shutdown -r now

This will let you edit your LILO boot settings using emacs (you can use whatever editor you like). In the lilo.conf file, change the boot image name for the name of your newly copied image. You are now restarting with a custom kernel that supports modules.

Let's install VMWare Server. OK, the main joke about downloading VMWare is that you can't use wget because you have to go through VMWare web interface instead. Note that you can't cheat VMWare by cut-and-pasting the temporary download links, I tried, it does not work.

So I had to resort to the lynx web text browser (I had not been using it since ages) to actually grab your RPM file. Since lynx isn't exactly a super convenient way of surfing on the web, I suggest to first register on VMWare and then perform the last download step with lynx.

VMWare Server 2.0 is weighting 500 MB, that's why I told you to set 5 GB for your root partition.

Then, install VMWare Server with

rpm -i VMware-server-2.0.0-122956.i386.rpm

The first run is going to fail because VMWare complains that a module directory is missing.

Couldn't open directory /lib/modules/2.6.24.5-xxxx-std-ipv4-32

Just manually create the missing directory with

cd /lib/modules
mkdir 2.6.24.5-xxxx-std-ipv4-32

Although, it's a dirty hack, VMWare does not seem to need those modules anyway. Once the dummy module directory has been created, run the VMWare install.

Lost 4h on that one step.

Now that we have succeeded at installing VMWare Server, let's configure it with

/usr/bin/vmware-config.pl

Choose defaults. When asked for your kernel source code, enter the location where you've just compiled your kernel. It should be /usr/src/linux-2.6.24.5-ovh/include. When asked where to put your virtual machines choose /home/virtual-machines because you've got more storage on the /home partition. Enter your free VMWare license (you get it on the download page of VMWare).

At this point, VMWare Server is running. The version 2.0 comes with a very nice web administration interface (by default at https://localhost:8333/) but this interface is not remotely reachable yet because it's blocked by your default firewall settings. You need to add two lines to your iptables settings.

emacs /etc/sysconfig/iptables
# insert the following lines
# -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8222 -j ACCEPT
# -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8333 -j ACCEPT
service iptables restart

Caution: I suggest to add those two lines just below the line that deals with the port 22 (the port used to perform SSH). Indeed, appending the lines at the end of the file is unlikely to work, because the input connections might have been already rejected by another iptables rule. After saving your changes, you need to restart the service.

Check that your VMWare web access console is remotely reachable. Good. Now, one more tweak

service vmware-autostart start

In order to let VMWare starts automatically at boot time.

This completes the setup of VMWare Server 2.0 on a RPS. If you've managed to do it in less than 4h, I am impressed.

Yet, the job isn't finished because you need now to setup your virtual machine. The hard part comes from the network settings, because OVH does not support the bridged networking setup. Stay tuned.

Reader Comments (10)

Thanks for this post - it saved us after a long battle with VMware following the upgrade from VMware Server 1 :)

January 4, 2009 | Unregistered CommenterLuke

Hello,

Thanks for your post. I am not installing VMWare (although I did OpenVZ in the past on a dedicated box) but would be interested in knowing more about how you managed to boot your OVH RPS from the HDD. I am trying to run a standard Fedora kernel as it contains support for the FUSE module by default, which OVH's old netboot kernel does not.

I have tried a myriad of approaches and come a bit closer each time although I still get stuck during boot.

The latest error messages copied from vKVM screen:

"No filesystem could mount root, tried: ext3 iso9660"

"Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)"

LILO.CONF:

[root@rXXXX ~]# cat /etc/lilo.conf
prompt
timeout=50
default=linux
boot=/dev/sda
map=/boot/System.map-2.6.27.9-159.fc10.i686
install=/boot/boot.b
lba32
#serial=0,9600n8

image=/boot/vmlinuz-2.6.27.9-159.fc10.i686
label=linux
read-only
root=/dev/ram0
initrd=/initrd-iscsi.img
append="libusual.bias=ub"
[root@rXXXX ~]#

Please let me know what may be missing to be able to boot RPS from HDD.

Thanking you in advance,

Johan

January 13, 2009 | Unregistered CommenterJohan

Sorry, Johan, I am far from being an expert, and I have no idea here. In my situation, booting from HDD was straighforward once the installation has been done on iSCSI (remember: it wasn't working with NFS).

January 13, 2009 | Unregistered Commenterjoannes

Same here, no expert :-)

I did select iSCSI and not NFS, so it should work. Just missing something...!

Would you mind emailing me or pasting your bootloader configuration here (/etc/lilo.conf or /boot/grub/grub.conf) so I could compare it against my setup?

Best regards!

January 13, 2009 | Unregistered CommenterJohan

Sorry, I have stopped my RPS a few weeks ago, I don't have such data any more.

January 13, 2009 | Unregistered Commenterjoannes

Congratulations, you really helped me a lot, now I'm starting to hate the network configuration, it is possible? I am trying to do through dummy0 but VMware Server 2 does not load everything correctly, you can help me please? I'm desperate.

Starting VMware services:
Virtual machine monitor..........................................failed
Virtual machine communication interface....................done
VM communication interface socket family..................failed
Virtual ethernet.......................................... ...........failed
Bridged networking on /dev/vmnet0...........................done
Host-only networking on /dev/vmnet1 (background)......done
DHCP server on /dev/vmnet1.....................................done

I don't understand, sigh..

Thanks again.

February 4, 2009 | Unregistered Commenterzid

Sorry Zid, I never managed to get the network working. That was actually the reason why I stopped my RPS.

February 4, 2009 | Unregistered Commenterjoannes

Hi again,

joannes, I followed this steps and I ran the VMware Server 2.0 perfectly.

Install:
http://forum.ovh.co.uk/showthread.php?t=933

Network config:
http://blog.guiguiabloc.fr/index.php/2008/10/28/vmware-server-20-sur-dedies-ovh-et-mise-en-oeuvre-dune-solution-de-haute-disponibilite-avec-datastore-en-drbd/

The secret is dummy0. :)

bye.

February 10, 2009 | Unregistered Commenterzid

Is it possibile to use the Failover between RPS ? (move the IP from one RPS to the other)
I read that NFS would allow clustering. Placing the VM in NFS and using the IP Failover would allow to migrate a VM from an RPS to the other in less than a minute. but you say that NFS won't work: is it possible to have part of the storage via iSCSI (to boot) and part of it via NFS (to be shared between RPS) ?

March 23, 2009 | Unregistered CommenterStefano Bagnara

[...] in francese (che non conosco) ma anche in inglese, usate come guida: Joannes Vermorel’s Installing VMWare Server 2.0 on a OVH RPS Softilion’s OVH: monter un serveur dédié Windows Server avec une licence déjà acquise par [...]

Comments for this entry have been disabled. Additional comments may not be added to this entry at this time.