Virtualization solutions for a small Linux server

openvzvirtualizationvmware-workstationxenserver

I have a little machine ( AMD Athlon 64 X2 2.1 GHz, 3GB of DDR2, 320GB disk space) that I use as a server,

I would like to convert it as an Hypervisor to host many little Linux Virtual Machines (between 128MB and 256MB of RAM per VM, just for some tests (I'm IT student)), but I don't know what solution choose (I need to host many servers softwares like Apache, Mysql/Postgresql, Samba, etc), I tried many :

VMWare Server: Not bad at all, compatible with all the other VMWare solutions (Workstation, Marketplace), good performances, but the Web UI is really buggy and that don't look very "scriptable".

XenServer: The Management Interface is really good, but I have very bad performances on Linux VM (Ubuntu Server take more than 30min to install instead of ~15min on VMWare server)

ProxmoxVE/OpenVZ: Really good solution, fit in 99% of cases, low memory overhead, fast, just perfect ! But there isn't a lot of compatible distribution (the Last Ubuntu server by example), but that not really a problem in my case, the real problem is the kernel, it's a bit locked, I wanted to create a iSCSI Target VM, but it's possible because that require kernel modification that are not allowed on this type of virtualization (Containers).

What do you recommend me ?

Thank you

Best Answer

I have spent the last year using OpenVZ and am currently using XenServer on a Compaq 2320D (Atom 330, 2GB RAM, 250GB HDD). Your little machine is better than mine. I will share some lessons learned from my blog.

I will assume that you are only planning on running Linux guest OS.

The biggest difference between OpenVZ and Xen is in the memory management. They do it differently. I do not know the exact differences but I was unable to smoothly run a simple server with 64MB RAM on OpenVZ but I could run a web-server + mysql + php on a 64MB Xen VM. It might be something to do with the swap capability in Xen which is not available on OpenVZ.

Then, there is the issue of networking. Configuring Xen is more straightforward. In my case, I had to have several broadcast capable VM on the network. With OpenVZ, this involved making several bridge configurations and not venet0 (well documented on their wiki) while on Xen, it was done by default just like how a real network card should work.

Finally, there is the issue of configuration. Trying to figure out how much privvmpages and other settings for OpenVZ was a nightmare. It was easy to just tell Xen to use XXMB of memory and be done with it. On the other hand, OpenVZ allows you to over-sell the amount of memory available while Xen does not.

Related Topic