Chinaunix首页 | 论坛 | 博客
  • 博客访问: 534504
  • 博文数量: 221
  • 博客积分: 3032
  • 博客等级: 中校
  • 技术积分: 2525
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-30 15:45
文章分类

全部博文(221)

文章存档

2012年(221)

我的朋友

分类: 云计算

2012-07-31 13:35:18

谈到虚拟化技术想必大家现在并不陌生,在整个IT产业中,虚拟化已经成为关键词,从桌面系统到服务器、从到网络,虚拟化所能涉及的领域越来越广泛。同时,各大虚拟化厂商也发布了许多虚拟化的产品,概括起来,虚拟化产品主要分为两类:基于宿主机的虚拟化产品和基于hypervisor的虚拟化产品。

基于宿主机的虚拟化产品的特点是VMM(Virtual Machine Monitor)运行于宿主机操作系统中,依赖宿主机操作系统来控制系统资源。此类虚拟化产品主要有:

n  Microsoft Virtual PCVirtual Server

n  VMWare WorkStation

n  KVM/Qemu

这种体系结构的虚拟化产品起步较早,因此,功能比较完善,已经为广大用户所熟知,但是由于其体系结构的限制,很难用于企业级的服务。

基于hypervisor的虚拟机产品直接运行在物理硬件之上,具有比操作系统更高的系统权限,能够完全控制系统资源,而且能够充分利用处理器硬件对虚拟化的支持,因此,能够满足企业级应用程序对高性能的要求,主要的产品有:

n  Microsoft Hyper-V

n  VMWare ESX

n  Xen

在这么多的虚拟化产品中,应该如何去选取适合自己的产品呢?个人感觉应该从以下几个方面去考虑:

(1)    从企业战略发展的角度

a)        企业自身的数据存储类型

b)        企业自身的网络拓扑结构

c)        企业自身对安全的要求

d)        企业自身对数据保护和恢复的需求

(2)    虚拟产品的角度

a)        虚拟机的管理功能

b)        虚拟机监视机制

c)        虚拟机的高可用性

d)        虚拟机的补丁和更新管理

(3)    现有物理环境到虚拟框架的迁移

综合以上几个考虑点,个人感觉Hyper-V是一款非常不错的产品,下面将对其体系结构进行详细的分析。

1 Hyper-V介绍

Hyper-V 是一项基于虚拟机监控程序的虚拟化技术,主要具有以下特点:

(1)    内置于操作系统,是Windows操作系统的一部分

(2)    基于Hypervisor架构

(3)    充分利用了处理器对虚拟化的支持

(4)    可运行与Server Core

(5)    支持32-bit64-bit两种平台的操作系统

(6)    支持多处理器虚拟机(4核)

(7)    支持大容量的内存虚拟机(64GB

(8)    完善的CPUI/O的资源控制

(9)    开放的WMI管理和控制API

Hyper-V 支持分区层面的隔离。分区是逻辑隔离单位,受虚拟机监控程序支持,并且操作系统在其中执行。Microsoft 虚拟机监控程序必须至少有一个父/根分区,用于运行 64 位版本的 Windows Server 2008 操作系统。虚拟化堆栈在父分区中运行,并且可以直接访问硬件设备。随后,根分区会创建子分区用于承载来宾操作系统。根分区使用虚拟化调用应用程序编程接口 (API) 来创建子分区。

分区对物理处理器没有访问权限,也不能处理处理器中断。相反,它们具有处理器的虚拟视图,并运行于每个来宾分区专用的虚拟内存地址区域。虚拟机监控程序负责处理处理器中断,并将其重定向到相应的分区。Hyper-V 还可以通过输入输出内存管理单元 (IOMMU) 利用硬件加速来加快各个来宾虚拟地址空间相互之间的地址转换。IOMMU 独立于 CPU 使用的内存管理硬件运行,并用于将物理内存地址重新映射到子分区使用的地址。

子分区对其他硬件资源也没有直接访问权限,只具有这些资源的虚拟视图,就像虚拟设备 (VDev) 一样。对虚拟设备的请求通过 VMBus 或虚拟机监控程序重定向到父分区中的设备,由父分区处理这些请求。VMBus 是用于分区之间通信的逻辑通道。父分区承载虚拟化服务提供程序 (VSP),这些提供程序通过 VMBus 通信以处理来自子分区的设备访问请求。子分区承载虚拟化服务使用程序 (VSC),这些使用程序通过 VMBus 将设备请求重定向到父分区中的 VSP。整个过程对来宾操作系统来说是透明的。

虚拟设备还可以利用一项名为具有启发功能的 I/O” Windows Server 虚拟化功能进行存储、联网、处理图形和输入子系统。具有启发功能的 I/O 是高级通信协议(如 SCSI)的支持虚拟化功能的专门实现,它直接利用 VMBus,而避开任何设备枚举层。这可以提高通信效率,但需要有支持虚拟化监控程序和 VMBus 的具有启发功能的来宾系统。Hyper-V 具有启发功能的 I/O 和支持虚拟化监控程序的内核可通过安装 Hyper-V 集成服务来提供。集成组件包含虚拟服务器客户端 (VSC) 驱动程序,还可用于其他客户端操作系统。Hyper-V 需要一个包含硬件辅助虚拟化的处理器,如通过 Intel VT AMD 虚拟化 (AMD-V) 技术提供的处理器。

2 Hyper-V体系结构

1 Hyper-V体系结构图

下面对Hyper-V的体系结构进行简单的介绍:

1)子分区:承载来宾操作系统(Guest OS)的分区 ,子分区对物理内存和设备的所有访问都通过虚拟机总线 (VMBus) 或虚拟机监控程序提供。

2)虚拟化调用(HyperCall):用于与虚拟机监控程序进行通信的接口,可通过虚拟化调用接口访问虚拟机监控程序提供的优化功能。

3)虚拟机监控程序(Hypervisor):驻留在硬件和一个或多个操作系统之间的软件层,其主要工作是提供称为分区的隔离执行环境,控制和裁定对基础硬件的访问。

4)根分区:管理计算机级别的功能,如设备驱动程序、电源管理和设备热添加/移除。根(或父)分区是唯一能够直接访问物理内存和设备的分区。

5VMBus:虚拟机总线 基于通道的通信机制,在具有多个活动虚拟化分区的系统上,用于分区之间的通信和设备枚举,VMBus Hyper-V 集成服务一起安装。

6VSC:虚拟化服务客户端,驻留在子分区中的一种综合设备实例。VSC 利用父分区中的虚拟化服务提供程序 (VSP) 提供的硬件资源,它们通过 VMBus 与父分区中的相应 VSP 通信以满足子分区的设备 I/O 请求。

7VSP:虚拟化服务提供程序,驻留在根分区中,通过虚拟机总线 (VMBus) 向子分区提供综合设备支持。

阅读(2696) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~