Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|improve this question
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 '10 at 21:33
add comment

6 Answers

up vote 1 down vote accepted

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.

share|improve this answer
    
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 '10 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 '10 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 '10 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 '10 at 17:22
add comment

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.

share|improve this answer
    
I tried to install it, but ESXi is not compatible with my server :( –  Kedare Feb 24 '10 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 '10 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 '10 at 19:41
    
I just tried 4.0u2 and the ethernet controller is still not compatible :( –  Kedare Feb 24 '10 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 '10 at 22:15
show 1 more comment

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.

share|improve this answer
    
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 '10 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. –  3dinfluence Feb 24 '10 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. –  3dinfluence Feb 24 '10 at 21:42
add comment

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.

share|improve this answer
    
Looks like that don't work anymore (the VMware Infrastructure Client) with VMWare Server 2.X :( –  Kedare Feb 24 '10 at 19:32
    
Weird. I just did it on a VMware Server 2.0 machine. –  Chris_K Feb 24 '10 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 '10 at 20:13
    
I tried a "locate .exe" (after updatedb) on the server, but no client found :( –  Kedare Feb 24 '10 at 20:16
    
Well, I'll email you the windows client if that is something you could use :-) –  Chris_K Feb 24 '10 at 20:57
add comment

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 :)

-ichiro

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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