优缺点分析:Hyper-V与vSphere架构对比

云计算 虚拟化
微软和VMware可算是服务器虚拟化的两大巨头,VMware在此领域已经超过了10年,而微软凭借Windows Server产品,也开始在服务器虚拟化领域崭露头角。本文,我们将向IT组织者或企业介绍微软Hyper-V和VMware vSphere之间的架构差异,以及两者之间的优势和劣势。

微软和VMware可算是服务器虚拟化的两大巨头,VMware在此领域已经超过了10年,而微软凭借Windows Server产品,也开始在服务器虚拟化领域崭露头角。本文,我们将向IT组织者或企业介绍微软Hyper-V和VMware vSphere之间的架构差异,以及两者之间的优势和劣势。

无论选择哪种产品,VMware vSphere或是Hyper-V,我们都需要考虑很多因素,但从架构的角度来看,想要选择合适的服务器虚拟化产品,我们需要重点考虑以下组件:

1.设备驱动程序的架构位置;

2.控制层组件;

3.hypervisor层组件。

一般情况下,有三种类型的虚拟化技术架构:

• Type 2 VMM

• Type 1 VMM

• Hybrid VMM

本文并不会详细介绍以上所有的技术架构,我们将会着重介绍Type 1 VMM,因为微软和VMware的服务器虚拟化技术都使用的是Type 1 VMM架构。Type 1 VMM又可以分为两个子类,分别是Monolithic Hypervisor和Microkernelized Hypervisor。

通常我们把最底层称为”硬件层“,虚拟化“Hypervisor层”运行在”硬件层“之上。最上层是“控制层”,其作用是控制该层中运行的组件,以及为虚拟机提供必要的组件,以用来与“Hypervisor层”进行通信。

注:“Hypervisor层”有时也称为”VMM层“或者”VM Kernel层“。

Microkernelized Hypervisor架构

Microkernelized Hypervisor架构被使用于微软的Hyper-V中。在这种设计中,设备驱动程序并不是hypervisor层的一部分,设备驱动程序是独立运行的, 其运行在“控制层”。如下图所示:

 

Microkernelized Hypervisor架构

 

Microkernelized Hypervisor架构的优点如下:

• 设备驱动程序并不需要为每个设备纳入Hypervisor层或VMM内核;

• 由于微软并没有提供用来访问“hypervisor层”的API,这种做法将被攻击的面减到最小,因为没有人可以在“hypervisor层”注入外部代码;

• 由于设备驱动程序不需要被hypervisor感知,所以该架构所支持的硬件设备非常广;

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

• 在维护和管理设备驱动程序方面,“hypervisor层”的成本更低;

• Microkernelized Hypervisor架构允许你在“控制层”中安装任何服务器角色,当然,除了服务器虚拟化角色(Hyper-V)外;

• 初始化时间更少。微软hypervisor的代码仅有600KB左右,所以,“hypervisor层”无需使用更多的时间来初始化组件。

与此同时,Microkernelized Hypervisor架构也有一些缺点,具体内容如下:

• Microkernelized Hypervisor架构需要在“控制层”安装操作系统,“hypervisor层”才可以进行操作,这是该架构本身最大的缺点;

• 如果在“控制层”运行的操作系统无故崩溃,那么其他所有的虚拟机也都将崩溃;

• 运行在“控制层”的操作系统需要更多的资源(或者说是开销),以用来管理虚拟机和“hypervisor层”之间的通信;

• 为了保证Windows系统的安全,在“控制层”运行的操作系统必须及时应用微软官方的安全更新。作为安全更新的一部分,操作系统将会被重启,同时,这需要所有虚拟机离线;如果你希望没有停机时间,可以借助Hyper-V实时迁移功能解决。#p#

Monolithic Hypervisor架构

VMware vSphere所使用的就是Monolithic Hypervisor架构,这需要hypervisor能够感知和管理设备驱动程序。如下图所示:

 

Monolithic Hypervisor架构

 

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

VMware vSphere在“hypervisor层”管理其组件,包括资源调度,分布式文件系统等等。用于部署VMware网络的网络协议栈组件,同样由“hypervisor层”管理。存储堆栈组件允许“控制层”组件访问存储设备。

Monolithic Hypervisor架构的优点:

• 控制虚拟化产品的所有组件不需要操作系统支持;

• 在“控制层”运行的组件,不需要安全更新。

Monolithic Hypervisor架构的缺点:

• VMware vSphere不支持运行在硬件上。然而,目前VMware已经提供出了一系列的兼容硬件列表,这份名单可以在这里看到:http://www.vmware.com/resources/compatibility/search.php

• 需要更多的初始化时间。其所取的初始化时间,取决于其包含的的设备驱动程序的大小;

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

责任编辑:老门 来源: IT168
相关推荐

2013-05-07 10:09:07

2013-05-03 08:58:37

2010-07-14 11:16:16

vSphereHyper-VXenServer

2012-09-24 10:07:56

微软虚拟化

2021-11-07 07:57:21

VMware WorkMicrosoft H虚拟化

2013-02-26 10:09:08

vCenter MulvSphereHyper-V

2012-10-10 09:38:02

虚拟化

2014-11-07 10:06:50

Hyper-VVMware ESXi

2009-07-22 18:44:17

Hyper-V快照备份

2012-01-05 09:33:59

虚拟化桌面虚拟化Hyper-V 3

2024-01-04 08:00:22

时序数据库项目

2013-12-04 09:46:56

Hyper-VNUMA

2011-07-28 10:03:53

Hyper-V动态内存

2013-07-17 09:15:39

vSphere Hyper-V

2013-10-17 09:46:33

vSphereHyper-V

2009-06-02 18:34:45

VMwareHyper-VVI3

2010-03-18 10:29:11

Hyper-V

2009-10-29 15:30:54

Hyper-V R2

2017-01-09 12:54:36

Hyper-vExchange备份

2014-03-19 14:33:27

VMwareHyper-V
点赞
收藏

51CTO技术栈公众号