Possibility of using KVM Virtualization in Hosting
Virtualization has made a lot of progress during the last decade, primarily due to the development of myriad open source virtual machine hypervisors. This progress has almost diminished the barriers between operating systems. There are mainly two types of virtualizations; Software Virtualiztion and Hardware Virtualization. Up until recently, the focus always has been on software emulated virtualization.
KVM is short for Kernelbased Virtual Machine and makes use of hardware virtualization, i.e., you need a CPU that supports hardware virtualization, e.g. Intel VT or AMDV. Connsidering the time line of virtualization techniques, KVM is a relative newcomer to server virtualization. Several incumbent open source methods exist today, such as Xen, Bochs, UML, Linux VServer, and coLinux, but KVM is receiving a surprising amount of exposure now. KVM is a unique hypervisor. It consists of a loadable kernel module that provides the core virtualization infrastructure and a processor specific module. Using KVM virtualization, 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. KVM is a relatively new and simple, yet powerful, virtualization engine, which has found its way into the Linux kernel, giving the Linux kernel native virtualization capabilities. Because KVM uses hardware based virtualization, it does not require modified guest operating systems, and thus, it can support any platform from within Linux, given that it is deployed on a supported processor.
Hire Bobcares Linux Server Administrators
Get super reliable servers and delighted customers
Advantages of KVM Virtualization
• High Security
• Performance and scalability
• Adequate for most cloud deployments
• Simple type2 hypervisor
• Easy to setup
• Open source software
• Run multiple virtual machines running unmodified Linux or Windows images.
• Each virtual machine will have private virtualized hardware: a network card, disk, graphics adapter, etc
• More flexible compared to other virtualiztion technologies.
• KVM is the best Linux kernelintegrated hypervisor technology.
A typical KVM installation consists of the following components:
• A device driver for managing the virtualization hardware; this driver exposes its capabilities via a character device /dev/kvm.
• A userspace component for emulating PC hardware; currently, this is handled in the user space and is a lightly modified QEMU process.
• The I/O model is directly derived from QEMU’s, with support for copyonwrite disk images and other QEMU features.
How to check System Compatibility ?
First, you need a processor that supports virtualization. For a more detailed list, you can refer xensource wiki. You can tell whether your system supports virtualization by looking at /proc/cpuinfo. This file specifies whether the vmx (Intel) or svm (AMD) extensions are supported. A wide variety of guest operating systems work with KVM hypervisor, including many flavours of Linux, BSD, Solaris, and Windows Operating Systems. A modified version of Qemu can use KVM to run Mac OS X.
KVM vs Existing Hypervisors :
In many ways, VMware is a groundbreaking technology. VMware manages to fully virtualize the notoriously complex x86 architecture using software techniques only, and to achieve very good performance and stability. As a result, VMware is a very large and complex piece of software. KVM, on the other hand, relies on the new hardware virtualization technologies that have appeared recently. As such, it is very small (about 10,000 lines) and relatively simple. Another big difference is that VMware is proprietary, while KVM is open source. KVM will, in the long run, greatly benefit from taking advantage of advancements in the kernel, without developers having to reinvent them, as is the case with Xen.
Xen is a fairly large project, providing both paravirtualization and full virtualization. It is designed as a standalone kernel, which only requires Linux to perform I/O. This makes it rather large, as it has its own scheduler, memory manager, timer handling and machine initialization.
KVM, in contrast, uses the standard Linux scheduler, memory management and other services. This allows the KVM developers to concentrate on virtualization, building on the core kernel instead of replacing it.
QEMU is a userspace emulator. It is a fairly amazing project, emulating a variety of guest processors on several host processors, with fairly decent performance. However, the userspace architecture does not allow it to approach native speeds without a kernel accelerator. KVM recognizes the utility of QEMU by using it for I/O hardware emulation.
KVM vs Existing Hypervisors :
Limitations of KVM virtualiation:
• Currently, KVM supports only Intel and AMD virtualization, whereas Xen supports IBM
• PowerPC and Itanium as well. SMP support for hosts is lacking in the current release.
• Performance tuning.
However, KVM already is further ahead than other hypervisor solutions in some areas and surely will catch up in other areas in the future. KVM is the best technology going forward for open source virtualization.
With the introduction of KVM into the Linux kernel, future Linux distributions will have builtin support for virtualization, giving them an edge over other operating systems. There will be no need for any dualboot installation in the future, because all the applications you require could be run directly from the Linux desktop. KVM is just one more of the many existing opensource hypervisors, reaffirming that open source has been instrumental to the progress of virtualization technology.
The above is a very rough outline of KVM Virtualization, and if you have any questions, we would be happy to talk to you! 🙂
About the Author :
Abhilash MB works as a Software Engineer in Bobcares. He joined Bobcares in June 2011. He loves reading books and listening to music in his free time.
Blog edited by :
Dipin D works as a Software Engineer in Bobcares. He joined Bobcares in September 2010. He loves reading books and listening to music in his free time.