VMWare Paravirtualization to be Added to Mainstream Linux Kernel

Everybody has been hearing about virtualization and its benefits such as consolidation and security. However, virtualization without the participation of the host kernel (called full virtualization) has a lot of performance problems. Hence, the creation of para-virtualzation. This form of virtualization allows the virtualization software (also called a hypervisor) to access the host kernel to do virtualization tasks.

For quite sometime, configuring para-virtualization used to be a tedious process. It was necessary to patch a kernel to get support for this. The first to introduce para-virtualization hooks into the mainstream Linux kernel was KVM. The major players like VMWare and Xen where beaten to it. However, most of the world’s users of virtualization are already used to VMWare and Xen.

Well, wait no longer. Virtual Machine Interface (also known as VMI which was contributed by VMWare) will finally be integrated into the mainstream Linux kernel (via eWeek). It is set to be included in kernel release 2.6.21.

The next stable update to the Linux kernel, Version 2.6.21, is slated to include a new feature submitted by VMware called VMI. Virtualized operating system instances can enjoy performance and management benefits if their kernels are modified to communicate with the hypervisor under which they run. This arrangement is called paravirtualization.

The initial promise of Virtual Machine Interface was that it would provide a common protocol across which multiple hypervisors could communicate with the Linux kernel instances they paravirtualize, as opposed to having different sets of hooks built into Linux for different hypervisors.

The idea is similar to the Linux Security Module framework, on which both the SELinux (Security-Enhanced Linux) and AppArmor rights-hardening technologies are built. However, VMware’s approach has faced some pushback among kernel developers, and VMware ended up modifying VMI to plug into a separate kernel paravirtualization interface, called paravirt_ops, which made its way into the stable Linux kernel with the last update (2.6.20).

So now, we can finally get industrial grade para-virtualization without having to do kernel patching. I personally don’t mind but I have found better things to do.

Leave a Reply