Kernel-based Virtual Machine (KVM)
KVM 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.
What is it good for?
Many things, for example;
You can use it to run instances of Windows and other operating systems on your Linux systems. Let’s say for example you had some old programs that you used occasionally that you didn’t want to lose access to, you could install Windows as a KVM instance, and boot it up on top of your Linux platform whenever you wanted to use it.
Trying out other Operating Systems
You can install a multitude of other Operating Systems as KVM instances, so you could for example try out freeBSD or openSolaris on your Linux box, without risking your Linux installation or losing access to your already established systems.
As a developer you can use KVM for testing pre-defined environments, experimenting with dangerous code and viruses, checking the compatibility of your software across a range of different Linux distributions, the possibilities are endless.
Although listed here under the guise of a Desktop application, KVM also works well as a server application and is very competent when it comes to providing instances as part of a Cloud based hosting infrastructure. It’s relatively easy to configure and maintain and fairly flexible. Here are some screen shots of KVM’s management interface in action;
How does it compare to the real thing?
In terms of raw performance, you won’t notice the difference, KVM is very quick. If you try it out and for some reason you find it horribly slow then it’s because it’s fallen back to QEMU (which is the non-accelerated version of KVM) either because you have a problem with your KVM installation, or because your CPU is too old and does not support the extensions required to run KVM properly.
Unlike some of it’s competitors, KVM runs a completely up-to-date kernel and as a result supports completely up-to-date kernels as guest operating systems. In addition it has a range of virtualised drivers which support network, disk access, sound card support etc, all at pretty good speeds.
In terms of reliability, subject to specific bugs / currently unknown problems, KVM would rate as very stable software.
For more details and information, please take a look at the KVM Website.
Leave a Reply
You must be logged in to post a comment.