When I first got a head’s up from 3PAR that it was announcing support for Red Hat’s KVM, I was unsure as to what to make of it. I had heard of KVM before but with so many virtual operating systems (VMware vSphere, Microsoft Hyper-V and Citrix XenServer) competing for my attention, I had not closely examined KVM’s value proposition. It was only after I did a little research that I began to understand why 3PAR sees adding support for KVM as important in terms of keeping 3PAR and its customers at the front of the server virtualization curve.
Many are probably like me in that their level of awareness about Red Hat’s KVM (Kernel-based Virtual Machine) is probably at a superficial level at best. While they may have heard of KVM in passing, there is neither a great deal of coverage on KVM nor much explanation of how it differs from other virtual server operating systems. Yet having that understanding is paramount to understanding what 3PAR is attempting to accomplish with its newly announced support of KVM and its strategic importance for both 3PAR and end user.
To provide some context around this announcement, it is first important to understand how KVM differs from the more well-known virtual operating systems. A good place to start is with a white paper on Red Hat’s web site that goes into some detail as to how KVM differs from other virtual server operating systems. Here are some of the main differences according to this Red Hat white paper:
- VMware pioneered the concept of a virtual machine (VM) running directly on a CPU. Before VMware, server virtual operating systems treated VMs as applications which resulted in poor performance and even virtual machine crashes because the operating system on the VMs would try to directly access the underlying hardware. VMware solved this problem by implementing a technique call Binary Translations that intercepted these hardware calls before they could crash the VM. While complex, it made VMware stable and resulted in significant performance gains for VMs.
- Xen represents the second generation of server virtualization operating systems as it introduced the concept of paravirtualization. Using paravirtualization the virtualized operating system is modified in such a way that it is now aware that it is virtualized, can make direct calls into the hypervisor and cooperate with it for improved scheduling and I/O. The downside with this approach is that it requires operating system providers to make modifications to their operating system so it is “virtualization aware”.
- Hardware assisted virtualization became available in 2005. This virtualized CPUs in x86 environments so that different levels of access to the CPU were available. This change enables the CPU to operate in either host or guest mode so the hypervisor can grant processes on guest VMs direct but controlled access to the CPU so they do not accidentally crash the entire physical server. This technique again expedites processing but again requires very complicated formulas to implement.
This brings us to Red Hat KVM which represents the next generation of open source server virtualization. KVM differentiates itself from prior server virtualization solutions in that it makes certain presumptions about the hardware and software infrastructure on which it runs that its predecessors simply could not make.
For instance, KVM was introduced after the advent of hardware assisted virtualization. That means to deploy KVM, organizations have to have in place CPUs that support hardware assisted virtualization. Since most x86 CPUs sold since 2005 now support this functionality, KVM does not have to try to virtualize and manage CPUs and instead delegates the management of those functions to the CPU.
Second, it is built upon a Linux kernel that now includes the components that a hypervisor needs such as a memory manager, process scheduler and device drivers. It can leverage these feature since KVM became part of the Linux kernel in January 2007 which eliminates the need for KVM to develop and support these features on its own since it has access to them through the Linux kernel.
So what does this all mean from a 3PAR perspective and more importantly from a customer perspective?
First, it makes it easier for 3PAR InServ Storage Servers as well as 3PAR customers to add yet another virtual server OS to their stable of supported virtual server OSes. While HyperV, vSphere and XenServer currently have the majority of the mind and market share, the fact that KVM is part of the Linux kernel and freely available for distribution make it appealing for managed service providers (MSPs) – which constitutes a large percentage of 3PAR’s customer base – to offer a cost-effective server virtualization alternative to their customers.
Second, 3PAR’s thin provisioning technology is a necessity for any virtualized server environments. Thin provisioning can reduce storage administration time by up to 90% and storage consumption by 50% or greater. Further, according to 3PAR, over 80% of 3PAR systems deployed include Thin Provisioning plus many use its advanced features like Thin Conversion and Thin Persistence available that are this functionality to eventually find their way into their environments.
KVM may not be attracting a lot of buzz right now but 3PAR has always been about introducing technologies and products that give it a strategic advantage over its competitors. This is exemplified by how many initially dismissed its thin provisioning technology but which has since become an integral component to efficiently implementing virtual server infrastructures and then automating its support.
This KVM announcement is another example of the strategic mindset that pervades 3PAR. By adding support for KVM to its InServ Storage Servers, 3PAR demonstrates that it understands that server virtualization platforms are not a one size fit all approach and, since KVM comes free with Linux, the adoption of it is bound to increase, especially among customers who already use 3PAR Storage Servers.
So as the virtualized data center of tomorrow continues to evolve, 3PAR’s announced support for KVM indicates that it stands ready to support and deliver whatever virtual server platform is necessary to make sure its customers succeed in this environment.