KVM还是Xen:究竟该选择哪一个?

原创
云计算 虚拟化
不得不承认虚拟化技术的发展是相当迅速的,如果你没有跟上KVM和Xen的发展速度,在考虑购买哪一种虚拟化平台时,你可能会很困惑。

【51CTO精选译文】2002年Xen首次发布时,这个基于GPL许可的Hypervisor就被看作是Linux虚拟化平台的王者,时光飞逝,Xen不知不觉已经走过8个年头,但现在Xen似乎成了曾经受宠的弃儿,当初力撑它的RedHat已经正式转向自家的KVM,而且KVM占有得天独厚的优势,因为它已经成功进入Linux内核。

不得不承认虚拟化技术的发展是相当迅速的,如果你没有跟上KVM和Xen的发展速度,在考虑购买哪一种虚拟化平台时,你可能会很困惑。

KVM和Xen

Xen是一个支持x86、x86_64、安腾和ARM架构的Hypervisor,可以在它支持的处理器架构上运行Linux、Windows、Solaris和部分BSD客户机操作系统,许多公司都支持Xen,当然主要还是思杰(Citrix),Oracle VM其实也是基于Xen包装而成的,当然还有更多的虚拟化解决方案都是以Xen为基础的,Xen可以安装在系统上,也可以直接安装到裸机上。

KVM是一个集成到Linux内核的Hypervisor,很明显,宿主操作系统必须是Linux,支持的客户机操作系统包括Linux、Windows、Solaris和BSD,运行在支持虚拟化扩展的x86和x86_64硬件架构上,这意味着KVM不能运行在老式CPU上,新CPU如果不支持虚拟化扩展也不能运行(如英特尔的Atom处理器),在大多数情况下,对于数据中心来说,这些限制都不是问题,因为每个几年硬件都会升级换代,但最近也有些数据中心选择Atom架构,那么注定它们不能使用KVM。

如果你想运行Xen宿主主机,你需要有一个支持的内核,Linux默认一般不会提供Xen宿主主机支持,从2.6.23内核开始支持作为客户机运行,如果你的Linux发行版不支持Xen,你必须自己定制内核,或直接选择如Citrix XenServer这样的商业解决方案,但问题是这些解决方案不是完全开源的。

许多人都是自己构建内核,Xen可以运行在很多服务器上,从低成本的虚拟专用服务器(Virtual Private Server,VPS)供应商,如Linode,到大型公司,如Amazon的EC2,这些公司都加大了这方面的投入,不会轻易转换到其它技术,即使技术上KVM超越了Xen,也不能一下就取代现有的解决方案,更何况KVM在技术上的优势并不明显,有些地方甚至还未超越Xen,因为Xen的历史比KVM更悠久,它也比KVM更成熟,你会发现Xen中的某些功能在KVM还未实现,因此我们看到KVM项目的Todo List很长,KVM的优势也仅限于它进入了Linux内核。从RHEL 5.4开始,RedHat就支持KVM了,从RHEL 6.0开始RedHat就完全抛弃Xen了。

RedHat弃用Xen给克隆REHL的公司带来了麻烦,迫使他们也接受KVM,要么只有自行维护一套包含Xen的分支,但这无疑会增加它们的成本。

KVM的发展相当迅速,虽然目前还在追赶Xen,但Xen的领先地位恐怕很快就会丧失,我们不得不担忧Xen的未来出路。

#p#

只能有一个存活下来吗?

选择KVM还是Xen其实就是选择厂商,如果你想使用RHEL,那么KVM无疑是首选,如果你想运行在Amazon EC2上,那么你将使用Xen,主流Linux厂商似乎都站在KVM一边,但它们也为Xen提供了大量的商业支持,Citrix可能不会很快就消失。

在IT行业想要成为永久的赢家是不可能的,Xen和KVM将会在相当长一段时间内共存,这个市场足够大,需要多种解决方案,这两种技术背后都有充足的技术支持让它们在未来数年内和平共处。

原文名:KVM or Xen? Choosing a Virtualization Platform 作者:Joe 'Zonker' Brockmeier
 

【编辑推荐】

  1. 你会选谁:Red Hat还是Ubuntu KVM虚拟化?
  2. Xen虚拟机迁移到KVM六步走
  3. 红帽RHEL5.4预计9月发布 加入KVM技术
责任编辑:王勇 来源: 51CTO
相关推荐

2022-09-30 09:33:55

ViteCLI

2020-12-04 15:19:44

物联网计算机科学

2018-04-25 07:50:12

云计算IaaSPaas

2023-10-05 10:32:18

2021-11-19 14:44:17

树莓派Linux

2021-09-03 06:38:39

DebianUbuntuLinux

2022-04-02 09:05:47

AlmaLinuxRocky LinuCentOS

2022-10-08 09:03:16

JuliaPython机器学习

2018-08-12 23:15:04

iOS Android 操作系统

2017-10-24 15:46:03

VMwareOpenStackvSphere

2016-10-28 12:48:23

R语言Python数据分析

2013-07-30 09:57:25

UbuntuLinux Mint

2018-02-10 17:59:10

LinuxcURLwget

2021-10-04 18:44:06

Linux MintFedora操作系统

2020-06-17 15:00:27

FedoraUbuntuLinux

2023-10-08 11:53:29

2022-04-10 23:02:08

GoRust语言

2022-12-02 13:52:44

FleetCode

2018-07-06 09:06:35

MemcachedRedis缓存

2019-04-15 14:52:02

点赞
收藏

51CTO技术栈公众号