The current computers have faster CPUs and more RAM compared to those of 3 or 4 years ago. There is more ability to run a second operating system in parallel to your main operating system. But why do it?
- To have another operating system (Windows, Linux or other)
- For testing a new distribution
- To prepare an environment dedicated to a product. For example, I installed a virtual machine with apache + mysql + everything I need for running a local a copy of my WordPress site
The three products that I will install and analyze on my Ubuntu 10.04 machine are:
- VMware Player
- VirtualBox (OSE)
For each of them i will consider a score of 1 to 3 for:
- Ease of Installation
- Administrative Tools
- Features (license included).
- Virtual appliances available
VMware Player is the easiest way to run multiple operating systems at the same time on your PC. With its user-friendly interface, VMware Player makes it effortless for anyone to try out Windows 7, Chrome OS or the latest Linux releases, or create isolated virtual machines to safely test new software and surf the Web.
To install VMware player you must go to the VMware site, register, then activate your profile by clicking on a link that will arrive by email.
Then you can download the VMware player. It’s available in a bundle for windows and linux 32 and 64 bits. The file size of the download is around 105 MByte.
Then open a terminal as root user and give the command:
This will start the graphical installer. It will ask if you want to check at startup for new releases, and if you want to send feedback. Then it will start and install everything.
The graphical interface is well designed, and VMplayer options are easily understood. I selected “create a new virtual machine”, then through the wizard I selected an .iso image of Debian Mint, the hardware desired for the VM, and destination of the new VM, all in a very short time. At this point I started and got a nice message:
Your processor does not support PAE, which is required by VMware Player. Cannot continue.
In effect, I have a 32-bit machine with 2 GB of RAM, so why should I need a PAE kernel?
However I installed it with:
sudo aptitude install linux-generic-pae linux-headers-generic-pae
I did a reboot and restarted Vmplayer. When rebooting, some VMware modules are recompiled for compatibility with the new kernel, and the player started with the exact same error.
So nothing to do on my desktop, I removed the software:
vmware-installer –uninstall-product vmware-player
I then installed the VMplayer on my Laptop, with 64 Bit Gentoo.
Score: 2, it would have been a 3 if not for the problems on the desktop.
- Same administrative interface on Windows and Linux
- Snapshot of VM available.
- 32 and 64 bit Virtual machine
- Up to 8 CPU on the Virtual machine
- Accelerated 3D graphic option.
- closed source
There are a lot of virtual machines available for download at the url: http://www.vmware.com/appliances/
It’s possible to find free virtual machine or real virtual appliances with professional support there.
This software come from a company that has dealt with virtualization for more than 10 years. Because of this. It is certainly stable. But the only reason I see for using it under Linux is to reuse a VM created in Windows, or to exchange the VM with that platform.
VirtualBox is a relative newcomer to the virtualization market, with its initial release in early 2007. VirtualBox originally was created by Innotek, but it was then acquired by Sun Microsystems. Sun Microsystems has since been acquired by Oracle. Version 3.0 of the software was released recently and includes many new features.
After several years of intensive development, VirtualBox was released as Open Source in January 2007. Innotek chose to release its VirtualBox source code under the GNU General Public License (GPL).
VirtualBox ships for Linux hosts as a native package for most distributions. On my Ubuntu 10.04 installation, I just installed virtualbox-ose and all its dependencies from Synaptic.
VirtualBox includes a native “fat client” for your host OS that allows you to manage your virtual machines. The client is easy to use, and it’s wizard-based—much like the VMware admin console. Creating virtual machines is a snap, and VirtualBox gets kudos for making it as easy as VMware to spin up new virtual machines.
- Available for windows and Linux
- four-processor virtualized SMP.
- 64-bit support for both hosts and guests.
- Snapshot capability for easy capture and rollback.
- Accelerated 3D graphic option.
- dual license open and closed source
I’ve found no big repository of Virtual box ready to use virtual machines, the best site i’ve found is http://virtualboxes.org/images/
But don’t worry. If you really want ready to use Virtual machines, you can convert a VMware virtual appliance and use it on Virtualbox.
Check out this nice guide on how to convert from VMware to Virtual Box
Although fairly new, Virtual Box is moving very well, thanks to the dual licensing model. The interface is intuitive and easy to use, and I’m testing Debian Mint thanks to it.
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream.
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.
The kernel component of KVM is included in mainline Linux, as of 2.6.20.
KVM is open source software.
KVM requires special extensions that must be present in the processor, so check first if you have a machine compatible with the command:
egrep -c ‘(vmx|svm)’ /proc/cpuinfo
0 means you can not use KVM
1 means that the processor has the right extensions
On my desktop I’ve 0 as output, then KVM is also tested on my laptop with Gentoo 64-bit (and intel dual core).
On my desktop 0 is output. So KVM was tested on my laptop with Gentoo 64-bit and Intel dual-core CPU. On Gentoo I enabled the KVM module in the kernel, and also the kvm-intel module.
If you can use KVM in Ubuntu you should install with the command:
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
libvirt-bin provides libvirtd which you need to administer qemu and kvm instances using libvirt
kvm is the backend
ubuntu-vm-builder powerful command line tool for building virtual machines
bridge-utils provides a bridge from your network to the virtual machines
KVM, doesn’t have any official management interface. A variety of third-party tools, however, are capable of managing KVM domains. The most popular of these is RedHat’s virt-manager, which offers a simple but efficient graphical interface.
Convirt, from Convirture, is another GUI tool for managing KVM virtual machines. It’s similar to virt-manager and also supports remote machines as well as local ones.
For my tests I only used the command line. I read the man page for kvm-img, and used it to “format” a file to use as the VM’s disk. KVM was able to initiate the creation of a virtual machine from an iso image I had on disk.
- Support to 32 and 64 bit Virtual machine
- live migration
- optional paravirtualization
- direct access to the USB bus
- Available only on Linux (it’s a kernel module)
- Open source
Score 2 – It would be 3 if I were evaluating Virtualization software for a server solution.
I’ve found this site: http://stacklet.com/ it contains basic images of some Linux distribution.
KVM is an integrated Linux solution. I find the VM created with it really responsive. The only drawbacks are the lack of features that could be interesting for a desktop solution, 3D graphics for example, or the lack of an administrative GUI.
So which virtualization solution is best for the Ubuntu desktop?
For the time being–and this is to say nothing of the various options which I’ve not discussed, such as other VMware’s products and Xen. VirtualBox is probably the better choice for users who want a simple application for running mainstream operating systems without ever having to touch a configuration file or open a terminal.
For those interested in cutting-edge virtualization functionality, or who actually prefer the command-line, however, KVM has a lot to offer. At the least, although its developers are clearly focused on the enterprise, it should not be ruled out as a virtualization solution for normal desktop users, especially when it’s combined with GUI management tools.
VMPlayer can be a really interesting solution for people interested in producing Virtual appliance that can run on Linux and windows, as VMware has a great share of this market.
VMPlayer can be a really interesting solution for people interested in producing Virtual appliances that can run on Linux and Windows, and VMware has a great share of this market.
Personally, I’ll use VirtualBox on my desktop to test new distros and play a bit with them, and KVM on my laptop to have a second environment for work, and to be ready to adopt KVM on my servers.
Thanks to Darrel Johnston for the proofreading of the English version.