Hyper-V 概述
Hyper-V 是基于虚拟机监控程序的虚拟化技术,适用于 x64 版本的 Windows Server 2008 和更高版本的 Windows Server。 虚拟机监控程序是特定于处理器的虚拟化平台,允许多个独立操作系统共享单个硬件平台。
Hyper-V 支持通过单独的 分区进行隔离。 分区是虚拟机监控程序支持的逻辑隔离单元,其中将会运行操作系统。 虚拟化堆栈在 Hyper-V 父分区的管理操作系统中运行,并可直接访问硬件设备。 然后,管理操作系统创建 Hyper-V 子分区并启动其中的来宾操作系统。
分区无法访问物理处理器,也无法处理处理器中断。 但它们具有处理器虚拟视图,并可在专用于每个来宾分区的虚拟内存地址区域中运行。 虚拟机监控程序会处理处理器中断,并且会将中断重定向到各自的分区。 Hyper-V 还可以通过使用 I/O 内存管理单元 (IOMMU) 来加速各种来宾虚拟地址空间之间的地址转换,该单元独立于处理器使用的内存管理硬件运行。 IOMMU 用于将物理内存地址重新映射到子分区所使用的地址。
子分区也不能直接访问其他硬件资源。 相反,子分区会显示资源的虚拟视图,称为 虚拟设备。 通过虚拟机总线 (VMBus) 或虚拟机监控程序重定向到父分区中的管理操作系统(用于处理设备请求)对虚拟设备的请求。 VMBus 是一个逻辑分区间通信通道,为父分区和子分区之间的通信分配单独的通道。
管理操作系统托管虚拟服务提供商 (VSP) ,这些提供程序通过 VMBus 进行通信,以处理来自子分区的设备访问请求。 子分区上的来宾操作系统托管虚拟服务客户端 (VSC) ,这些客户端使用 VMBus 将设备请求重定向到管理操作系统中的 VSP。
对于对子分区的网络访问,网络 VSC (NetVSC) 在来宾操作系统中运行。 网络请求和数据包在每个 NetVSC 与管理操作系统中运行的网络 VSP 之间发送。 NetVSC 还会公开主计算机上的物理网络适配器的虚拟化视图。 此虚拟化网络适配器称为 合成网络适配器。
注意 Hyper-V 还支持另一个效率较低的虚拟化网络适配器,即模拟 网络适配器。 模拟网络适配器模拟 Intel 网络适配器,并使用硬件仿真将数据包转发到 NetVSP 和从 NetVSP 转发。
下图显示了 Hyper-V 中基于综合网络适配器的网络数据路径。
这些数据路径使用 NDIS 虚拟化网络接口进行扩展,例如虚拟机队列 (VMQ) 、单根 I/O 虚拟化 (SR-IOV) 或 Hyper-V 可扩展交换机接口。 例如,可以将 NetVSC 配置为连接到支持 SR-IOV 接口的物理网络适配器的虚拟函数 (VF) 。 在这种情况下,NetVSC 直接通过基础物理适配器而不是 VMBus 发送和接收数据包。
有关 Hyper-V 的详细信息,请参阅 Hyper-V。