艰难的选择:Xen 还是 KVM

艰难的选择:Xen 还是 KVM

我正在构建一个新的工作站,并希望在 Windows 的同时使用 Linux。这似乎是熟悉 Xen 或 KVM 的好机会。

所以我面临一个选择。我认为 Xen 是一种类型 1 的虚拟机管理程序,其域之间的划分非常清晰。另一方面,KVM 似乎在最新内核的流行度方面处于领先地位。

我谷歌搜索了“xen vs kvm”,并把第一页结果分开。我也进行过几次服务器故障搜索,现在脑子里有一堆乱七八糟的事实,并不是所有的事实都是最新的。

简而言之,我不确定该往哪个方向走。对我来说真正重要的是:

  • 无论是在虚拟机管理程序中还是在客户机中,稳定性
  • 性能合理,尤其是对于 Windows 客户机
  • 强力客人隔离
  • 易于管理
  • USB 直通至宾客

考虑到所有这些,您认为哪个是更好的选择?


更新——几个月后。

为了让不久的将来有同样问题的人知道,事情的最终结果如下:

  • 我在 OpenSuse 11.2 上开始使用 Xen,那时距离 11.3 的发布还有几天。我发现 Suse 更新渠道非常慢(不知道这是否只是我的问题)。我很快就启动并运行了 Xen,但客户机的网络适配器却出了不少问题。
  • 在我做这件事的时候,Ubuntu 9.10 发布了,所以我决定试一试。系统本身很棒,KVM 开箱即用。然而,我偶尔会遇到稳定性问题,我感觉可能与 KVM 有关(当时其他怀疑是 Compiz 和 NFS)。
  • 为了查看稳定性问题是否与 KVM 有关,我决定尝试 VirtualBox,发现它更易于使用、界面友好且性能出奇的好。
  • 稳定性问题还没有消失,所以我猜想这不是 KVM 的错,但目前我继续使用 VirtualBox,因为它使用起来感觉更好,并且具有一些不错的功能和良好的性能。

这就是我今天的情况。希望这对某些人有用。

答案1

我会选择 XEN。主要有两个原因。首先,您可以通过安装 OpenSUSE 11 轻松地安装和配置它,并且您还可以获得一个 GUI 来管理它。但是所有技术内容仍然在 shell 提示符下,因此您可以随时了解 XEN 的内部结构。第二个原因是 XEN 是提供 VPS 托管的公司的首选,如果您认为将来可能想用您的知识来找工作,那么 XEN 是一个更好的选择。如果您正在考虑职业提升效果,请务必查看 XEN 的内部结构、Linux 上的网络虚拟化(它不是 XEN 的一部分,但可用于构建路由 VM 的测试平台)和 XEN api。有各种 XEN 管理包可以为您处理管理,但在特殊情况下,能够编写一些脚本(可能使用 Python)来执行您自己的管理/监控/报告总是好的。

XEN 满足您的所有要点,并且已经存在很长时间,这就是它成为托管人们的选择的原因。

请注意,您可能还想了解 OpenVZ,它与 XEN 完全不同,但也被 VPS 托管公司广泛使用。由于 OpenVZ 使用虚拟化的容器模型,因此您实际上可以在 XEN 客户机内运行 OpenVZ。

在执行此操作时,请考虑磁盘存储。您可能需要卷管理(OpenSUSE 中也包含此功能,并带有漂亮的 GUI),以便您可以将硬盘分区或卷分配给客户操作系统。例如,您甚至可以将其设置为可以从 Windows 分区启动或由 XEN 客户机使用。

答案2

通过使用虚拟器无论您使用 Xen 还是 KVM,它都会呈现相同的界面。稳定性在很大程度上取决于底层发行版 - Xen 仅适用于某些(通常是较旧的)内核,而 KVM 是主流,因此每次发布都会得到修复。

答案3

RedHat 和 Canonical (Ubuntu) 都选择 KVM 作为未来的虚拟化方法。我启动了一台装有 RedHat 5.4 的 KVM 服务器,在桌面环境中运行服务器或客户机时没有遇到任何问题。在我看来,市场开始青睐 KVM。

https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Issue76

http://www.redhat.com/virtualization-strategy/

答案4

答案是:取决于您的需求。我发现,如果您想将虚拟机用作桌面,KVM 并不是很好,因为它缺乏 3D 加速能力,声音可能很棘手等。我以前使用过 Xen,但我将两者都归类为“服务器虚拟化”软件。如果您要在工作站上测试服务器虚拟机,我会选择 KVM - 它的明显优势是不需要自定义内核或任何东西。Windows 运行良好,整个技术足够稳定,可用于日常使用,甚至可用于数据中心的生产使用。但是,如果您打算将虚拟机用作桌面(即在 Windows 上运行一些无法在 Linux 上运行的程序),我建议使用 VirtualBox。

相关内容