Red Hat makes KVM its Linux virtualization of choice

Despite Red Hat’s surprising announcement last week that it would be partnering with Microsoft on virtualization, on February 23rd, Red Hat’s announced that it would be switching its virtualization strategy from a mix of virtualization programs, including the Microsoft-friendly Xen, to focusing on Linux’s baked-in KVM (Kernel-based Virtual Machine)

KVM, as Red Hat CTO Brian Stevens admitted during a press call, is still a work in progress. But, Stevens assured the audience, by working with IBM and Intel, Red Hat will be able to deliver its full Red Hat Virtualization portfolio within the next 12-months. The first fruits of this switch will appear in RHEL (Red Hat Enterprise Linux) 5.4, which is due out in August 2009.

This is the first concrete steps in Red Hat’s virtualization plans, which came after the company’s September 2008 acquisition of Qumranet Inc. That deal brought KVM, SolidICE/SPICE (Simple Protocol for Independent Computing Environments) desktop virtualization software suite and virtualization management technologies to Red Hat.
The Red Hat Enterprise Virtualization portfolio will be made up of four main parts.

First is RHEL itself. Starting with RHEL 5.4, KVM will be at the heart of Red Hat’s virtualization. Red Hat’s Senior Director of Virtualization Business, Navin Thadani, said, though that, “Existing Xen-based deployments will continue to be supported for the full lifetime of Red Hat Enterprise Linux 5, and Red Hat will provide a variety of tools and services to enable customers to migrate from their Red Hat Enterprise Linux 5 Xen deployment to KVM.” At the same time though, Xen is clearly on its way out.

As for Red Hat’s deal to support RHEL on Microsoft Server and vice-versa. Red Hat, according to Stevens in an interview after the press conference, would be supporting Server 2008 with RHEL 5.4 and it would be using KVM for this virtualization platform,

Next up, Red Hat is introducing a new virtualization manager: Red Hat Enterprise Virtualization Manager for Servers. Red Hat states that will “be the first open source product in the industry to allow fully integrated management across virtual servers and virtual desktops, featuring Live Migration, High Availability, System Scheduler, Power Manager, Image manager, Snapshots, thin provisioning, monitoring and reporting.” However, this manager isn’t open source yet. Thadani said that it would become open source as the project matures.

Red Hat, after being absent from the desktop Linux market for several years, is moving back into the desktop. The first part of that is its Red Hat Enterprise Virtualization Manager for Desktops. This is a management system for virtual desktops that Red Hat claims will deliver three to five times better cost-performance for both Linux and Windows desktops.

This management program, in turn, will support the Red Hat Enterprise Virtualization Hypervisor. This KVM-based standalone hypervisor’s job is to let system administrators run Windows and Linux desktops as clients from servers.

Even as Red Hat is switching its virtualization gears from Xen to KVM, it’s also been working with its software partners to make sure that their programs will work just as well with a KVM-virtualized RHEL instance as with RHEL running on a standard server.

“Applications that are certified to run on Red Hat Enterprise Linux in bare metal deployments are now able to be deployed in virtual environments,” said Matt Mattox, Red Hat’s director of ISV (independent software vendors) Alliances at Red Hat in a statement.

ISVs, needless to say, like this assurance. In a press statement, Robert Sutor, IBM’s VP of open source and Linux, said, “Testing and certifying an application to run on a software or hardware platform is often a lengthy and expensive process. Red Hat’s verification that IBM software certified for Red Hat Enterprise Linux is also ready for deployment in a Red Hat virtualized platform allows our customers to more quickly and easily take advantages of the benefits of Red Hat virtualization technologies.”

Red Hat says it can deliver on this promise because its ABI (Application Binary Interface) remains the same on both the virtual and bare-metal platforms. That’s because RHEL and KVM are tightly coupled. The Raleigh, NC-based company also assured ISVs that the kernel-level ABI won’t change with major platform releases, allowing software and device drivers to continue running unchanged. Once certified on Red Hat Enterprise Linux, an application is also compatible from a user-space ABI perspective.

This all sounds good. Now, the questions are how successful will Red Hat be in delivering the goods and will Red Hat’s customers make the switch from Xen to KVM.

This article was revised on the afternoon of February 23rd to include information from an interview with Stevens/

that KVM offers these advantages:
• On the developer level, there are many opportu-
nities for reusing existing functionality within the
kernel, for example, the scheduler, NUMA support,
and high-resolution timers.
• On the user level, one can reuse the existing Linux
process management infrastructure, e.g., top(1)
to look at cpu usage and taskset(1) to pin
virtual machines to speci?c cpus. Users can use
kill(1) to pause or terminate their virtual ma-
chines.

To me, being root at the root of a tree of virtual machines sounds pretty cool. With VirtualBox, I can set up sshd on the machines and use scripts just as I can with real machines but KVM sounds like a smoother method of virtualizing. If the kernel gang change anything, it is likely that the virtualization system would change smoothly with it. That is a big plus.

I am not sure whether adding more features to the kernel is a good idea, but the kernel is a beautiful thing and one of the best features of GNU/Linux. I trust RedHat would not make this move unless they were sure it was the right thing to do, technically. We shall see how it turns out.

In addition to all that, another thing Red Hat likes about it is that since KVM’s part of Linux, you don’t have to add say memory management to it. You just use Linux’s built-in memory management and life is good.