A A
RSS

Virtualization in Linux: A Review of Four Software Choices

Mon, Mar 2, 2009

Tweet this!

Introduction

This week Canonical, the company behind Ubuntu Linux, announced a partnership with Parallels, maker of the Virtualization products Parallels Workstation and Parallels Desktop for Mac. Consequently, the Parallels Workstation virtualization software is now available to download and install in Ubuntu Linux, completely supported by Canonical, and done entirely through the Add/Remove programs interface. This makes four different virtualization programs — three of which are installable via the package repositories — that run on Ubuntu Linux. (See the Correction: in the Installing VirtualBox section for more information)

This article compares four virtualization products available for Ubuntu Linux: the free, open source x86 emulator Qemu; the closed-but-free versions of VirtualBox and VMware-Server, and the commercial Parallels Workstation.

Installation

Installing Qemu
Installing Qemu is simple, with a twist: Qemu supports the KVM, or the Kernel Virtualization Machine, which enables it to use certain acceleration techniques that the other programs don’t use. As a result, we’re going to install a few extra packages along with the Qemu package itself:

sudo apt-get install qemu qemu-launcher kvm kqemu-common

The qemu-launcher is a graphical front-end to Qemu which we will see later; kvm and kqemu-common are the packages that allow Qemu to work with the Kernel’s Virtualization Machine. As a side note, the KVM will be installed by default and be fully supported in the next version of Ubuntu, Hardy Heron.

Installing Parallels
Installing any of these products is easy, but you may need to enable some extra repositories to install Parallels. To do this, go to your System Menu, and in the Administration submenu select “Software Sources.” Click on the “Third-Party Software” tab, and make sure that the line for “partner” software, “http://archive.canonical.com/ubuntu gusty partner” is selected:

software sources selection for partner software

Saving those changes, the package manager will update its lists, and you can now install Parallels, which comes in the logically named “parallels” package:

sudo apt-get install parallels

Installing Parallels will be a fun reminder of the Windows world for those who have become accustomed to Linux licencing – there’s a EULA (End User License Agreement) that must be clicked-past before you can install the program. Finally, once installed, you need to run Parallels and sign up for a 15-day free trial key — or purchase a key — assuming you don’t already have one.

Parallels Registration Window

Registration is quick and easy, requiring just a username and an email address; but it is another additional step you must take because of the software’s proprietary and commercial nature.

Installing VMware
To install VMware in Ubuntu, you’ll need to enable the “partner” repositories, just as you do for Parallels. Like Parallels, you’ll need to get a key from the VMware website, which you will be prompted for during installation. You’re required to submit a slew of personal information, but the key is given to you immediately (you don’t have to check your email for it, if you understand what I’m getting at). Unlike Parallels, this key is free for personal use, and does not expire.

Installing vmware can be done either through the graphical package manager (in the Third-Party section), or with the command:

sudo apt-get install vmware-server

The install is a bit lengthy compared to the other programs here, and the files are rather large (on the order of a hundred or so Megabytes), but all-in-all it’s a breeze as long as you have a fast connection.

Installing VirtualBox
Correction: The Open Source Edition (OSE) of VirtualBox is, in fact, available through the Ubuntu repositories, but that is not the version used here. Thanks to Daniel of ibeentoubuntu.blogspot.com for pointing this out!

VirtualBox is the one program that isn’t available via the Ubuntu repositories, but that doesn’t mean that installation is difficult. In fact, it’s as simple as going to the VirtualBox downloads page and downloading the appropriate package for your system. The menu for VirtualBox binaries is extensive, including multiple versions of Ubuntu, Debian, and Fedora, as well as some other distributions. For Ubuntu, select your version and architecture, and open it with the gdebi installer:

Installing VirtualBox via Gdebi-gtk

The package is a light-weight (compared to VMware) 17MB, and installs, thankfully, like any typical Ubuntu package: without prompting for any registration keys or personal information. This article will be looking the closed (but free) binary version of VirtualBox, not the Open Source Edition copy also available from the downloads page.

One caveat with VirtualBox: it requires that any users who will use the program be added to a special “vboxusers” group, so you’ll probably want to add yourself; and then you’ll have to logout and login for these changes to take affect. A minor annoyance, but an annoyance all the same.

User Interface – Creating and running virtual machines

VMware Server
Upon startup, the VMware Server Console will ask whether you want to connect to a local or remote server; in this test, I am using server on my local machine, but VMware can also be run over a network. Creating a new virtual machine is done via a wizard, which is simple enough for a beginner to use, but has enough customization options that an advanced user won’t feel restricted.

VMware Virtual Machine Wizard

One problem I encountered, however, was that even after selecting Windows 2000 as my guest operating system, the wizard still recommended I use an emulated SCSI drive instead of IDE. I followed its advice, and the Windows 2000 install program wasn’t able to recognize any hard drives; it took me a while, but with the help of some kind people in the Ubuntu IRC chats I was able to correct the problem. Still, I was surprised that VMware made this mistake.

Running a Virtual Machine inside VMware is as simple as selecting the machine you want from the “Inventory” column, and clicking the “power on” button. Unlike its competitors, the Virtual Machine runs inside the VMware Server Console, instead of in a separate window. The Console also has the ability to run in a Kiosk-like mode called “Quick Switch”, which could be useful if you are using a dedicated machine for virtualization.

Adding hardware in VMware

Adding additional hardware, or editing existing hardware, is simple and easy to do in VMware, and in my case the program auto-detected all of my physical devices correctly, and was able to map them to the guest OS without any problems.

VirtualBox
VirtualBox’s interface is written in QT, so it may look and feel a little out of place on a Gnome desktop. Anyone who’s ever used a KDE application in Gnome knows that it will function perfectly fine, however, even if it doesn’t quite look exactly right. VirtualBox doesn’t add itself to the Gnome menus by default, however, unlike the other three applications here (Parallels and VMware add themselves to the System Tools menu, while Qemu-Launcher places itself in Applications), so I loaded it up using the terminal command “VirtualBox”.

VBox Main Window

The VirtualBox user interface is the cleanest of all the applications I’ve looked at. Its wizard for adding a new Virtual Machine is elegant and effective, while its menu for editing an existing machine is the most user-friendly of all four programs.

VBox Edit Configuration

VirtualBox’s own Preferences window is the most minimal of the bunch, allowing you to configure certain basic options such as the key combinations for focus grab/release, and the default language; unlike Parallels and VMware, it does not allow you to set a maximum amount of memory to allocate for the entire application as a whole.

Parallels
Like the other Virtualization clients, Parallels’ interface is sleek, polished, and user-friendly. Like VirtualBox, it’s written in QT, so it will feel at home on KDE, while working just fine in a Gnome environment.

Parallels main screen

Like the applications we’ve seen already, Parallels comes with a Virtual Machine Wizard which will take you through all the steps to create a new Virtual Machine, from the type of operating system you plan on running, to the amount of memory to allocate, to the size of the virtual hard disk you want to use. Modifying an already existing hardware configuration is as simple and straight-forward as in VMware.

Parallels Wizard - networking

Qemu-Launcher

Note: After writing this review I was told about the Qemulator program, which behaves similarly to the other applications’ interfaces. I will be adding a section on this program soon.

In contrast to the Virtual Machine Wizards and the sleek interfaces of the other programs, the Qemu-Launcher, which is your best chance at a GUI when it comes to using Qemu (another option, especially for KDE users is qtemu), is sorely lacking any user-friendly features, and will surely intimidate the beginner.
The Qemu Launcher is divided into five main tabs. The main tab is where you select your Virtual Machine, its hard drive, how much memory to allocate to it, and whether you want to boot off the CD-ROM (for installation of an operating system). The Hardware tab allows you to select things like the type and number of processors to use, what kind of video to emulate, and whether you want to use full-screen or windowed mode.

Qemu Emulator Tab

In the Emulator tab you can enable logging, but most importantly you can enable Acceleration. With the additional packages installed, you want to select “Full Acceleration” for the best performance. You can also set the process priority, which will “nice” the process to give other programs priority (or, optionally, to give the virtual machine priority over other processes). A higher number here means a lower priority, the highest being 19.

Aside from the difficulties in configuring a new virtual machine in Qemu, I’ve found the launcher to be somewhat of a hindrance. Since it is simply a front-end for Qemu’s command-line interface, and it is incomplete at best, there are times when it doesn’t work as expected. For example, if you set amount of RAM to be dedicated to the virtual machine too high and Qemu can’t allocate enough memory, clicking the “Launch” button will do absolutely nothing. It won’t give you an error, but instead, will do nothing at all. The only way to figure out the problem is to launch qemu-launcher in a terminal, and look for the error to be written there.

Performance

Once your virtual machine is setup, the aspect of virtualization that really matters is how well things run. I tested Windows 2000 Professional, using 360MB of RAM and 2GB hard drive files, on a Pentium 4 2.6Ghz host system. To make things as fair as possible, I restarted my computer after each trial, and didn’t use any other functions while testing the virtualizers.

VMware Server
VMware was incredibly impressive in its performance; installing Windows 2000 Professional took only 15 minutes, and booting into the new operating system after a fresh install took under a minute.

Installing Windows2000 in VMware

Once inside Windows 2000, I found applications to be as quick and responsive as if they were running natively on real hardware. Not once did I hit swap, which would have really slowed things down.

VirtualBox

VirtualBox proved itself as strong a contender as its heavyweight challenger, VMware. Installation took exactly the same time (15 minutes) from start to finish, with a few seconds margin of error for user-interaction.

Windows inside VirtualBox

Once booted, Windows performed like a champion inside VirtualBox, and felt even snappier than in VMware. I did notice some flickering inside the virtualization that wasn’t present in VMware, especially when maximizing/minimizing windows, or doing anything involving transparency (for example, dragging an icon about the desktop), but nothing that would hinder the user experience. VirtualBox is the only application reviewed that allowed me to set a size for video memory, so I left this at its default of 8MB.

Parallels
Surprisingly, the commercial Parallels application did not do as well as its contenders in this part of the test. From beginning to end, installing Windows took twenty-seven minutes, or 180% of the time it took in VirtualBox or VMware. This was surprising and disappointing, and once inside Windows I found its performance to be lacking, as well.

Windows inside Parallels

Booting up took considerably longer than in either of the other applications – to be sure, I ran this test several times. Unlike VirtaulBox and VMware, applications were not as responsive one would expect on real hardware; it was obvious that the operating system was running within a virtualized environment. Along with maxing out my CPU, Parallels inexplicably began using my swap partition although there were several hundred megabytes of real memory free on my system. While I can’t necessarily attribute this to a problem in Parallels, it does greatly slow things down, and is rather unexpected. Video performance was lack-luster; menus flicker as they scroll, and there is a noticeable delay when drawing windows. Overall, Parallels wasn’t impressive in its performance, to the point that I wonder if there is a bug in its default configuration on Ubuntu.

Qemu
Note: A few people have mentioned in forums that you should start your Qemu virtual machine (or you can just start the launcher itself) in a terminal, in order to make sure that full KVM support is working. I did that in these tests, and didn’t get any errors from KVM/kqemu so I am assuming that it acceleration was working correctly (set to “Full”).

Qemu was interesting in that, instead of using my physical processor as the processor for the Virtual Machine, it emulated a Pentium II. This may have something to do with the fact that Qemu, unlike the other applications here, is not a true Virtualization platform; it is an x86 emulation platform, capable of full virtualization.

Windows inside Qemu

Qemu took just under 25 minutes to install Windows 2000, coming in well behind VirtualBox and VMware, but beating out Parallels. While video performance was acceptable, there was a noticeable lag in opening applications inside the virtualized Windows platform. Qemu also was the only application in which I wasn’t able to get sound to work inside the guest operating system (the other applications set this up out of the box). Lastly, my biggest complaint by far is that Qemu continued to eat up CPU time even when the virtual machine was idle; I didn’t experience this problem with any of the other applications. These problems severely hinder Qemu’s ability to compete.

Conclusions

This article looked at four different products for virtualization in Linux, specifically Ubuntu Linux. The findings were interesting – the only product that requires the purchase of a licence for personal use, Parallels, actually performed the worst of the group. Qemu did well for a completely free-as-in-speech application, although VMware and VirtualBox blew the competition away in terms of performance.

Of these applications, VMware and VirtualBox definitely come out the clear winners. For individual use, where the ability to run a single Windows desktop inside of Linux is all that is needed, VirtualBox turns out to be my preference. It’s much smaller than VMware, which comes packed with extra features that aren’t necesary for the end-user. If your needs are different, however, you’ll probably want to give VMware a closer look. Overall, the maturaty and stability of all four applications was impressive enough to call virtualization on the Linux desktop “complete.”

Like this post?

26 Responses to “Virtualization in Linux: A Review of Four Software Choices”

  1. XtCrAvE says:

    I loved this post as I was looking at exactly these 4 options and found your reviews to be exactly what I was looking for! Due to the information you posted I have decided on VMware personally and thank you for helping me make that decision!

  2. Thank you for a very informative article. I was losing hope in finding ideas on how I will push through my project in one of my COMP SCI subjects. Well, it’s all about virtualization and we have upgraded the latest version of Ubuntu, that is, Ubuntu 8.10. Our professor wanted us to do some virtualization and I don’t know how or anything to do about it. Fortunately for me, I have come acrossed your page and read everything written on it. I think it’s a good start. Thank you so much. I hope I can inquire anytime and get positive responses from you as my project progresses. :) XOXO

  3. Tendai E. Mudavanhu says:

    Normally, I would not comment but this is an exceptional guide for those without computing experience.

    Thank you.

  4. Patrick K Yi says:

    Exactly what I was looking for to decide which virtualization package to use with Ubuntu. Based on your article which was easy to understand for a Linux newbie, I decided to go with Virtualbox. Thanks.

  5. Anonymous says:

    Thanks for the informative article.

  6. Centos says:

    Nice article. I use VirtualBox in CentOS (running Windows 2000) without issue. I have used it under Unbuntu as well, without problems.

    One thing I would like to say — I use Gnome and VirtualBox has always put the VirtualBox icon in a menu for me. I think that, in Ubuntu, it didn’t do so until I made myself a VirtualBox user.

    When I was looking for virtual machine software I tried Parallels and had similar issues as you detailed. Since I next went to VirtualBox (and loved it) I’ve never tried VMWare, but I should take it for a test run.

    Thanks again.

  7. Malandite says:

    I want an emulator like Wine that would allow running windows application right on Linux Platform. All I want to do is make sure users are not accessing windows as in virtualisation. Wine has some problems running my Gui Client software that depends on Java. It appears its not compatible with this client ( Windows GUI) Any other emulator software I can try other than Virtialisation ?

  8. zippo says:

    I was tested VirtualBox in a new dual core x86_64 box (3 GB) over OpenSuSE 11.1 (64 bit) with a lot of running services.
    For my surprise many windows applications run faster in W2K VirtualBox vm than when booted windows Vista not virtualized on the same box.

    Just to verify, I try big apps like ACAD and ERPs and I have the same results, W2K over VBox was (15% -35%) faster.

  9. Anonymous says:

    it is good

  10. Has anyone tried to run quickbooks with virtualisation on winxp and Ubuntu 9.04

  11. Oscar says:

    Hey, nice post. It is what I was looking for.
    Before reading this, I tried to install windows 7 (shame on me) in a Virtual environment.
    Im using fedora 12, x86, 1 gb ram, 2 ghz processor, 12 Mb video.

    First, I tried quemu, and as your situation, It didnt start and showed anything. Now I know that I have to run it in terminal.

    Then I tried Virtual Box (I’d never tried to install windows on it, just another linux distro), and performance was awesome, installation took about 15 minutes, and though desktop effects were unavailable (due to 64 Mb of video, and 512 Mb ram) Its performance was very impressive.

    It is a shame virtualBox is getting on Oracle’s dirty hands.

  12. Oscar says:

    Hey, nice post. It is what I was looking for.
    Before reading this, I tried to install windows 7 (shame on me) in a Virtual environment.
    Im using fedora 12, x86, 1 gb ram, 2 ghz processor, 128 Mb video.

    First, I tried quemu, and as your situation, It didnt start and showed anything. Now I know that I have to run it in terminal.

    Then I tried Virtual Box (I’d never tried to install windows on it, just another linux distro), and performance was awesome, installation took about 15 minutes, and though desktop effects were unavailable (due to 64 Mb of video, and 512 Mb ram) Its performance was very impressive.

    It is a shame virtualBox is getting on Oracle’s dirty hands.

  13. ali says:

    hi,

    i am lost – someone plz clarify what a virtual server consists of.

    is it a.

    1) virtual server running on it’s own gui or does it have to sit on linux gui etc.
    2) does the virtual server only run on a gui then afterwards cli /gui linux can be installed as guest? can the virtual server be installed without gui as the virtual base os.

    basically i need to run two versions of linux on a single box both vps runing apache webservers.

    for max security i need to stay clear of gui, does a virtual server comprise on security?

    anyone recommend of good books / in-depth web tutorials?

    thanks.

  14. Rob Chin says:

    Thanks for providing such a wonderful article. I like the style of your writing and hope to read more articles from you.

  15. VMWARE SUCKS says:

    VM Support Services Suck

    VMWare consumer products (like Workstation and Fusion) come with very unreasonable 12 hour email-only response, even for first time initial install errors (http://www.vmware.com/support/services/)! This causes many to consider VMWare Workstation and Fusion as inferior products. Additionally consumers are cautioned that since support is only open for about than 10 hours, frequently support calls mean that they will wait about 2 days for support – even if its a production machine!!! VMWare Workstation breaks with industry support standards by not providing fast response to initial install errors for paid products! Consumers might be tempted to say “VMWare Sucks!” based on this abnormal industry initial install support. Consider avoiding this product.

  16. Iñaki says:

    Nice and clear. I will give VMWARE a try.

  17. Ben N says:

    This article was exactly the review that I was looking for as I was deciding which VM software that I would run. I’m going to give VirtualBox a go, and will try the others if that doesn’t do it for me. However, if the review is correct, I think it will be more than sufficient. Thanks!

  18. José says:

    I just tried VirtualBox and it worked great on 10.04. I am not needing a Windows PC or laptop anymore. Put as much memory in your computer as you can. Once started, the VM takes the memory allocated to the Windows session, so if you plan to have open other apps, you will need plenty. I am extremely satisfied with these results.

  19. Dave says:

    I know this is not a support forum, but i’m hoping someone can give me the short answer. I am running run and access a Windows Based VM from Linux command line. Is this possible without X or KDE installed? Cheers

    Dave

    • Jonathan DePrizio says:

      I’m not 100% sure I understand your question, but if you want to run a graphical application locally, I think you’ll most likely need to have X installed. Remotely, the case may be different.

  20. Carl Zee says:

    What about xen and xenserver?

  21. Vishal says:

    Hi Nice article but m stuck in something require your help.
    I am using rhel4 on 64bit machine and not able to find a relevant virtualbox nor kvm-qemo package. Can you please guide me.
    Thank you

  22. Rock says:

    Well, It didnt start and showed anything. Now I know that I have to run it in terminal, Great Post…

    custom printing

  23. Surka says:

    WHAT DID YOU MEAN WITH: ” Not once did I hit swap, which would have really slowed things down.”????
    Thanks, nice article, after this I might change from QEMU to virtualBox.

Trackbacks/Pingbacks

  1. Mikaela - 01. Feb, 2012

    Wikia…

    [...]Wika linked to this place[...]…

Leave a Reply

Weekly Poll

What's the best Linux distribution for desktops?

View Results

Loading ... Loading ...

Search TechThrob

Advertisement