Monday, February 8, 2010

Why choose VirtualBox over vmware on ubuntu 9.10/9.04 Server x64

After using vmware for about 2 months on a server, to see the performance, I found that vmware server 2.x is more or less useless on an Ubuntu server.

Reasons:
  1. iostat ! vmware writes all RAM access to /tmp as well. This is no problem if you just double your ram and put /tmp in RAM. vmware says this is due to how the Linux Kernel is made. well... Real reason: Buy some licenses on the other vmware products, and this won't happen.
  2. Web Management Console. Ever experienced it to not crash when you do more than 3-4 settings per session?
  3. Memory usage. All VMs are using about 25-35% more than set.
  4. vmware tools. Ever tried uninstalling them on a Windows Server 2008 R2 64 bit? Or tried updating them on any client? It's just horrible. Even their "cleanup" utility doesn't clean anything except the installation entry. No support for Ubuntu 9.04 or 9.10.
  5. Boot times for vms is more than double of virtualbox.
  6. No USB support for vms on ubuntu 9.10 as host os, or 9.04.

After changing to VirtualBox running in headless mode, I thought I would go back to vmware after a week. VirtualBox seems more client-virualization. But I was wrong!

Reasons:

  1. iostat. No writing of memory to /tmp = performance increase or more free memory depending on the setup
  2. VBoxManage. Anything you need to do can be done through a command line.
  3. Memory Usage. 5-10% more than assigned to the VMs. that's a lot less than vmware.
  4. VirtualBox Guest Additions. They just work. install, uninstall, update. Ubuntu 9.04, 9.10
  5. Boot times is about half of vmware
  6. USB just works out of the box.

The main factor is of course the io usage. Even when you have /tmp in RAM, vmware will always write/read every single ram entry twice. Maybe it's better when you have power failure, but a UPS isn't that big investment, and if this is for production, you need a UPS anyhow.

The only thing I find better in vmware is host-only networking. But seeing the slow development of vmware-server and the fast pace of virtualbox, I see only one winner. vmware is still the dinosaur, because they are known in the market, but for everyone that doesn't think a cmd line is complicated: Do yourself a favore and choose virtualbox on Ubuntu 9.04 or 9.10.

I have tried every tip for changing swap behaviour, having swaps on different drives, tmp in ram etc, and I still find VirtualBox performing way better on 1 drive with all swap/tmp and virtual harddrives on the same drive, than vmware with multiple drives, keeping swap/tmp and virtual hdds apart.