对比Hyper-V和VMware vSphere架构的优缺点

云计算 虚拟化
Type 1 VMM分为两个小类:单片式管理程序设计和微内核式管理程序设计。前者被VMware vSphere使用,微内核式管理程序设计被微软Hyper-V所使用。

 VMware和微软都已经进入服务器虚拟化领域多年 - VMware已有中十余的历史,相较而言微软是一个后来者。然而,微软在其最新的Windows Server 2012中集成的Hyper-V,以其特性的重大演进,和与操作系统相结合的成本优势,已经楔入VMware的腹地,在vSphere 5.1之外,为用户提供了另外一种选择。

  如同采用每一种新技术一样,IT工作者或组织在向客户或员工决定提供虚拟化解决方案,或者将虚拟化引入生产环境之前,有必要了解微软Hyper-V和VMware vSphere两种架构优缺点和差异性。

  无论是选择 VMware vSphere还是微软Hyper-V,有许多重要的组件需要考虑,但是从架构的角度来看,当谈到选择合适的服务器虚拟化产品时,下列组件发挥了重要作用:

  ·设备驱动程序在架构中的位置

  ·控制层组件

  ·hypervisor(管理程序)层组件

  通常情况下,有Type 2 VMM、Type 1 VMM和混合VMM三种类型的虚拟化技术架构供虚拟化厂商参考。解释所有三种类型的虚拟化架构超出了本文的范畴,我们将主要聚焦于Type 1 VMM,这也是微软Hyper-V和VMware都在采用以实现他们的服务器虚拟化技术的类型。

  Type 1 VMM可以进一步分为两个小类:单片式管理程序设计(Monolithic Hypervisor Design)和微内核式管理程序设计(Microkernelized Hypervisor Design)。这两种设计中有三个层虚拟化产品的不同组成部分的操作。

  最底层被称为“硬件层”,将其虚拟化的hypervisor层直接在“硬件层”上运行。在最上层的被称为“控制层”。“控制层”的总体目标是控制在该层中运行的组件,以及提供必要的组件,支持虚拟机与虚拟机管理程序(hypervisor)层进行通信。

  注:“hypervisor层”有时也被称为“VMM层”或“VM内核层”。

微内核式管理程序架构

  微内核式管理程序设计被微软Hyper-V所使用。这种设计不需要设备驱动程序成为hypervisor层的一部分——设备驱动程序独立运作,并运行在“控制层”,如下图片所示:

微内核式管理程序架构

微内核式管理程序架构

微内核式hypervisor架构的优点:

  •设备驱动程序不需要纳入“hypervisor层”或者VMM内核

  •由于微软不提供应用程序编程接口(API)来访问“hypervisor层”,攻击面被减到最小。没有人可以在 “hypervisor层”注入外部代码。

  •设备驱动程序不需要被hypervisor感知,因此这种架构支持的设备范围非常广泛。

  •无需关闭“hypervisor层”来加载设备驱动程序。设备驱动程序可以安装在运行于“控制层”的操作系统(Windows Server 2008 R2和Windows Server 2012)中,供虚拟机使用以访问 “硬件层”中的硬件。

  •“hypervisor层”维护和管理的设备驱动程序的开销更少。

  •微内核式管理程序架构的设计,允许您在“控制层”安装任何其他的服务器角色,除了服务器虚拟化角色(Hyper-V)之外。

  •更少的初始化时间。微软hypervisor代码大小大约仅有600 KB。因此,“hypervisor层”并不需要更多的时间来初始化组件。

微内核式管理程序架构的缺点:

  •微内核式管理程序架构需要在“控制层”安装一个操作系统,“hypervisor层”才可以操作。这是最大的劣势。

  •不论“控制层”运行的操作系统因为何种理由崩溃,所有其他的虚拟机(VM)也都将崩溃。

  •在“控制层”运行的操作系统需要更多的开销,以管理虚拟机和“hypervisor层”之间的通信。

  •为保证Windows操作系统的安全,在“控制层”运行的操作系统还必须应用由微软发布的最新安全更新。作为安全更新的一部分,操作系统将被重新启动,这需要您所有的虚拟机离线;如果您希望没有任何停机时间,则需要通过Hyper-V实时迁移特性的帮助,将所有虚拟机移动到集群中的另一个节点。

单片式管理程序架构

  VMware vSphere使用的是单片Hypervisor的设计,这就需要设备驱动程序能被 hypervisor感知,并被“hypervisor层”管理。下图就是我们看到的“hypervisor层”,设备驱动程序是它的一部分:

单片式管理程序架构

单片式管理程序架构

  管理程序的设备驱动程序必须开发并包含在 “hypervisor层”,然后才可以开始使用vSphere虚拟化产品。您不能在硬件上运行VMware vSphere,这是不支持的。

  如上图中所示,VMware vSphere在“hypervisor层”管理其组件,包括资源调度(Resource Scheduling),分布式文件系统(Distributed File System),等等。用于部署 VMware网络的网络协议栈(Network Stack)组件,同样由“hypervisor层”管理。存储堆栈(Storage Stack)组件允许“控制层”组件访问存储设备。

单片式hypervisor设计的优点:

  •控制虚拟化产品的所有组件不需要操作系统支持。这是最大的优势。

  •运行在“控制层”的组件不需要安全补丁。

单片式Hypervisor设计的缺点:

  •VMware vSphere不支持运行在硬件上。不过,VMware已经提供出了一系列的兼容硬件,VMware vSphere能够在上面成功运行。这份名单可以通过VMware官方网站获得: http://www.vmware.com/resources/compatibility/search.php。

  •VMware vSphere是不安全的。由于VMware提供API来访问“hypervisor层”,可以注入恶意代码,这可能使得黑客获得“hypervisor层”的控制权,从而获得vSphere服务器上运行的所有虚拟机的控制权。

  •更多的初始化时间是必需的。在该架构中,在VM内核初始化所需的时间,取决于其包含的的设备驱动程序的大小。

  •由于设备驱动程序初始化作为“hypervisor层”初始化的一部分,任何损坏的外部代码注入到“hypervisor层”,都可能延迟启动/初始化,或在某些情况下会导致服务器挂起。

结论

  在这篇文章中,我们讨论了微软Hyper-V和VMware vSphere彼此不同的操作。我们探讨了虚拟化产品如何使用不同的虚拟化架构,用于微软Hyper-V的微内核式管理程序架构和用于 VMware vSphere的单片式管理程序设计。

  我们的讨论同样涵盖到了这两种虚拟化产品的主要优点和缺点,企业组织或IT管理者确定在其生产环境中实施的最佳虚拟化产品,应当发现其价值。

责任编辑:老门 来源: IT专家网
相关推荐

2013-06-26 10:25:39

2013-05-03 08:58:37

2021-11-07 07:57:21

VMware WorkMicrosoft H虚拟化

2014-11-07 10:06:50

Hyper-VVMware ESXi

2013-10-17 09:46:33

vSphereHyper-V

2013-12-04 09:46:56

Hyper-VNUMA

2011-07-28 10:03:53

Hyper-V动态内存

2011-04-02 10:42:08

Hyper-VVMware虚拟服务器备份

2009-06-02 18:34:45

VMwareHyper-VVI3

2010-07-14 11:16:16

vSphereHyper-VXenServer

2013-02-26 10:09:08

vCenter MulvSphereHyper-V

2012-09-24 10:07:56

微软虚拟化

2011-11-01 08:53:58

虚拟化Hyper-V微软

2011-11-01 09:17:35

微软虚拟化Hyper-V

2020-06-11 08:02:38

VMwareHyper-VOpenStack

2013-05-03 14:44:12

Windows SerHyper-VVMware

2014-03-19 14:33:27

VMwareHyper-V

2010-06-01 11:08:39

Hyper-VVMware

2010-11-10 10:23:10

VMwareHyper-V

2012-09-27 11:51:04

Windows SerHyper-V快照
点赞
收藏

51CTO技术栈公众号