Virtualization has been a buzz word for a few years now. Some people think it has been over-hyped but I'm not one of those people. The big competing products seem to be: VMware, Xen, KVM, VirtualBox, Parallels (including OpenVZ), and Hyper-V.
Is there too much choice out there? Choice isn't bad, is it? Will there eventually be a market shake up with a thinning of product candidates as a result? Will someone try to proclaim that they are the virtualization "standard"? I don't really know. I certainly like competition and don't think having a number of competing products is bad. There are both proprietary products and FOSS products. As you can guess, I lean towards the later if at all possible.
Update: Full article now includes two embedded flash videos from Red Hat.
Proxmox VE is a “bare metal” ISO Linux distribution that is a virtual machine platform. It is geared towards enterprise users and designed to be installed on enterprise grade hardware. The Proxmox VE distribution combines two virtual machine technologies; KVM and OpenVZ as well as a web interface to manage everything. Proxmox VE also integrates into its web interface a way to manage multiple computers as a cluster. For the rest of the article Proxmox VE shall be referred to as PVE. This article is written about PVE 1.1, the latest stable release.
As has been reported elsewhere, take the front page of Red Hat's website for example, Red Hat has "acquired" Qumranet Inc for a little over $100 million. In a presentation a month or two back for the BozemanLUG meeting... I played some demo videos of Qumranet's Solid ICE product and discussed KVM. Just in case you weren't aware, Qumranet is the company that sponsors the development of the Kernel Based Virtual Machine which got merged into the mainline Linux kernel starting with version 2.6.20. KVM requires hardware support for virtualization to be present in the CPU (Intel VT / AMD-V).
Doesn't Red Hat already use Xen in RHEL?
Yes, Red Hat does use Xen in RHEL although they prefer the term, Red Hat Virtualization. Fedora added support for KVM some time ago... and Red Hat has been working hard to help KVM get to the point where it is mature enough to become a replacement for Xen. They have also been funding a number FOSS virtualization related projects (see oVirt for example) several which support KVM.
OpenVZ and KVM are Linux based virtualization programs, both are part of the Proxmox VE distribution. The goal of this article is to provide some knowledge on moving physical machines to virtual containers (OpenVZ) or fully virtualized machines (KVM). This article is not specific to Proxmox VE and the principles outlined and scripts provided should work on "stock" KVM or OpenVZ machines with a few minor changes to path settings.
Proxmox VE is an example of the end product being greater than the sum of parts. All the technologies used to build Proxmox VE are not unique however putting them all together and adding a nice interface is. Overall I am very impressed with the ease of use and quality of the software. The flexibility that is provided by virtualization plus the ease of administration provided by Proxmox VE is a great combination for anybody looking to use virtualization.
It seems that a sort of hypervisor is going to be added to the mainline Linux kernel. It has been dubbed KVM... as if KVM weren't already taken by "Keyboard, Video Mouse". In this case, KVM stands for Kernel-based Virtual Machine... and it only works in CPUs that have VT (Intel) or AMD-V/SVM (AMD) extensions via a module named kvm.ko... and will available upon the release of the 2.6.20 kernel.
How does it differ from other virtualization schemes? From the FAQ:
What is the difference between kvm and Xen?
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use.
On the other hand, Xen supports both full virtualization and a technique called paravirtualization, which allows better performance for modified guests. kvm does not at present support paravirtualization.
What is the difference between kvm and VMWare?
VMware is a proprietary product. kvm is Free Software released under the GPL.
What is the difference between kvm and QEMU?
Qemu uses emulation; kvm uses processor extensions for virtualization.
And now for the question everyone wants to ask:
What OSs can I run inside kvm VM?
We have tested Linux (32/64 bit) and Windows (32 bit). Others may or may not work. 64-bit Windows is known not to work. This will be fixed once qemu-0.8.3 is released and merged. Several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub.
I wonder how long before this becomes part of all of the distributions... and how it might conflict with Xen???