相同的硬件,Xen或KVM上的速度是多less?
这里有一些基准,我发现这个问题: http : //virt.kernelnewbies.org/XenVsKVM
他们表示KVM是一个胜利者,在性能上有着显着的差异 – 这与KVM是一个2类虚拟机pipe理程序的想法相反,根据定义,它应该比types1虚拟机pipe理程序(如Xen)慢 – 或者至less网上的文章说。
对这个问题有什么想法?
该基准testing仅比较本地操作系统与单个客户操作系统的速度。 这几乎不是真实的testing。 我不认为我会重视它。 大多数KVM阵营认为,Xen在内核和用户空间之间需要太多的中断和跳跃,但是从我看到的大多数真实世界的基准testing中,还没有真正意识到,而Xen似乎要快一些比KVM。
对不起,我没有一个链接回来,方便。 但是我会说KVM正在快速改进,似乎正在赶上function设置和稳定性。
至于哪种方法更好。 Xen阵营将争辩说,一个真正的轻量级虚拟化pipe理程序是必需的虚拟化是安全和快速的。 Xen也开始受到一些供应商的固件支持,这也很好。 KVM阵营会争辩说,KVM更简单,Linux能够成为一个好的pipe理程序。
最终目前还不清楚最终会取胜的方向。 Xen肯定有先机,已经有了很好的市场份额。 但是它不在主线内核中。 希望这个很快就会改变,过去几个月在内核列表上肯定有很多关于这个的讨论。 红帽目前正在KVM阵营中,并将推动它成为虚拟化平台的首选。 即将推出的Red Hat Linux 5.4将首先包含它。 所以这可能会吸引尚未推出或致力于虚拟化平台的商店。
就工具而言,Xen和KVM都使用libvirt和QEMU以及与之相关的工具。 所以他们共享许多相同的工具,如virt-manager。
我们在工作中使用Xen,这对我们来说很好。 但是我一直在研究KVM,因为我一直无法用Xen解决一些USB转发和PCI传递问题。 我不确定KVM在这方面有什么更好的,但我想我会尝试一下。 在研究我的USB问题时,我注意到的一件事情是KVM的文档比Xen的文档更易于评估和组织。 但是没有完美的虚拟化平台,所以你需要弄清楚什么对你有意义。
我个人会根据您使用的虚拟机的可用性,支持,可靠性和适用性select虚拟化。
Xen的networking数据传输速率似乎与真正的硬件一样好,但我也与Xen和vLans以及多个以太网卡有过一些战斗。 我没有KVM的经验,但我也build议你考虑一下VMware ESX(i)。
FWIW:答案完全取决于你现在和将来的需求。
是的,我知道这是一个无益的答案。 不幸的是,这是真的。 你select的虚拟化将会影响你以后做的所有事情,所以你需要问自己几个问题。
(1)97%的本土表演和96%的本土表演(空中拔出的数字)之间的差别对你来说真的很重要吗?
(1a)如果一个人的高清访问效果更好(这实际上意味着你使用的是一个重要的数据库,或者你无法承受额外的内存),另一个在networking方面更好,这对你来说更重要?
(2)您是否有信心使用两种解决scheme提供的工具?
(3)最近的Linux内核是原生的,而另一个没有改变呢?
(3a)现在,或者你曾经…呃…你是否需要在虚拟化环境下运行不同的操作系统? 它不一定是Windows。 它可能是FreeBSD,甚至是Haiku,或者其他的。 (Xen可能在这里获胜,但我build议你检查一下。)
纵观全局,我将KVM视为Linux对Solaris区域的回应。 (我宁愿有Solaris区域,但是我看到了并行)。我认为Xen是一种成熟的pipe理程序技术,支持多种操作系统,但是如果不需要多个操作系统,则无关紧要。
说实话,你不可能走错路(上面的警告)。 我更喜欢Xen,因为我去了剑桥。 但是,如果我为RH工作,我可能更喜欢KVM。
在下面的演示中,您将会发现关于这个主题的非常有趣的信息: Xen和KVM的定量比较
做这个的人是Xen专家,但是比较起来似乎相当公平。
在这里,我可能会走出困境,但是在涉及到这样的技术时,我并不认为原始性能是最重要的指标。
我认为可用性和界面非常重要,而且支持可靠基础架构的工具也很重要。 在我看来,Xen比KVM拥有更强大的现有应用程序支持。 可能情况并非如此,因为我没有证据支持。
无论你做什么,决定什么是最好的解决scheme是你,看看整个包,不只是原始的性能。
设置KVM的难度或容易程度取决于分配。 select一个以Xen为中心的发行版将使Xen更容易。 select以KVM为中心的分布将使KVM更容易。
工具问题有些不相关,因为两者都使用libvirt。 这意味着您在大多数情况下都使用相同的pipe理工具。