|
http://www.linux.com/news/enterprise/systems-management/327628-kvm-or-xen-choosing-a-virtualization-platform
Monday, 12 July 2010 00:00Joe 'Zonker' Brockmeier
When Xenwas first released in 2002, the GPL'd hypervisor looked likely to take the crown as thevirtualization platform for Linux. Fast forward to 2010, and the new kid in townhas displaced Xen as the virtualization of choice for Red Hat and livesin the mainline Linux kernel. Which one to choose? Read on for our lookat the state of Xen vs. KVM.
Thingsin virtualization land move pretty fast. If you don't have time to keepup with the developments in KVM or Xen development, it's a bit confusing to decide which one (if either) you ought to choose. This is aquick look at the state of the market between Xen and KVM.
KVM and Xen
Xenis a hypervisor that supports x86, x86_64, Itanium, and ARM architectures, and can run Linux, Windows, Solaris, and some of the BSDsas guests on their supported CPU architectures. It's supported by a number of companies, primarily by Citrix, but also used by Oraclefor Oracle VM, and by others. Xen can do full virtualization on systemsthat support virtualization extensions, but can also work as a hypervisor on machines that don't have the virtualization extensions.
KVM is a hypervisor that is in the mainline Linux kernel. Your host OS has to be Linux, obviously, but it supports Linux, Windows, Solaris, and BSDguests. It runs on x86 and x86-64 systems with hardware supporting virtualization extensions. This means that KVM isn't an option on older CPUs made before the virtualization extensions were developed, and it rules out newer CPUs (like Intel's Atom CPUs) that don't include virtualization extensions. For the most part, that isn't a problem for data centers that tend to replace hardware every few years anyway — but it means that KVM isn't an option on some of the niche systems like the SM10000that are trying to utilize Atom CPUs in the data center.
If you want to run a Xen host, you need to have a supported kernel. Linux doesn't come with Xen host support out of the box, though Linux has been shipping with support to run natively as a guestsince the 2.6.23 kernel. What this means is that you don't just use a stock Linux distro to run Xen guests. Instead, you need to choose a Linux distro that ships with Xen support, or build a custom kernel. Or go with one of the commercial solutions based on Xen, like Citrix XenServer. The problem is that those solutions are not entirely open source.
Andmany do build custom kernels, or look to their vendors to do so. Xen isrunning on quite a lot of servers, from low-cost Virtual Private Server(VPS) providers like Linodeto big boys like Amazon with EC2. A TechTarget articledemonstrates how providers that have invested heavily in Xen are not likely to switch lightly. Even if KVM surpasses Xen technically, they'renot likely to rip and replace the existing solutions in order to take advantage of a slight technical advantage.
AndKVM doesn't yet have the technical advantage anyway. Because Xen has been around a bit longer, it also has had more time to mature than KVM. You'll find some features in Xen that haven't yet appeared in KVM, though the KVM project has a lengthy TODO listthat they're concentrating on. (The list isn't a direct match for parity with Xen, just a good idea what the KVM folks are planning to work on.) KVM does have a slight advantage in the Linux camp of being the anointed mainline hypervisor. If you're getting a recent Linux kernel, you've already got KVM built in. Red Hat Enterprise Linux 5.4 included KVM supportand the company is dropping Xen support for KVM in RHEL 6.
Thisis, in part, an endorsement of how far KVM has come technically. Not only does Red Hat have the benefit of employing much of the talent behind KVM, there's the benefit of introducing friction to companies that have cloned Red Hat Enterprise Linux and invested heavily in Xen. By dropping Xen from the roadmap, they're forcing other companies to drop Xen or pick up maintenance of Xen and diverging from RHEL. This means extra engineering costs, requiring more effort for ISV certifications, etc.
KVMisn't entirely on par with Xen, though it's catching up quickly. It hasmatured enough that many organizations feel comfortable deploying it inproduction. So does that mean Xen is on the way out? Not so fast.
There Can Be Only One?
Thechoice of KVM vs. Xen is as likely to be dictated by your vendors as anything else. If you're going with RHEL over the long haul, bank on KVM. If you're running on Amazon's EC2, you're already using Xen, and soon. The major Linux vendors seem to be standardizing on KVM, but there's plenty of commercial support out there for Xen. Citrix probably isn't going away anytime soon.
It'stempting in the IT industry to look at technology as a zero sum game where one solution wins and another loses. The truth is that Xen and KVMare going to co-exist for years to come. The market is big enough to support multiple solutions, and there's enough backing behind both technologies to ensure that they do well for years to come. |
|