每当我需要从我们的一台机器创buildVPS,我(重新)认为虚拟化技术,并且似乎最终OpenVZ是最适合的性能原因,当我想要的是VPS之间的干净分离。 所有运行的GNU / Linux。
我的问题是,对于具有以下事实的情况,何时更适合Xen? 这里是情况事实:
通常情况下,我会对OpenVZ的决定感到满意,但我一直在阅读关于使用Xen的知名工程师的想法,这些场景与我的想法非常相似, Github就是一个例子 。
OpenVZ容器开销非常低,易于从主机pipe理。 但是,OpenVZ的主要缺点是容错性和灵活性。
在OpenVZ容器中运行的代码可能会触发内核崩溃,导致整个节点崩溃。 如果允许容器充当NFS客户端,则NFS挂起可能会导致整个系统停止运行。
OpenVZ容器必须运行与主机相同的内核版本。 他们不能插入内核模块。 此外,他们只能使用OpenVZ虚拟化的Linuxfunction,所以你不能使用autofs ,例如(截至2013年)。
如果您知道您可以忍受这些限制,那么请尝试使用OpenVZ。 如果不能解决问题,切换到完整的虚拟化解决scheme并不难。 (这个过程的概要是:创build一个磁盘映像,loopback-mount它,安装一个内核,重新启用一些inittab条目。)
你可以相信那些将要pipe理和使用VPS的人,但是你能相信这个软件吗? 如果客户系统发生混乱,可能会导致整个节点崩溃。 如果客户系统易受攻击,那么整个节点都处于危险之中。
当然,任何虚拟机pipe理程序也是一个软件,因此容易受到漏洞和漏洞的影响,但与容器技术相比,攻击面更小,隔离更强。