35

I'm trying to decide on which of these to use. The ones I know about are:

Now ideally I'd like the following features:

  • Ideally to be able to boot a real partition rather than a file representing a virtual hard disk (so it's readable and writable by the host OS);
  • Have good networking support (for example, setting up virtual interfaces for KVM such that they can use DHCP to get a "real" IP address was painful);
  • Has good performance, using the VT hardware support where available;
  • Supports 64-bit guests;
  • Has a good graphical administrator tool; and
  • Has good support for scripting guest creation.
Peter Mortensen
  • 2,318
  • 5
  • 23
  • 24
cletus
  • 9,999
  • 9
  • 37
  • 40
  • 5
    One point about VT hardware support. VT doesn't have any real performance benefits vs. other techniques, it just makes it easier to implement a virtual machine monitor. – Mike Akers May 05 '09 at 22:11
  • Shopping Questions are Off-Topic on any of the [se] sites. See [Q&A is hard, lets go Shopping](http://blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-shopping) and the [FAQ] for more details. – Chris S Sep 20 '12 at 17:35

9 Answers9

20

Virtualbox, VMWare Workstation/Player/Server, QEMU, User-mode-linux etc fall into one category of VM - they're hosted within an existing OS, such as windows or linux.

Xen, KVM, VMWare ESX, fall into a different category - they're hypervisor based virtualisation stacks. They still have an OS that gets booted first, but they operate at a fundamentally different layer.

As to which one suits you best, it depends on what want to do with them. If you want to run VMs on your workstation, for development or testing purposes, then one of the hosted platforms (Virtualbox, VMWare Workstation etc), is ideal.

If you actually want a dedicated server environment for production systems, then you should be looking at the second category of systems, as they offer more advanced features which you may want down the line (server pooling, shared storage, live migration, high availability)

Daniel Lawson
  • 5,476
  • 22
  • 27
  • 8
    Get your facts straight. KVM runs within the Linux kernel, so you need a full Linux host system to use it. QEMU+KVM is not "fundamentally" different from VirtualBox & friends. – intgr Jan 29 '10 at 21:52
  • 3
    uh, yes. That's right, at least from a practical point of view. – Daniel Lawson Feb 08 '10 at 20:01
  • 1
    @intgr, sure, and so does ESX, but it's just the kernel, not a complete operating system with lots of programs and possibly even GUI, it's a minimal OS focused on only running virtual machines. – Mircea Chirea Oct 12 '10 at 09:37
  • 3
    "hypervisor" is mostly a bastardized buzzword that doesn't have a clear meaning. With that said - Xen, KVM, ESX, and VirtualBox are all tied in to the kernel. The fact that Xen, KVM, and VirtualBox run on a linux install doesn't really matter because they all run within the kernel, as does ESX except that ESX has it's own kernel rather than running in the linux kernel. – James May 19 '11 at 20:09
9

I'm pretty sure VirtualBox fits the bill for all of your criteria.

Sophie Alpert
  • 1,639
  • 1
  • 13
  • 16
  • 2
    VirtualBox can cover all the OPs feature requests. I did some performance testing with KVM, ESX, and VBox - VBox and ESX came out way ahead of KVM with VBox a little ahead of ESX. VBox has by far the best commandline usage IMO. Also, KVM requires cpu support, VBox does not and still runs just as fast without it (unlike the slower than heck Qemu). phpVirtualBox is the best interface that any of them have (VCenter is nice, but does not run on linux). – James May 19 '11 at 20:18
  • So, IMO, KVM is not even a contender. VBox beats ESX because it's open source and has an excellent web ui. ESX beats VBox in ease-of-setup. In the end, I use ESX at work and VBox at home. We've had ESX at work since before VBox existed; if I did it over, I would probably also use VBox at work. – James May 19 '11 at 20:21
7

Try Citrix XenServer (it's free!). We use it at work and it does the job really well. I've found it much faster than VMWare.

The only requirement from your list it doesn't fulfill is that you need a separate machine as a VM server. Then you can connect to the machines over the network using XenCenter admin console, which is very similar to VMWare one. The console is available for Windows, don't know about linux as I use Windows as a client.

ya23
  • 501
  • 1
  • 5
  • 9
  • Last time I tried Citrix the admin client was Windows only though that was a year or so ago. – Mark May 01 '09 at 08:30
  • It's possible it still is. I live in Windows-centric world... – ya23 May 01 '09 at 09:37
  • @Mark- they have added a linux support, you have to install the tools for it though, Windows support is install by default. – TStamper May 06 '09 at 14:27
  • last time I tried this.. I was requested to activate free license each month.. impossible for companies ) – holms Nov 09 '11 at 18:46
4

I use Virtual Machine Manager on my Fedora Linux. It's a front-end that uses Xen, Qemu and KVM. Very like VMware server.

setatakahashi
  • 1,457
  • 2
  • 13
  • 15
3

I use virtualization myself and I can very much recommend VMware server. Try out their ESX solution, it's free and incredibly powerful.

It installs as the OS on the host computer with only 32 MB ram overhead. (it's basicly a Linux with the VMware virtualization technology)

You can simply move running OS's to the VMware ESX, or import them from a drive. The admin tool is webbased and works like a charm. You can also use their 'Infrastructure client' on windows. Since it's completely free, it's very much worth trying.

Word of caution: Watch out with booting from a real partition. Stuff can get mangled if you boot the same partition from a virtual machine again. Sounds crazy, I know, but I've seen people try this and it almost always wrecks the OS.

(No, I don't have any affiliation with VMware, I'm just a very happy user)

Gert M
  • 1,471
  • 1
  • 15
  • 14
3

Just a note about your first requested feature.

Ideally to be able to boot a real partition rather than a file representing a virtual hard disk (so it's readable and writable by the host OS);

This shouldn't be a concern. You can generally mount any kind of file-based VM image using Linux's loopback device should you need to do so. This is true for raw, VHD, VMDK, qcow, etc.

Dan Carley
  • 25,617
  • 5
  • 53
  • 70
2

Virtualbox is a nice piece of virtualization software.

1

I really like VMWare Server. I use it on my Ubuntu box to run a 2003 Windows server and 2008 Windows server. It is pretty rock solid.

Steven Behnke
  • 335
  • 2
  • 3
  • which version of vmware server? I'm playing with the unsupported config of a win2008 guest in 1.0.9 and having inconsistent results. – DDM May 03 '09 at 07:09
  • VMWare Server 2.0.x I don't recall which .x though. It has been released for some time and I recommend upgrading. – Steven Behnke May 04 '09 at 18:07
1

I use VMWare Server and have since it was released. I believe it has all the features you mentioned although I've never used the feature to use an actual disk and am not sure about scripting guest creation.

I've used it both on my laptop (linux) and my desktop(Windows XP) for development purposes (testing software across multiple OS's) and am using it to run my webserver for my hosted sites as well.

dagorym
  • 396
  • 1
  • 4
  • 8