为什么你会使用Xen,而不是OpenVZ,只能使用受信任的Linux主机/客户机?

每当我需要从我们的一台机器创buildVPS,我(重新)认为虚拟化技术,并且似乎最终OpenVZ是最适合的性能原因,当我想要的是VPS之间的干净分离。 所有运行的GNU / Linux。

我的问题是,对于具有以下事实的情况,何时更适合Xen? 这里是情况事实:

  • 我相信每个将使用VPS的人,虚拟化安全问题都不是问题
  • 主机和客人都将运行GNU / Linux
  • 我和我的团队自己pipe理所有的VPS

通常情况下,我会对OpenVZ的决定感到满意,但我一直在阅读关于使用Xen的知名工程师的想法,这些场景与我的想法非常相似, Github就是一个例子 。

OpenVZ容器开销非常低,易于从主机pipe理。 但是,OpenVZ的主要缺点是容错性和灵活性。

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

OpenVZ容器必须运行与主机相同的内核版本。 他们不能插入内核模块。 此外,他们只能使用OpenVZ虚拟化的Linuxfunction,所以你不能使用autofs ,例如(截至2013年)。

如果您知道您可以忍受这些限制,那么请尝试使用OpenVZ。 如果不能解决问题,切换到完整的虚拟化解决scheme并不难。 (这个过程的概要是:创build一个磁盘映像,loopback-mount它,安装一个内核,重新启用一些inittab条目。)

你可以相信那些将要pipe理和使用VPS的人,但是你能相信这个软件吗? 如果客户系统发生混乱,可能会导致整个节点崩溃。 如果客户系统易受攻击,那么整个节点都处于危险之中。

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