Top 10 Linux Virtualization Software

by on December 31, 2008 · 27 comments· LAST UPDATED December 6, 2009

in , ,

Virtualization is the latest buzz word. You may wonder computers are getting cheaper every day, why should I care and why should I use virtualization? Virtualization is a broad term that refers to the abstraction of computer resources such as:

  1. Platform Virtualization
  2. Resource Virtualization
  3. Storage Virtualization
  4. Network Virtualization
  5. Desktop Virtualization

This article describes why you need virtualization and list commonly used FOSS and proprietary Linux virtualization software.

Why should I use virtualization?

  • Consolidation - It means combining multiple software workloads on one computer system. You can run various virtual machines in order to save money and power (electricity).
  • Testing - You can test various configuration. You can create less resource hungry and low priority virtual machines (VM). Often, I test new Linux distro inside VM. This is also good for students who wish to learn new operating systems and programming languages / database without making any changes to working environment. At my work place I give developers virtual test machines for testing and debugging their software.
  • Security and Isolation - If mail server or any other app gets cracked, only that VM will be under control of the attacker. Also, isolation means misbehaving apps (e.g. memory leaks) cannot bring down whole server.

Open Source Linux Virtualization Software

  1. OpenVZ is an operating system-level virtualization technology based on the Linux kernel and operating system.
  2. Xen is a virtual machine monitor for 32 / 64 bit Intel / AMD (IA 64) and PowerPC 970 architectures. It allows several guest operating systems to be executed on the same computer hardware concurrently. XEN is included with most popular Linux distributions such as Debian, Ubuntu, CentOS, RHEL, Fedora and many others.
  3. Kernel-based Virtual Machine (KVM) is a Linux kernel virtualization infrastructure. KVM currently supports native virtualization using Intel VT or AMD-V. A wide variety of guest operating systems work with KVM, including many flavours of Linux, BSD, Solaris, and Windows etc. KVM is included with Debian, OpenSuse and other Linux distributions.
  4. Linux-VServer is a virtual private server implementation done by adding operating system-level virtualization capabilities to the Linux kernel.
  5. VirtualBox is an x86 virtualization software package, developed by Sun Microsystems as part of its Sun xVM virtualization platform. Supported host operating systems include Linux, Mac OS X, OS/2 Warp, Windows XP or Vista, and Solaris, while supported guest operating systems include FreeBSD, Linux, OpenBSD, OS/2 Warp, Windows and Solaris.
  6. Bochs is a portable x86 and AMD64 PC emulator and debugger. Many guest operating systems can be run using the emulator including DOS, several versions of Microsoft Windows, BSDs, Linux, AmigaOS, Rhapsody and MorphOS. Bochs can run on many host operating systems, like Windows, Windows Mobile, Linux and Mac OS X.
  7. User Mode Linux (UML) was the first virtualization technology for Linux. User-mode Linux is generally considered to have lower performance than some competing technologies, such as Xen and OpenVZ. Future work in adding support for x86 virtualization to UML may reduce this disadvantage.

Proprietary Linux Virtualization Software

  1. VMware ESX Server and VMWare Server - VMware Server (also known as GSX Server) is an entry-level server virtualization software. VMware ESX Server is an enterprise-level virtualization product providing data center virtualization. It can run various guest operating systems such as FreeBSD, Linux, Solaris, Windows and others.
  2. Commercial implementations of XEN available with various features and support.
    • Citrix XenServer : XenServer is based on the open source Xen hypervisor, an exceptionally lean technology that delivers low overhead and near-native performance.
    • Oracle VM : Oracle VM is based on the open-source Xen hypervisor technology, supports both Windows and Linux guests and includes an integrated Web browser based management console. Oracle VM features fully tested and certified Oracle Applications stack in an enterprise virtualization environment.
    • Sun xVM : The xVM Server uses a bare-metal hypervisor based on the open source Xen under a Solaris environment on x86-64 systems. On SPARC systems, xVM is based on Sun's Logical Domains and Solaris. Sun plans to support Microsoft Windows (on x86-64 systems only), Linux, and Solaris as guest operating systems.
  3. Parallels Virtuozzo Containers - It is an operating system-level virtualization product designed for large-scale homegenous server environments and data centers. Parallels Virtuozzo Containers is compatible with x86, x86-64 and IA-64 platforms. You can run various Linux distributions inside Parallels Virtuozzo Containers.

Personally, I've used VMware ESX / Server, XEN, OpenVZ and VirtualBox.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 27 comments… read them below or add one }

1 Sudanking December 31, 2008 at 5:07 pm

I use VMWare EXS “trial ver”…. after it expire, I think I will use VMWare EXSi (that one is free).
I want to use it to host 5 or 6 guests only, not for testing, but operate and run multiple services (like apache, openvpn, firewall…etc)
But,
is this a right choice??? I dont know!!! that the only one I tried….. can you plz advice what is the best???

Reply

2 nixCraft December 31, 2008 at 5:20 pm

Can you tell me more about your requirements and features you would like to have for VM such as backup, vmotion, number of servers, storage etc?

If you have just one server and no other enterprise grade stuff such as SAN, then EXSi should be fine.

Reply

3 Randy Patterson January 1, 2009 at 5:05 pm

I have been running VM Server 1.0.8 on a Ubuntu Server Host for a couple of months. I have been able run several different OS’s as guest successfully, including a virtual Ubuntu server that handles my apache and postfix. To say I am a novice with IT would be kind.

Reply

4 Sudanking January 1, 2009 at 5:26 pm

Yes, Only one server with no thing else. I will take you advice and use EXSi. thanks.

Reply

5 JohnMc January 2, 2009 at 6:22 pm

Couple of notes:

Too bad you did not mention Proxmox VE (Link). Rather unique in that it supports both OpenVZ containers and KVM virtualization. Nearly all management is via a web front end. Out of the download it also supports clustering and movement of VMs within the cluster. I have had several installations running for well over a year and not a peep of trouble.

Sudanking,

I actually do what you want (apaches, vpn, etc on different guests) using VirtualBox. I run a small script to set up the TAP/TUN networking then run all the guests with host mode networking. It works quite well. Running several instances of Ubuntu, Red Hat, etc in this manner eats up resources faster than doing so with something like OpenVZ containers however.

I mitigate that by running something like DSL or Slitaz in memory as a guest then save the instance state. I do not have to set up a virtual drive (VDI) in VBox though I run the risk of losing state if I forget to save it properly. So for about 256mb of memory per instance I can run Apache, VPN, etc and do all the testing I need. Its a great workaround, setup/teardown is very fast and the whole affair is no cost. I run the host and upto 4 guests in this manner in under 2Gb memory on a AMD 64×2 dual core box.

Reply

6 Intelliginix January 3, 2009 at 2:24 am

I like VMware, but I am having some problems with the web management interface from time to time in VMware server 2.0. For some reason I have been having issues connecting to my VMs from the web interface, I get errors and I cannot seem to find the reason behind it. However I can VNC and ssh to the bridged interfaces, but it can be hassle a to get to the back end machines that are connected to my NAT and host networks. OpenVZ is kool, but it can be a pain to set up, but once set up, it is fantastic. Still needs work on making the administration a little easier, but I have had good success with it.

Reply

7 Mark Sanborn January 3, 2009 at 5:01 am

Nice compilation I am currently using virtualbox for running some Windows apps in Linux.

Reply

8 Sudanking January 4, 2009 at 7:52 am

JohnMc,
Thanks, I will try that before go to EXSi. Thanks again.

Reply

9 SudanKing January 4, 2009 at 1:05 pm

I tried VirtualBox, it is look faster than VMWare…..

How Can I move my guests OS from EXS to virtualBox???

Reply

10 nixCraft January 4, 2009 at 1:12 pm

You can import images as VirtualBox can use VMware images (*.vmdk) directly. See my post and comment section for video:

Reply

11 SudanKing January 4, 2009 at 1:15 pm

I found nice article talking about that, I want to share it with all Link

Reply

12 Sudanking January 4, 2009 at 1:25 pm

Vivek Gite
Thanks, it is seem that your way is easier…… thanks.

Reply

13 ekram January 14, 2009 at 10:18 am

i have only using virtual box. last release i guess is make me more comfortable allowed ping from nat guest and host interface configuration make easy. Have a try hope you will enjoy…

Reply

14 Richard January 18, 2009 at 2:44 am

Minor correction: VirtualBox was developed by Innotek, which was then purchased by Sun Microsystems.

Reply

15 Sanjit March 16, 2009 at 10:40 am

I have one specific requirement. Which virtualisation software will allow me to access the PCI cards .

Reply

16 Douglas March 23, 2009 at 1:54 pm

I’m searching for PowerPC virtualization software, to be able to test Linux builds inside another Linux or Mac OS X. But it looks like good PPC virtualization has not yet made by anyone (mac-on-linux died, mac-on-mac is still alpha).

Reply

17 Thanks for review April 16, 2009 at 1:42 pm

Thanks for informative review!

And special thanks for seperating meat from flies !

Reply

18 Charanjit Singh December 23, 2009 at 4:26 pm

Hi Vivek
Now days RHEV (Red Hat Enterprise Virtulization) I am hearing. What about your idea about it do you think it will compete with existence enterprise virtulization products such as Citrix Xen and VMware ESX. Do you think this will attract RHCE engineers to choose this product for their career.

Regards
Charanjit Singh

Reply

19 nixCraft December 23, 2009 at 7:39 pm

@Charanjit,

RHEV == KVM and nothing else. It will take some time. Vmware and xen is hot right now.

Reply

20 Jerry March 9, 2010 at 7:18 pm

Great ideas and would like to add a spanner into the works.

Has anyone tried install a single instance of KVM or Open VZ and then install multiple ESXi servers as guests on that server?
Why you might ask? One piece of hardware running multiple ESXi hosts, local storage is quicker than NFS or iscsi and you redundancy of the virtual machines!

Any takers?

J

Reply

21 Dom April 14, 2010 at 7:58 am

The information about Bochs is not quite correct. It only runs X86 guest operating systems which excludes MorphOS and AmigaOS4 which are PPC (won’t do older AmigaOS either which were 680x based). There are Bochs ports are available for these theoretically allowing someone (with PowerPC hardware) to run X86 guest software such as Windows XP etc.

As for PowerPC emulators the main one that I know of is PearPC which should emulate OSX (PPC Version), Darwin and LinuxPPC.

Reply

22 Saad Ahmed June 8, 2010 at 9:18 am

Thanks for a great article…. it will really help me to build a better virtual environment.

Reply

23 Haritha September 26, 2010 at 5:51 am

Hi, till now I don’t know about virtualization. But after reading, I have some doubts.
Suppose I am running windows XP. I want to run red hat linux 5 also. I think there are two ways of running it. With virtualization and without virtualization. Without virtualization, I will just have to install Red hat linux 5 on another diskdrive. But I can’t run RHEL5 and XP concurrently, like I can do in case of virtualization.In virtualisaiton, I will have to install a virtual machine( i have heard of Microsoft virtual server) on windows. After installing the virtual machine software, how do I install Red hat linux 5. This is exactly my doubt. Thanks in advance.

Reply

24 imamz February 6, 2012 at 4:51 pm

thank you. i like it

Reply

25 salma May 22, 2012 at 8:27 pm

plz,I want solution about application virtualization

Reply

26 himanshu June 18, 2012 at 4:50 pm

thanks for great help

Reply

27 Rahul September 8, 2012 at 5:35 am

hello vivek
I have a entry level IBM server and we are going to make virtual server. so i would know that which is preferable to virtual technology use. i mean to say Linux Based{KVM} or VMware?

Reply

Leave a Comment

Tagged as: , , , , , , , , ,

Previous post:

Next post: