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

  • 1
    I'm not really answering your question, so I'll just comment: The reason your Ubuntu guest took so long to install in XenServer is because you were using a fully-virtualized VM rather than a paravirtualized. I've found that if you plow through the install and then convert to PV (or better yet, find a way to do the install in PV mode, which I never did) performance is just as good, if not better than other hypervisors (VMware, etc.)
    – ktower
    Feb 24, 2010 at 21:33

6 Answers 6


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.

  • So for you, Xen is better ? I don't have any problem on the memory management with OpenVZ, I can add swap (shown as standard RAM on the VM) But Xen looks really harder to manage, is there any solution that install everything like do Proxmox VE ?
    – Kedare
    Feb 25, 2010 at 19:20
  • XenServer installs everything and you are good to go. You can manage the system using OpenXenCenter/XenCenter/CLI. However, some people hate it. I don't know enough about it to say either way. I'm still learning Xen. As for the memory problems, yes you can add swap to the host machine but not to the VM. In Xen, you can add swap to the VM. And trying to fiddle around with all the OpenVZ limits is a bit tedious to me. Of course, YMMV.
    – sybreon
    Feb 26, 2010 at 9:18
  • I searched on the OpenVZ, they say we can add swap to a VM, it will see the swap as a memory space (to 256MB of RAM + 256MB of SWAP, the VM will see 512MB of memory), but OpenVZ will allocate in the memory if possible and if it's not possible (+256MB in this case), it will alloc in swap.
    – Kedare
    Feb 26, 2010 at 16:45
  • As you said, the VM does not 'see' the swap as swap. Whether or not the swap is used is controlled by the host machine. In my case, the 1Gb swap was never used and still VMs run out of memory. It might be a configuration error but tweaking the memory settings is not easy.
    – sybreon
    Feb 26, 2010 at 17:22

I would give VMWare ESXi a shot. You should still be able to find 3.5i, which works on machines with less than 4 gigs of ram. In my experience, ESXi is simpler to use than the Xen counterparts, which seem to have somewhat more hefty requirements.

  • I tried to install it, but ESXi is not compatible with my server :(
    – Kedare
    Feb 24, 2010 at 18:27
  • Did you try the latest version? I know that from version 4 it requires 4 gigs of ram, but I've had a lot of luck with 3.5 on various hardware configurations.
    – user27787
    Feb 24, 2010 at 19:27
  • I tried the 3.5 version, that was not compatible with my Ethernet controller, I try with 4.0u1 to see if that work ;)
    – Kedare
    Feb 24, 2010 at 19:41
  • I just tried 4.0u2 and the ethernet controller is still not compatible :(
    – Kedare
    Feb 24, 2010 at 19:54
  • That's kind of a bummer. If it's just the ethernet controller that's not compatible, you can pick up an Intel nic real cheap that is compatible. I know for a fact that this one will work: newegg.com/Product/Product.aspx?Item=N82E16833106121
    – user27787
    Feb 24, 2010 at 22:15

The speed between VMWare and XenServer should be similar. But it depends on a lot of things like what what sort of drive you were presenting the guest. For instance VirtIO drives will be much faster than an qemu emulated ide or scsi drive. But the guest OS has to support VirtIO drivers. Ubuntu Server 9.04 and newer support virtio.

Another option that you may want to look into is KVM. It's similar to Xen in that it uses qemu and libvirt and can by controlled via many of the same tools such as virt-manager or convirt. It however is just a module that you load in Linux not a stand alone hypervisor.

I currently use KVM and virt-manager on my laptop for my test IT Lab.

  • Getting bridging, etc... working on kvm was difficult and it doesn't play well with Virtualbox. Currently, the kvm kernel module must be unloaded if you want the Virtualbox kernel module to load. That being said, I found either to be quite usable alone. I thought kvm was a bit better for headless / vnc servers and virtualbox was better for UI.
    – Paul
    Feb 24, 2010 at 18:56
  • Yeah bridging the network is a bit more of a manual setup with KVM. I believe this is something the KVM project/RedHat are working on making easier. If all you want to do is virtualize a desktop gui then VirtualBox is a nicer option. I use it to run XP on my workstation at work...mainly b/c my workstation doesn't support hardware virtualization. But more often than not I'm either accessing VM's via ssh or interacting with the services that are running on them. In production at work we use Xen. So I got my hands in many virtualization technologies. Feb 24, 2010 at 21:36
  • These projects also looks interesting when dealing with networking VM's openvswitch.org and vde.sourceforge.net I've not used either of these yet. Feb 24, 2010 at 21:42

After you've installed VMware Server, point your browser to https://yourserver:8333/client/VMware-viclient.exe and install the VMware Infrastructure Client. Now you don't have to rely on that horrid web interface for everything (if you're base OS is windows...).

Some other free options that you might check out would be VMware Player and VirtualBox. VMware Player is pretty full featured and now includes the ability to create VMs with the most recent version. Similar to Workstation really, but I don't think it lets you do snapshots.

I tend to stick with the VMware products, but the few times I've used VirtualBox I've been impressed with the performance and flexibility.

  • Looks like that don't work anymore (the VMware Infrastructure Client) with VMWare Server 2.X :(
    – Kedare
    Feb 24, 2010 at 19:32
  • Weird. I just did it on a VMware Server 2.0 machine.
    – Chris_K
    Feb 24, 2010 at 20:09
  • On a windows server running VMware server the infrastructure client is (by default) at C:\Program Files\VMware\VMware Server\hostd\docroot\client Perhaps look in the equivalent on your Linux server? (granted, that's a windows binary... )
    – Chris_K
    Feb 24, 2010 at 20:13
  • I tried a "locate .exe" (after updatedb) on the server, but no client found :(
    – Kedare
    Feb 24, 2010 at 20:16
  • Well, I'll email you the windows client if that is something you could use :-)
    – Chris_K
    Feb 24, 2010 at 20:57

If you're Windows shop, Hyper-V (R2 of course) and some Windows-based iSCSI target solution feeding shared storage to the hypervisor cluster (like StarWind f.e.) should do the trick. It's possible to have everything close to free of charge to run. If you want to run some Linux Xen should be a good option. I'd stay away from container thing as it's not really mature from my point of view yet... Unless you're doing this for test & development and not for production of course :)



I suggest that you use VirtualBox running on a lightweight server distro like Debian or Ubuntu Server (or similar). VirtualBox gives you a few options to run with/without a gui, and it's SDK is scriptable on Linux via Python.

I do suggest the downloadable version from virtualbox.org instead of the OSE version that's in the repos/out there. It adds a few nice features, such as USB support.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.