对于受信任的仅 Linux 主机/客户机,为什么要使用 Xen 而不是 OpenVZ?

对于受信任的仅 Linux 主机/客户机,为什么要使用 Xen 而不是 OpenVZ?

每次我需要从我们的一台机器创建 VPS 时,我都会(重新)考虑虚拟化技术,最终似乎 OpenVZ 是最适合性能的,而我想要的只是 VPS 之间的清晰分离。全部运行 GNU/Linux。

我的问题是,对于具有以下事实的情况,什么时候选择 Xen 更为可取?以下是情况事实:

  • 我相信所有使用 VPS 的人都不必担心虚拟化安全问题
  • 主机和客户机都将运行 GNU/Linux
  • 我和我的团队自行管理所有 VPS

通常情况下,我会对使用 OpenVZ 的决定感到满意,但我不断读到一些知名工程师在我认为与我非常相似的场景中使用 Xen 的消息,Github存在一个例子

答案1

OpenVZ 容器的开销非常低,并且易于从主机进行管理。然而,OpenVZ 的主要缺点是容错性和灵活性。

在 OpenVZ 容器内运行的代码可能会触发内核崩溃,从而导致整个节点崩溃。如果您允许容器充当 NFS 客户端,NFS 挂起可能会导致整个系统停滞。

OpenVZ 容器必须运行与主机相同的内核版本。它们无法插入内核模块。此外,它们只能使用已通过 OpenVZ 虚拟化的 Linux 功能,因此您无法使用autofs(例如,截至 2013 年)。

如果您知道您可以忍受这些限制,那么请尝试 OpenVZ。如果不行,切换到完整的虚拟化解决方案并不困难。(该过程的概要是:创建磁盘映像、回送安装它、安装内核、重新启用一些 inittab 条目。)

答案2

您可以信任人们谁将管理和使用 VPS,但你能信任软件? 如果客户系统崩溃,则可能导致整个节点崩溃。如果客户系统存在漏洞,则整个节点都处于危险之中。

当然,任何虚拟机管理程序也是一种软件,因此容易受到错误和漏洞的影响,但与容器技术相比,其攻击面更小、隔离性更强。

相关内容