Almost eight years since its first release, Xen has finally been accepted into the Linux kernel. But it may be too little, too late.
According to a blog post by Oracle Corp.’s senior vice president, Linux and Virtualization Engineering, Wim Coekaerts, version 2.6.39 and higher of the mainline Linux kernel “contains literally every component needed for Linux to run both as a management domain kernel (Dom0) and a guest (DomU).”
But over the past several years, the Xen-based hypervisor has faced increasing competition from KVM-based open source virtualization. Despite Xen’s greater maturity and market share, KVM has been promoted by several major Linux distributors, most notably Red Hat, and also found a home at several large hosting providers, such as IBM and The Planet.
The long road to acceptance
In theory, the move puts Xen back on a level playing field with KVM, which has been included in the Linux kernel since version 2.6.20 (released in September 2007), and which has found a toehold in the open source virtualization market.
Core to KVM’s rapid success is the fact that it’s included in the kernel. In contrast, Xen has always worked well on Linux platforms, but since 2007 users have needed to apply a significant kernel patch and do some configuration not included in the core Linux distributions to make it work. That’s a headache and a support issue for OSS vendors and IT staff. By contrast, since KVM’s inclusion in the kernel and declared support from the major distributions such as Red Hat and Ubuntu, getting a KVM environment going is easier and also encouraged by the distributors.
By including the remaining Xen patches directly in the kernel, users will be able to speed up development and testing times, putting it on a level -- from a compatibility and user experience standpoint -- with KVM.
The Xen community has been trying to get Xen introduced into the Linux kernel for years, but the need for multiple kernel binaries was always a sticking point with Linux kernel maintainers. In 2009, Linux creator Linus Torvalds wrote that "Xen really is horribly badly separated out. It gets way more incestuous with other systems than it should. It's entirely possible that this is very fundamental to both paravirtualization and to hypervisor behavior, but it doesn't matter -- it just means that I can well see that Xen is a f---ing pain to merge."
Two years on, according to Oracle’s Coekaerts, “a renewed effort [was]started to really convert the code into patches considered OK.”
Xen has three potential modes it can run -- paravirtualized, or pv; a combination of a paravirtualized management domain kernel and a fully virtualized guest, called pv-hvm; or a fully virtualized stack, called hvm. One of the code changes that pushed acceptance forward, according to Coekaerts, is a new mode called pv-ops, “a mode where the kernel can switch into pv, hvm or pv-hvm at boot time. Instead of having multiple kernel binaries, there is just one and it will lay out its operations at boot time when it detects on what platform it runs.”
Market uptake is the question
Even with backing from major distro vendors, enterprise users have faced an uphill battle deploying KVM, which tends to come up against proprietary incumbents such as VMware. In some cases, existing Xen deployments (Red Hat Enterprise Linux supported both Xen and KVM until version 6.0, when it went exclusively with KVM) and Oracle’s backing for Xen in Oracle VM have made Xen “sticky,” but other Linux users said this week they’d rather push forward with KVM for new deployments than look back at Xen, regardless of whether it’s in the kernel.
“As CPUs become more powerful and on-chip virtualization advances, the benefit for paravirtualization that Xen offers has decreased,” said Ryan Murray, an infrastructure architect at financial cloud service provider Ganart Technologies, Inc. “As long has Red Hat doesn't support Xen in its current version, I don't see Xen making much of an impact on the market.”
“For Xen users I'm sure it's a welcome change and a successful end to a long effort,” wrote Tim Scully, partner and systems engineer at software development company Jackpine Technologies, Inc. in an email. “In my opinion, Xen has suffered from too many deficiencies over the past five to seven years for this kernel integration to make a big splash. While Xen was fighting the long road to get into the Linux kernel, KVM and others were making advances in technology, functionality, and market share. This will be tough for Xen to overcome.”
Beth Pariseau is a senior news writer for SearchServerVirtualization.com. Write to her at firstname.lastname@example.org.