Red Hat has announced it’s virtualization plans for the future which includes a switch from Xen to KVM in Red Hat Enterprise Linux 5.4, three new virtualization products based on KVM, Solid ICE and the spice protocol. Red Hat which acquired these tools as part of the Qumranet acquisition will be making them free and open source software and develop them into a cross platform management tool.
Slated for graduated rollout over the next 12 months, the new products include: Red Hat Enterprise Virtualization Manager for Servers; Red Hat Enterprise Virtualization Manager for Desktops; Red Hat Enterprise Linux (RHEL); and Red Hat Enterprise Virtualization Hypervisor.
Red Hat will continue to support Xen in Red Hat Enterprise Linux 5 but plans to aggressively adopt KVM as it’s strategic choice going forward. KVM is part of the Linux kernel and unlike Xen, automatically takes advantage of all the Linux’s kernel improvements. KVM has also been the default in Fedora for a few releases. Red Hat continues to work on merging more of the Xen changes upstream as well.
Distancing themselves from Xen and moving to KVM, which is an integrated and supported part of the core kernel now, is a thoroughly sensible thing to do. Trying to maintain separate Xen kernel branches is just plain silly, and it’s not sustainable. Not only is it not sustainable it’s unlikely to see enough future scrutiny, innovation and ideas as KVM will do as part of the kernel. It’s small wonder Citrix have made their offering free now:
http://community.citrix.com/blogs/citrite/simoncr/2009/02/23/Free~*…
While I don’t agree with some of the technical directions Red Hat has made over the years, and they might ultimately still cost them, they are pretty much the only Linux company right now which has the foresight to make a firm decision on what technical direction to go in and stick with it. They’re the only one that see the importance in those decisions. It’s why they are the number one Linux company in terms of revenue right now, and why they’re not running around like a headless chicken trying to ‘interoperate’ with Microsoft or anyone else.
It all adds up.
To be fair the Red Hat people working on Fedora’s Xen support initiated an effort to mainline all possible Xen guest functionality. Citrix/XenSource have been making efforts too with the result that AFAIK all the important domU (guest) functionality is now in mainline, with patches for dom0 (“host”) functionality hopefully going into the next kernel release. These use the pv-ops framework so it should be possible, in principle, for Fedora / RedHat / anyone to build a single kernel for Xen dom0 / Xen domU / lguest / VMware paravirt / bare metal. It’s pretty cool.
This should mean that distributors can stop forward-porting Xen patches relentlessly, saving themselves some effort – and possibly stop having to ship a separate kernel, too. Xen itself – the hypervisor – is not getting merged into the kernel as it’s really a separate piece of software. Hopefully once the upstreaming of the Xen support patches are done, the most Citrix will need to supply will be Xen + tools + a few “extra functionality” patches to Linux, rather than including a whole fork of the kernel.
Having this support in mainline does mean that Xenified hosts can benefit from lots of upstream stuff – new drivers, new filesystems, new network protocols. *Some* very low level hardware-related stuff does need to go into the Xen hypervisor (development of numa support springs to mind – I saw work on that a while ago), so it doesn’t *all* come “for free”, even though lots of good stuff should Just Work. If you want to use proprietary drivers, though, all bets will be off.
This is not, mind you, to say that I disagree with RedHat’s decision to support KVM. It seems to be being developed nicely within the Linux Kernel development model and is in a position to benefit well from future advances in Linux (stuff like NUMA host awareness should Just Work, although I’d imagine KVM might need work to pass that information usefully to the guests). The neat code like SPICE that they got through Qumranet sounds promising too. Most systems are shipping with VT-x or AMD-V so Xen’s ability to support virtualisation without hardware support probably isn’t that important to Red Hat for their future business. KVM is also way lower impact to add to a system!
Essentially: Xen has come a really long way in Playing Nice with the rest of the community and being easier for distros to support / users to tinker with. Still, KVM is more tightly integrated with Linux and even easier – and does what it does very well, as I understand it. I think we living in exciting times for Linux virtualisation – and that an increasing amount of future exciting stuff is going to be the work of Red Hat and their Qumranet-based technologies.
Disclaimer: I do research work based on Xen but am not involved with the main development efforts any more.
I don’t doubt that Red Hat have put in a lot of effort, and they’ve done a good job, but the writing has been on the wall with Citrix’s direction for Xen over time and it has been rather surplus to requirements. This is Serguei Beloussov’s opinion (Parallels), and I can’t say I disagree with him:
http://blogs.zdnet.com/virtualization/?p=726
Xen has become a partner to Microsoft rather than something that could run Windows under Linux well and a valid competitor.
Yes, their effort did rather seem to kickstart the current serious mainlining effort which actually seems to be working (previous attempts always stalled). That said, the Citrix/XenSource effort led by Jeremy Fitzhardinge seems to have been very productive – Jeremy apparently has great coding skills and superhuman patience, plus a real feel for how to interact with LKML!
From RH’s POV this saves them some effort since they’re committed to supporting Xen into the future *anyhow* due to its inclusion in RHEL 5. I’m certainly not contending that they’re happy with having to continue to support it – I’m pretty surprised that they’re switching to KVM as default within the RHEL 5 series though. They must be very keen on it.
XenSource and then Citrix has chosen an interesting market direction. I assume it makes some sense to them in terms of chasing revenue (virtualising Windows being perhaps a bigger market share for now) and turning their remote desktop stuff into a virtual desktop infrastructure product. They do have the advantage that Citrix has a massive customer base already running their remoting apps who they can try to push XenServer onto as a companion solution – it probably gives them more leverage vs Hyper-V than one might at first expect. Citrix also has many years of experience out-thinking MS in their own market. I don’t envy them the task of trying to out-code and out-market MS on their home turf though, especially as Citrix will inevitably have to support the MS solution as well :-S
I think from the OSS perspective Xen is much less interesting than it once was, although some solid effort seems to be being made to improve the power of the Open Source codebase (recent release of Ocaml Xenstored previously exclusive to the commercial codebase) and to interact well with upstream projects (Qemu, Linux kernel, etc). It’s been clear that XenSource / Citrix don’t want to be / become an “Open Source Company” like RedHat. Overall though I don’t think Xen’s now the OSS game changer that it originally looked like it could be, though it played a major role in “setting the scene” for OSS virtualisation.
With all that said, it’ll be interesting to see how things progress from here: Novell ships Xen and haven’t indicated they’ll switch to KVM (AFAIK) – they even made patches to add Hyper-V hypercall support to Xen so it could run Windows guests with greater performance. Oracle seem to still be working hard on Xen – this is pretty interesting, given their Linux is based on RHEL. I wonder what’ll happen there… Sun has put a lot of effort into Xen support but they also have Zones and VirtualBox – I wonder what they’ll do with all those virtualisation solutions…
Maybe in a few years things will be less confused 🙂 On the other hand, maybe there’ll still be an abundance of competing, cross-pollinating projects – wouldn’t be a bad outcome I guess…
Another quality announcement from Red Hat. I was just asking about Solid ICE and spice on the fedora mailing list the other day. I really don’t like the current remote desktop capabilities in Linux right now. Supposedly spice can support client end video processing, making remote desktops truly work the same as local installs.
I thought they would be bringing out RHEL6 sometime soon, so 5.4 will have this new feature?