详解四大服务器虚拟化架构

日期: 2008-04-22 作者:Andrew Kutz翻译:涂凡才 来源:TechTarget中国 英文

在本指南中,你将了解到服务器虚拟化、操作系统虚拟化、主机式虚拟化(hosted virtualization)和裸机虚拟化(bare-metal virtualization)的一些细节和它们的差异。还可以了解一下叫做混合虚拟化(Hybrid Virtualization)的新型虚拟技术,以及Microsoft的2008计划如何影响虚拟领域。   VMware发布ESX已经有七年了,虽然VMware是x86服务器虚拟化的开路先锋,但不再是虚拟化领域唯一的佼佼者。还有一些具有实力的厂商也创建了各自品牌的虚拟化产品。

为了帮助您对各种产品进行分类,TechTarget中国的虚拟化专家Andrew K……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在本指南中,你将了解到服务器虚拟化、操作系统虚拟化、主机式虚拟化(hosted virtualization)和裸机虚拟化(bare-metal virtualization)的一些细节和它们的差异。还可以了解一下叫做混合虚拟化(Hybrid Virtualization)的新型虚拟技术,以及Microsoft的2008计划如何影响虚拟领域。

  VMware发布ESX已经有七年了,虽然VMware是x86服务器虚拟化的开路先锋,但不再是虚拟化领域唯一的佼佼者。还有一些具有实力的厂商也创建了各自品牌的虚拟化产品。为了帮助您对各种产品进行分类,TechTarget中国的虚拟化专家Andrew Kutz对目前市场上使用的四种虚拟化架构类型进行了回顾,并指出这些模式今后的发展趋势。

  主机式虚拟化(hosted virtualization)

  第一种虚拟化类型是大多数用户最熟悉的:主机式虚拟化。所有的桌面虚拟化产品都采用了这种虚拟化架构,如VMware Workstation,VMware Fusion和用于Mac系统的Parellels Desktop。

  可以看到,主机式虚拟化方法是依赖于现有的操作系统。管理程序位于操作系统之上,管理着各个虚拟机。

  这种虚拟化类型有很多好处,用户可以在桌面计算机安装虚拟产品,像安装其它任何应用程序一样,然后继续使用桌面操作系统。同时,主机式虚拟化产品利用主机操作系统设备驱动的优点,使主机支持的任何硬件,虚拟化产品都能支持。

  然而,主机式虚拟化也有它的不足之处。需要注意的是在管理程序和主机操作系统中都有一个内存管理器和CPU调度工具(scheduler)。这样的结构给企业增加了很多管理费用。采用这个方法的原因是主机式虚拟化产品必须优先于硬件虚拟化扩展之前创建。

  主机式虚拟化产品如今依然很强势(VMware Workstation 6.0可以证明这一点),这个趋势将会持续多久我们还无从得知。事实上,第四种虚拟化架构(混合虚拟化)能提供主机式虚拟化的所有好处,而且不会额外增加企业的管理开销。

  像VMware、微软和Parallels是否会将它们的主机式产品采用混合虚拟化模式,只有时间才能说明。

  裸机虚拟化(bare-metal virtualization)

  第二种虚拟化架构是目前企业数据中心的主导:裸机虚拟化。VMware ESX无疑是当前企业虚拟化市场的主导者,它采用的就是裸机虚拟化架构。

  很显然,上述架构中没有现有的操作系统,管理程序直接位于硬件之上,因此叫做“裸机虚拟化”。之所以很多数据中心采用裸机产品(如ESX和Xen)是因为它提供的速度,它没有主机式虚拟化采用的操作系统,因而减少了管理开销。

  有人也许会问,为什么把ESX和Xen归为一类,难道它们不是使用不同的架构吗?

  可以说是也可以说不是。先说明一下全虚拟化(full-virtualization)和准虚拟化(para-virtualization)之间的差别。在全虚拟化中,VM子操作系统根本不知道它是虚拟的,而准虚拟化需要调整VM子操作系统,以便进行虚拟化。ESX一直都是采用全虚拟化,而Xen开创了准虚拟化。事实上,这两种形式都属于裸机虚拟,而且现在ESX和Xen都采用这两种形式。因此,就本文而言,全虚拟化和准虚拟化都属于裸机虚拟化。

  裸机虚拟化也有一些不足之处。通常,厂商会发布一个硬件兼容清单(HCL),说明它们的虚拟产品支持什么硬件。这是因为为了让管理程序尽可能精瘦,管理程序内核中的设备驱动数目要最小化。有些管理程序对此有其他的权宜之策,如Xen和驱动器域,但这些不太适合想寻求稳妥解决办法的人。

  我认为,裸机虚拟化之所以在数据中心应用上如此有吸引力,不是因为它的性能,而是部署虚拟化的产品被作为设备或服务器操作系统进行分布。以VMwareESX或XenServer为例,你通过安装CD-ROM启动服务器,然后它就安装到硬盘上,,不会和现有的操作系统发生混乱。嵌入式管理程序是很好的虚拟化设备实例。开启服务器,它为虚拟化架构进行自身配置。不过,裸机虚拟化的这些特点都不是来源于它的架构本身,这就是为什么今后它可能还会面临来自另外三种架构的激烈竞争的原因。

  操作系统虚拟化(OS Virtualiztion)

  近来,操作系统虚拟化一度掀起阵阵浪潮,因为传闻微软想进入操作系统虚拟化技术市场。最有名的使用操作系统虚拟化的产品是Parallels Virtuozzo和Solaris Containers。

  虽然有现成的操作系统,但操作系统虚拟化的管理开销非常低,因为它不是采用传统的管理程序来管理虚拟机。相反,操作系统虚拟化模式把单个的操作系统划分为多个容器(container),使用容器管理器来便于管理。这种虚拟化架构有许多好处,其中最重要的是快速的性能。另一个好处是减少磁盘空间需求。由于多个容器可以使用相同的文件,因此降低了对磁盘空间的需求。

  特别声明一点,操作系统虚拟化对操作系统的要求。容器操作系统和主机操作系统必须是同一个操作系统。这就意味着,如果使用Solaris容器,那么所有的容器都必须运行Solaris;或者如果在Windows 2003 Standard Edition上执行Virtuozzo容器,那么它的所有容器必须也运行Windows 2003 Standard Edition。

  对有些人来说,容器操作系统要求太多,不宜进入,但许多IT管理员把操作系统虚拟化作为实部署虚拟桌面和Web服务器的最佳架构,因为这些平台共享很多常用文件。然而就像前面两种架构一样,操作系统虚拟化的支持者也可能很快就跳到混合虚拟化模式。

  混合虚拟化(Hybrid virtualization)

  直到文章的结尾才说到这个架构,现在我将说明原因。

  混合虚拟化模型同主机式虚拟化一样使用主机操作系统,但不是将管理程序放在主机操作系统之上,而是将一个内核级驱动器插入到主机操作系统内核。这个驱动器作为虚拟硬件管理器(VHM)协调虚拟机和主机操作系统之间的硬件访问。可以看到,混合虚拟化模型依赖于内存管理器和现有内核的CPU调度工具。就像裸机虚拟化和容器化的虚拟化架构,没有冗余的内存管理器和CPU调度工具使这个模式的性能大大提高。不过,和操作系统虚拟化不同的是,混合虚拟化模式没有子机必须在相同主机操作系统类型下创建的限制。

  混合虚拟化集上述其它架构的所有优点于一身,却几乎没有任何缺点。不过,也确实存在一些反对观点。混合虚拟化模型需要具有虚拟化扩展功能的底层处理器(如Intel-VT和AMD-V)。这就意味着,老一点的硬件也许可以被其它虚拟化架构使用,但对混合虚拟化产品而言毫无用处。有些人觉得现有内核的内存管理器和CPU调度工具的重复使用是件好事,而据有些业内分析师称,依赖一个不受控制的实体(如第三方内核)并不是一件好事。这样就把VHM(虚拟硬件管理器)的命运交给了它载入的内核,虽然有人不赞同,但在混合虚拟化架构中,HVM不是一个管理程序。例如,许多人都认为KVM是一个管理程序,而事实并不是那么简单。

  2008年的虚拟化

  那么,2008年将会发生什么呢?服务器虚拟化会发生什么呢?微软将收购操作系统虚拟化技术,以进一步扩大其产品线。但是,他们内部很可能会使用NT内核,创建混合虚拟化模式。Windows 7很可能会和HVM一起推出,将使用微软即将发布的内置VM管理器,来易于创建虚拟机。另一方面,无法获得内核源代码的虚拟化产品厂商将被迫继续发布主机式虚拟化产品。这将让微软在虚拟机性能方面占有一定优势。

  操作系统虚拟化最终将会销声匿迹,取而代之的是混合虚拟化模型。目前磁盘空间价格很低,因此,与混合虚拟化架构相比,操作系统虚拟化胜出的一些优点还不足以成为不向混合虚拟化架构转换的原因。混合虚拟化架构具有操作系统虚拟化模式的性能,并且没有单一操作系统的缺点。由于厂商已经在裸机虚拟化产品上投入了巨大的资金,所以裸机虚拟化产品将会继续盛行。然而,基于混合虚拟模式的低价格产品将取代昂贵的裸机虚拟竞争产品。

作者

Andrew Kutz
Andrew Kutz

Andrew是微软MCAD和MCSD认证专家。Andrew具有从事技术行业十多年的经验。在过去的六年中,他一直专注于最新的技术。同时任职位于美国奥斯汀的德克萨斯州立大学。两年前,Andrew自己成立一家咨询公司和开发中心,叫做lostcreations。他同时也是奥斯汀VMware用户群(VMUG)的创始成员。他目前开发的项目是Sudo for Windows(http://sourceforge.net/projects/sudowin)。 Andrew在2004年开始专注客户虚拟化工作;2005年开始推进德克萨斯州立大学中心技术部门信息技术服务(ITS)的服务器虚拟化。2006年,Andrew设计并实施了ITS的第一个企业虚拟服务器基础设施环境。

相关推荐