1. Hyper-V介绍
Hyper-V是微软的虚拟化解决方案,能够让用户在Windows系统上部署并使用虚拟机。传统Windows操作系统分为应用层和内核层,应用程序运行在Ring 3,操作系统运行在Ring 0。待Hyper-V安装后,Hypervisor运行在比传统模式更高特权级的Ring -1,该特权级由CPU提供支持,能够捕获虚拟机的特权操作并对其进行模拟。
同时,原来的宿主操作系统与虚拟机操作系统运行在相同特权级,宿主机操作系统被称为管理操作系统,虚拟机被称为客户机操作系统。管理操作系统中运行有一系列的用于管理虚拟机的组件(Virtualization Stack),用于与底层Hypervisor交互以提供虚拟化服务,Virtualization Stack具体包括:
(1)VSP (Virtualization Service Provider):用于控制虚拟机的IO请求;
(2)VMBus (Virtual Machine Bus):用于实现管理操作系统和客户操作系统之间的数据通信,即用于实现VSP和虚拟机中的VSC(Virtualization Service Client)通信;
(3)VMMS (Virtual Machine Management Service):与管理操作系统中的工作线程(每个虚拟机对应一个工作线程)一起提供对虚拟机生命周期管理,包括创建、开启、停止、保存和删除虚拟机;
(4)VID (Virtual Infrastructure Driver):协调VMMS与工作线程,管理客户操作系统和管理操作系统之间的通信。
2. Hyper-V安装与配置
Hyper-V需要依赖于硬件虚拟化技术,如Intel的VT-X技术,同时还需要硬件提供二级地址转换功能,如Intel的EPT(Extended Page Tables)技术。若要使用RemoteFX技术,还需要显卡具有支持DX 11.0以及WDDM 1.2兼容的驱动程序。
灵跃云推荐使用Windows Server 2016部署Hyper-V,因Window Server 2016增加了很多新特性,包括设备直通、网卡热插拔、嵌套虚拟化、网络多队列、网络QoS、磁盘QoS、Windows容器等技术。Windows Server 2016具有Essentials、Standard、Datacenter版,其中,Essentials版本只提供基础IT服务,难以提供对Hyper-V的支持;Standard版本能够提供更多的Windows特性和虚拟化特性,但支持的虚拟机数量受限(通常两个);Datacenter能够提供所有特性且虚拟机数量不受限制。若仅用于试用测试,可通过官网https://www.microsoft.com/zh-cn/evalcenter/evaluate-Hyper-V-server-2016申请下载Window Server 2016的180天评估版。本次测试也选用的该版本。
获取Window Server 2016评估版后,在安装操作系统时选择Windows Server 2016 Datacenter Evaluation(桌面体验)版本。系统安装完成后,打开“服务器管理器”,添加Hyper-V角色,如下图所示,通过“添加角色与功能”按钮,在“安装类型”上选择“基于角色或基于功能的安装”,在“服务器角色”上勾选“Hyper-V”并安装。在“虚拟交换机”界面选择虚拟机链接网络的物理网卡,系统将对应创建一个虚拟交换机。配置完成后开始安装,Hyper-V安装完成后,服务器需要重新启动。
待系统重启后,服务器已经能够通过Hyper-V创建虚拟机,但要使用RemoteFX特性,系统还需要安装远程桌面虚拟化主机角色以及显卡对应的驱动程序。打开“服务器管理器”,通过“添加角色与功能”按钮,在安装类型上选择“基于角色或基于功能的安装”,在“服务器角色”界面选择“远程桌面服务”。之后,在弹出的远程桌面服务的角色服务界面选择远程桌面虚拟化主机(RDVH)角色,RDVH安装完成后需要重新启动系统。
Hyper-V配置完成后,还需要上传镜像以实例化虚拟机。Hyper-V支持Windows 7 SP1以上的桌面系统。其中,对于Windows 8以上桌面系统提供DirectX 11.0支持,对于Windows 10和Windows Server 2016提供OpenGL以及OpenCL支持。下图展示了在Windows 10虚拟机中运行DirectX诊断工具dxdiag后的情况。