Parallels Virtuozzo虚拟化方法剖析:与VMware、微软和Citrix XenServer的不同之处

一旦提及虚拟化技术,人们一般首先想到的都是VMware、微软和Citrix XenServer,却忘记了虚拟化家族中另外一个很重要的成员。Parallels Virtuozzo使用一种截然不同的虚拟化方法,提供了一种可以代替hypervisor虚拟化实现方式。
在Parallels Virtuozzo技术中,操作系统的虚拟化包括一个在标准的主机操作系统之上的虚拟层。然后,在这个操作系统虚拟层之上,创建独立的容器(域)来最大化软件和硬件的使用效率。
为了更好地理解操作系统虚拟化,我们最好先分析一下Xen和微软Hyper V中的基于hypervisor的虚拟化技术是如何工作的。Hypervisor虚拟化技术使用瘦Linux内核基础层(这个Linux内核基础层对底层有特定的虚拟化属性)。然后在hypervisor层之上创建虚拟机。
这种模式中的一个瓶颈问题是不需要虚拟化所有硬件的驱动程序而使用硬件资源。诸如泛(准)虚拟化技术对该问题提供了一种解决方案。然而在全虚拟化技术中,必须首先虚拟化所有的硬件资源,然后才可以分配给虚拟机使用。在虚拟机内部,用户可以运行一个操作系统的完整拷贝,也可以运行用户希望虚拟化的应用程序。
在操作系统或者Virtuozzo使用虚拟化操作系统中,虚拟化的方法是不同的。在最底层,首先是一个标准的宿主操作系统。当使用 Parallels Virtuozzo技术时,这个宿主操作系统可以是一个Windows系统,也可以是一个Linux系统。在这个宿主操作系统之上,有一个虚拟层作为操作系统内部的一个应用程序运行。
虚拟层提供一个专用的文件系统和内核服务的抽象层,这保证了不同的虚拟机(在Virtuozzo中称之为容器(域))之间资源的隔离性。虚拟层确保每一个容器(域)看起来是一个独立的服务器。
操作系统虚拟化技术中最大的不同就是没有使用一个完整的虚拟机,反而使用的却是部分虚拟化技术来创建容器(域),或者使用的是宿主操作系统中的一个独立的应用程序。虚拟层确保每个容器(域)之间互不干扰。这种方法的优势就是没有必要复制功能,由一个操作系统来负责完成对硬件资源的访问控制。因此,借助驱动虚拟化,与硬件访问相关的传统性能问题在Virtuozzo方法中是不存在的。
但是这种方法也存在一个缺陷,就是缺乏在不同操作系统之间虚拟化的灵活性。从另一个方面讲,这也是一个优点。当用户运行的所有的服务器都是Windows或者Linux系统的时候,怎么可能会有对完整的操作系统虚拟化的需求呢?要知道这是一个相当复杂的支持需求。
Parallels Virtuozzo提供了一种完全不同的虚拟化技术。当其它的虚拟化技术都在试图努力提供一个虚拟平台,并且保证在这个平台之上用户可以安装一个完整的操作系统的时候,Virtuozzo却通过在一个操作系统内部提供一个独立的容器(域)的方法,完成虚拟化。这个方法更加高效,尤其是用户在仅使用同一个操作系统工作的时候效率更高。

一只海鸥  发表于: 2009-11-04

我要回答

电子邮件地址不会被公开。 必填项已用*标注

敬请读者进行回答,本站保留删除与本问题无关和不雅内容的权力。

相关推荐