您的位置: 站云中国 » 云主机 » 云计算技术Hyper-V与VMware vSphere架构对比
云计算技术Hyper-V与VMware vSphere架构对比
2013-05-09 22:36 站云中国

VMware与微软两家巨头都已经在服务器虚拟化领域拥有多年打拼经验——当然,前者早在十多年前就开始主攻这一市场,相比之下后者的资历就要浅薄得多。IT员工或组织别无选择,只能积极掌握微软Hyper-V与VMware vSphere架构之间的差别,并主动了解两种技术各自的优势与缺点。只有这样,他们才能为企业员工或客户提供理想的虚拟化解决方案或者将其部署到生产环境当中。

在面对VMware vSphere与微软Hyper-V的两难选择时,我们需要慎重考量二者各自所包含的很多重要组件;不过单从架构的角度来看,以下组件在选择理想服务器虚拟化产品中发挥着最为关键的作用:

· 架构中的设备驱动程序定位;

· 控制层组件;

· 管理程序层组件;

在一般情况下,虚拟化供应商通常会提供以下三种虚拟化架构类型,它们分别是:

· Type 2 VMM

· Type 1 VMM

· Hybrid VMM

由于本文并不会详细解释三种虚拟化架构类型的具体含义,内容主要集中在Typer 1 VMM。微软Hyper-V与VMware都采用了Type 1 VMM架构,并以此为基础实现各自的服务器虚拟化技术。

Type 1 VMM可以被进一步分成两大类别,即Monolithic Hypervisor Design(即单片式管理程序设计)与 Microkernelized Hypervisor Design(即微内核式管理程序设计)。两种设计都在虚拟化产品的不同组件中采用三层结构。

最底层被称为“硬件层”,而虚拟化功能则依靠直接运行在“硬件层”上的“管理程序层”来实现。最上层被称为“控制层”,“控制层”的总体目标是控制运行在该层中的组件对象,并为虚拟机提供与“管理程序层”进行通信的必要组件。

备注:“管理程序层”有时候也会被称为“VMM层”或者“VM内核层”。

微内核式管理程序设计

微软Hyper-V采用微内核式管理程序设计,这项设计并不强制要求设备驱动程序作为管理程序层中的组成部分——设备驱动程序以独立方式运作并以“控制层”为活动空间,如下图所示:

单片式管理程序设计

大家从下图可以看到,VMware公司的vSphere采用的是单片式管理程序设计,这就需要管理程序对设备驱动程序进行识别,并由“管理程序层”负责管理。根据下图,我们能够直观了解到设备驱动程序属于“管理程序层”中的组成部分:

管理程序中的设备驱动程序必须预先开发并包含在“管理程序层”当中,否则我们将无法使用vSphere虚拟化产品。大家不能将VMware vSphere直接运行在硬件之上,该产品并不支持此类使用方式。

VMware vSphere如上图所示在“管理程序层”中运行其组件。这些产品组件包括资源调度、分布式文件系统等等。用于部署VMware网络的网络协议堆栈组件同样由“管理程序层”打理。存储堆栈组件则允许“控制层”组件对存储设备进行访问。

单片式管理程序架构拥有以下几项优势:

· 虚拟化产品组件的控制工作无需借助操作系统,相比微软Hyper-V所采用的内核式管理程序架构,这也是单片方案最突出的优势。

· 管理人员无需为运行在“控制层”中的组件安装安全补丁。

单片式管理程序架构的缺点:

· 由于不具备相关支持,VMware的vSphere无法直接运行在硬件之上。不过VMware公司已经拿出了一份兼容硬件清单,用户能够以此为基础成功运行VMware vSphere。大家可以在VMware的官方网站上了解具体信息(http://www.vmware.com/resources/compatibility/search.php)。

· VMware vSphere不够安全。由于VMware公司提供访问“管理程序层”所必需的API,因此恶意代码有可能被拥有“管理程序层”权限的黑客注入其中,从而获得对vSphere服务器上全部虚拟机系统的掌控能力。

· 初始化时间更长。在这套架构中,虚拟机内核的初始化时长取决于其中所包含的设备驱动程序数量。

· 由于设备驱动程序初始化是“管理程序层”初始化的一部分,因此任何进入到“管理程序层”中的外部代码一旦发生损坏,都有可能导致启动/初始化延迟甚至服务器挂起。

总结

在这篇文章中,我们讨论了微软Hyper-V与VMware vSphere两套方案的差异,并了解了两款虚拟化产品采取什么样的虚拟化架构——即微软Hyper-V的微内核式管理程序架构与VMware vSphere的单片式管理程序架构。

我们还谈到了二者最值得关注的优势与缺点,IT团队或者组织应该可以从中有所收获,帮助自己根据生产环境选择最理想的虚拟化产品并充分实现其辅助价值。