附录 B:Hyper-V 体系结构和功能概述

本主题概述 Hyper-V 体系结构,介绍 Hyper-V 的优点和缺点。

Hyper-V 体系结构

Hyper-V 是基于虚拟机监控程序的虚拟化平台,也是 Windows Server 的选框功能之一实时迁移的启用技术。 借助 Hyper-V,Windows Server 能够进行快速迁移,只需几秒钟的停机时间即可在物理主机之间移动 VM。 使用实时迁移时,物理目标之间的移动以毫秒为单位发生,这意味着迁移操作对连接的用户不可见。 请参阅 Windows Server 上的 Hyper-V 中的新增功能

虚拟机监控程序是特定于处理器的虚拟化平台,可以托管多个虚拟机 (VM) 相互隔离,但通过虚拟化处理器、内存和 I/O 设备来共享基础硬件资源。

如果在来宾操作系统上安装必要的虚拟服务器客户端 (VSC) 驱动程序和服务, Hyper-V 虚拟机中运行的来宾操作系统提供的性能接近物理硬件上运行的操作系统的性能。 Hyper-V 虚拟服务器客户端 (VSC) 代码(也称为 Hyper-V 启发式 I/O)支持直接访问 Hyper-V“虚拟机总线”,并随 Hyper-V 集成服务的安装提供。 提供 VSC 驱动程序的 Hyper-V 集成服务也可用于其他客户端操作系统。

Hyper-V 支持按分区隔离。 分区是虚拟机监控程序支持的逻辑隔离单元,其中将会运行操作系统。 Microsoft 虚拟机监控程序必须至少有一个运行 Windows Server 的父级或根分区。 虚拟化堆栈在父分区中运行,可直接访问硬件设备。 根分区创建子分区以托管来宾操作系统。 根分区使用虚拟化调用应用程序编程接口 (API) 来创建子分区。

分区无法访问物理处理器,也无法处理处理器中断。 但它们具有处理器虚拟视图,并可在专用于每个来宾分区的虚拟内存地址区域中运行。 虚拟机监控程序会处理处理器中断,并且会将中断重定向到各自的分区。 Hyper-V 还可以使用独立于 CPU 所用的内存管理硬件运行的输入输出内存管理单元 (IOMMU),以对各个来宾虚拟地址空间之间的地址转换进行硬件加速。 IOMMU 用于将物理内存地址重新映射到子分区所使用的地址。

子分区也不能直接访问其他硬件资源,但系统为其提供了虚拟资源视图来作为虚拟设备 (VDev)。 对虚拟设备的请求通过 VMBus 或虚拟机监控程序重定向到父分区中的设备,从而处理请求。 VMBus 是逻辑分区间信道。 父分区托管虚拟服务提供程序 (VSP),虚拟服务提供程序通过 VMBus 进行通信以处理子分区的设备访问请求。 子分区托管虚拟服务使用方 (VSC),虚拟服务使用方通过 VMBus 将设备请求重定向到父分区中的 VSP。 此整个过程对来宾操作系统是透明的。

虚拟设备还可以将名为“启发式 I/O”的 Windows Server 虚拟化功能用于存储、网络、图形和输入子系统。 启发式 I/O 是直接利用 VMBus 的高级通信协议(如 SCSI)的专用虚拟化感知实现,并且会绕过任何设备模拟层。 这会使通信更加高效,但需要一个能够感知虚拟机监控程序和 VMBus 的启发式来宾。 Hyper-V 启发式 I/O 和虚拟机监控程序感知内核是通过安装 Hyper-V 集成服务提供的。 包括虚拟服务器客户端 (VSC) 驱动程序的集成组件也可用于其他客户端操作系统。 Hyper-V 需要一个包括硬件辅助虚拟化的处理器,如配备 Intel VT 或 AMD 虚拟化 (AMD-V) 技术的处理器。

下图简要概述了在 Windows Server 上运行的 Hyper-V 环境的体系结构。

Hyper-V 体系结构概述

上图中使用的首字母缩略词和术语如下所述:

  • APIC - 高级可编程中断控制器。 允许为其中断输出分配优先级的设备。

  • 子分区 – 托管来宾操作系统的分区。 子分区对物理内存和设备的所有访问都通过虚拟机总线 (VMBus) 或虚拟机监控程序提供。

  • Hypercall - 用于与虚拟机监控程序通信的接口。 hypercall 接口允许访问虚拟机监控程序提供的优化。

  • 虚拟机监控程序 – 位于硬件与一个或多个操作系统之间的软件层。 它的主要工作是提供称为分区的隔离执行环境。 虚拟机监控程序控制并裁定对基础硬件的访问。

  • IC - 集成组件。 允许子分区与其他分区和虚拟机监控程序通信的组件。

  • I/O 堆栈 – 输入/输出堆栈。

  • MSR – 内存服务例程。

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

  • VID – 虚拟化基础结构驱动程序。 为分区提供分区管理服务、虚拟处理器管理服务和内存管理服务。

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

  • VMMS – 虚拟机管理服务。 负责管理子分区中所有虚拟机的状态。

  • VMWP – 虚拟机工作进程。 虚拟化堆栈的用户模式组件。 工作进程提供从父分区中的 Windows Server 实例到子分区中的来宾操作系统的虚拟机管理服务。 虚拟机管理服务会为每个正在运行的虚拟机生成一个单独的工作进程。

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

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

  • WinHv – Windows 虚拟机监控程序接口库。 WinHv 实质上是分区操作系统的驱动程序和虚拟机监控程序之间的桥梁,它允许驱动程序使用标准 Windows 调用约定调用虚拟机监控程序

  • WMI – 虚拟机管理服务公开了一组基于 Windows Management Instrumentation (WMI) 的 API 以管理和控制虚拟机。

    术语 中定义了其中大多数术语。

注意

Hyper-V 技术概述 是一个很好的资源。

优点

在 Hyper-V 虚拟化环境中运行企业级解决方案的优点包括:

  1. 合并硬件资源 - 通过使用 Hyper-V 实现虚拟化,可以轻松地将多个物理服务器合并到相对较少的服务器中。 整合可以充分利用已部署的硬件资源。 Windows Server 中的 Hyper-V 最多可以访问主机计算机上的 64 个逻辑 CPU。 此功能不仅利用了新的多核系统,还意味着每个物理主机的虚拟机整合率更高。

  2. 易于管理

    • 资源的整合和集中化简化了管理。

    • 可以更轻松地实现纵向扩展和横向扩展。

  3. 显著节省成本

    • 硬件成本大大降低,因为多个虚拟机可以在一台物理计算机上运行,因此,并非每台计算机都需要单独的物理计算机。

    • Hyper-V 许可成本可能包含在 Windows Server 的许可证成本中,也可以作为独立产品购买。

    • 由于减少了所需的物理硬件“占用空间”,因此,通过将现有应用程序合并到虚拟化 Hyper-V 环境中,可以显著降低电源要求。

  4. 通过 Hyper-V 聚类分析 提供容错支持 – 由于 Hyper-V 是群集感知应用程序,Windows Server 为在 Hyper-V 虚拟化环境中创建的虚拟机提供本机主机聚类分析支持。

  5. 易于部署和管理

    • 将现有服务器合并为更少的物理服务器可简化部署。

    • System Center Virtual Machine Manager提供全面的 Hyper-V 管理解决方案。 System Center 中 VMM 中的新增功能 提供了一些指导。

  6. Hyper-V 的主要性能特征

    • 改进的硬件共享体系结构 - Hyper-V 在运行具有虚拟机监控程序感知内核的来宾操作系统时,提供对核心资源(例如磁盘、网络和视频)的改进访问和利用率,这些操作系统配备了必要的虚拟服务器客户端 (VSC) 代码 (称为 Hyper-V 启发式 I/O) 。 启蒙是操作系统的增强功能,可帮助降低某些操作系统功能(如内存管理)的成本。 集成组件(包括 VSC 驱动程序)也可用于其他客户端操作系统。

      磁盘性能对于磁盘 I/O 密集型企业应用程序(例如 Microsoft BizTalk Server 以及 Hyper-V 启发式 I/O)至关重要;Hyper-V 提供“直通”磁盘支持,提供与物理磁盘性能相提并进的磁盘性能。 请注意,“直通”磁盘支持以很小的便利成本提高了性能。 “直通”磁盘实质上是附加到虚拟机的物理磁盘/LUN,不支持虚拟磁盘的某些功能,例如虚拟机快照。

    • 处理器硬件辅助虚拟化支持 - Hyper-V 充分利用最新处理器技术提供的处理器硬件辅助虚拟化支持。

    • 多核 (SMP) 来宾操作系统支持 – Hyper-V 提供在虚拟机环境中最多支持四个处理器的功能,使应用程序能够充分利用虚拟机中的多线程功能。

    • 32 位和 64 位来宾操作系统支持 – Hyper-V 为同时运行不同类型的操作系统提供广泛支持,包括跨不同服务器平台(如 Windows、Linux® 等)的 32 位和 64 位系统。

  7. 全面的产品支持 - 由于 microsoft 企业应用程序(如 Exchange Server 和 SQL Server) ) (在 Hyper-V 中运行,因此 Microsoft 在 Hyper-V 环境中部署和运行时会为这些应用程序提供代码修复支持。

  8. 可伸缩性 - 通过将其他可用资源从主机分配到来宾虚拟机 () ,可以快速轻松地实现额外的处理能力、网络带宽和存储容量。 这可能需要升级主计算机,或者将来宾虚拟机移动到更强大的主计算机。

    有关利用 Hyper-V 提供的虚拟化技术优势的更深入信息,请参阅 Hyper-V 技术概述

缺点

在 Hyper-V 虚拟化环境中运行企业级解决方案的一些缺点可能包括:

  • 硬件要求 - 由于服务器合并的需求,Hyper-V 虚拟机往往消耗更多的 CPU 和内存,并且需要比具有可比计算负载的物理服务器更大的磁盘 I/O 带宽。 由于 Hyper-V 服务器角色仅适用于 64 位,并且所有版本的 Windows Server 仅支持 64 位,因此物理硬件必须支持硬件辅助虚拟化。 这意味着处理器必须与 Intel VT 或 AMD Virtualization (AMD-V) 技术兼容,系统 BIOS 必须支持数据执行防护 (DEP) ,并且必须启用 DEP。

  • 软件要求 - 虽然大多数 Microsoft 软件都支持在 Hyper-V 虚拟机上运行,但某些 Microsoft 软件仍在测试中,以确保与 Hyper-V 虚拟化环境兼容。 例如,大多数 Microsoft 企业级应用程序要么支持在 Hyper-V 上运行,要么正在测试 Hyper-V 上的支持。 有关 Hyper-V 上BizTalk Server和SQL Server的可支持性的详细信息,请参阅附录 C:BizTalk Server和SQL Server Hyper-V 可支持性