Some quick thoughts on the state of desktop virtualization tools…
If you’ve been checking out my RAC articles, you’ll have probably noticed I’m a bit of a VMware fan. I originally used VMware Workstation, but switched to the free VMware Server when it was released in 2006. I don’t have much cause to complain about VMware Server, but it’s always good to take a look at the competition to see if I’m missing out…
I guess before I start talking about virtualization, I should define what I mean by desktop virtualization. For me, “server” virtualization tools should install on the bare-bones hardware, like Oracle VM and VMware ESXi. I don’t want to waste resources on having a host OS running as well as my virtual machine. On the other hand, desktop virtualization tools should run on top of my host OS, so I can play about with other operating systems, but don’t have to dedicate my hardware to that task.
Even though the name contains the word “Server”, I still think of this as a desktop virtualization tool as it installs on top of the host OS, not on the bare-bones hardware. That said, it’s the most server-like of the desktop virtualization tools I’ve used. It’s very stable and very feature rich. That’s a good point for someone like me, but may be off-putting to the more casual users.
I guess the standout feature for me is the ability to share disks between VMs. This makes RAC installations using ASM, OCFS2 and raw disks possible, which is a pretty big thing for me. Obviously, if you never do RAC installations using shared disks this is irrelevant.
I guess my only real gripe about this product is VMware are slow to add new OS support. I’ve been waiting for the final release of version 2.0 for a long time, so I still don’t have proper RHEL5 support. That said, I’ve not yet run into any problems running RHEL5 or any other OS, so I guess I’m being mega-picky considering it’s free.
If you’re an Apple fan you are out of luck. VMware Server is a Linux and Windows tool only. That’s not as much of a limitation as it sounds since it’s supposed to be a server tool. VMware Fusion supports Macs, but it’s not free.
I got my current laptop about 1 year ago and it came with Windows Vista. I tried to use VMware Server on it and ran into a bunch of network related problems. I knew some people who were using Parallels Workstation on Apple Macs and I saw from the website it was compatible with Vista, so I spent some money and got a copy of it.
Parallels was easy to use and “did what it said on the tin”. I had no problems running Windows and Linux guests, but it wouldn’t let me share virtual disks between VMs and it cost money. The first point was a major issue for me. The second one wasn’t so bad, but a little annoying when I was used to using a free product.
While using Parallels on my laptop I was still using VMware Server on my main Linux boxes. Not long after buying parallels I found a solution to my VMware Server on Vista networking issues, so I switched back to VMware Server and never launched Parallels again.
I guess Parallels trump card has been the support for Apple Macs, so you can use one tool for Windows, Linux and Mac.
This has been knocking on the door of VMware for some time. I guess two really big steps for Xen, as far as people like me are concerned, have been its inclusion in enterprise distributions, like RHEL5, and the introduction of Oracle VM. The enterprise linux distributions (Red Hat, SUSE etc.) approach is to run Xen on top of the Host operating system, making it look very much like a desktop tool. This is a bit unfair as it’s certainly got more to it than that, but that’s how it appears. Oracle’s approach with Oracle VM is to “remove” the host OS and allow it to be installed on bare-bones hardware. I say “remove” because it is still there, but it’s a very small footprint, not a complete kernel+tools installation. This is much the same as the approach used by VMware ESXi. The inclusion in heavyweight distributions like RHEL and its use by Oracle in Oracle VM send out a strong signal about the power of Xen.
As soon as I got my hands on CentOS 5, I gave Xen a try and was pleasantly surprised. It works well and has the “server clout” that some of the other tools lack. When chatting to some Red Hat staff about a year ago, the general consensus was Xen out-performs VMware for Linux VMs, but it a little slower than VMware for Windows VMs. I’m not sure if that position has altered since then and I certainly have no evidence to backup that statement.
I guess the biggest issue for most people will be that Xen is only available on Linux. That’s fine as far as server virtualization is concerned, but it means it drops off the map where desktop virtualization is concerned because it’s still a MIcrosoft world out there.
Available for about 18 months, and acquired by Sun about 5 months ago, I only noticed VirtualBox a few weeks ago when I was looking through the “Add/Remove Applications” utility on Ubuntu 8. A bit of Googling and it turned out to be the current darling of desktop virtualization. Of course, now I know it exists I can’t go a day without noticing someone else writing about it. So today I thought I would give it a shot, which ultimately inspired this post.
I’ve done a test drive of Virtual Box Open Source Edition (OSE) on Ubuntu and it’s pretty sweet. The interface is very simple and it works fine. I can’t speak for the paid-for product, but the OSE edition has no pretensions of being a server virtualization product, so it lacks some of the things I hold dear, like shared disks. What’s more, looking through the forum, it is unlikely to add this type of functionality in the near future, as its quite rightly not considered a must-have for the desktop.
If you are thinking about running Oracle 11g on VirtualBox, you might want to read this post by Eddie Awad.
I guess the two big plus points in favor of Virtual Box are its free, and its available for Windows, Linux and Mac. Those two alone make it pretty compelling.
I know there’s a bunch of other virtualization tool out there, but I don’t consider any of them particularly mainstream. I know Microsoft Virtual PC 2007 could be considered a biggy, but I would never use a Windows only product like this because I’m not a Windows only guy. Call me biased, but it is my blog.
Update: Look at Qemu if you need non-x86 emulation, or coLinux if you only use Linux VMs.
For the time being I will be sticking with VMware Server. The main reason for this is it allows me to do my RAC installations using shared disks. Added to that, I can share my VMs between my Linux and Windows boxes with no problems.
If you don’t need shared disks I would seriously consider VirtualBox because it’s simple, free and supports all the right platforms. Seems like the obvious choice for most people.
I’m interested to know your feelings on these and other products. After all, I’m just speaking from my experience of them and it’s always good hear differing opinions.