2.5.4 Hyper-V虚拟化方案
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似VMware和Citrix开源Xen一样的基于Hypervisor的技术。Hyper-V设计的目的是为广泛的用户提供更为熟悉以及成本效益更高的虚拟化基础设施软件,这样可以降低运作成本、提高硬件利用率、优化基础设施并提高服务器的可用性。
Hyper-V采用微内核架构,兼顾了安全性和性能的要求。Hyper-V底层的Hypervisor运行在最高的特权级别下,微软将其称为ring 1(Intel则将其称为root mode),而虚拟机的操作系统内核和驱动程序运行在ring 0,应用程序运行在ring 3,这种架构不需要采用复杂的BT(二进制特权指令翻译)技术,可以进一步提高安全性。
在服务器/客户机网络应用程序中,有两个部分协同运行,即服务器端组件和客户端组件,以实现网络通信。服务器端组件总是进行侦听,为客户端组件提供网络服务。而客户端组件总是向服务器端组件请求服务。在Hyper-V中,分别实施了名为VSP(Virtualization Service Provider)和VSC(Virtualization Service Client)的服务器端组件和客户端组件。VSP代表虚拟化服务提供者,VSC代表虚拟化服务客户机,VSP和相应的VSC都可以使用一种名为VMBUS的沟通渠道,与对方进行通信。结合VMBUS,VSP组件和VSC组件就能提升在Hyper-V上运行的虚拟机的整体性能。
由于Hyper-V底层的Hypervisor代码量很小,不包含任何第三方驱动程序,非常精简,所以安全性更高。Hyper-V采用基于VMBUS的高速内存总线架构,来自虚拟机的硬件请求包括显卡、鼠标、磁盘、网络等的请求,可以直接经过VSC,通过VMBUS总线发送到根分区的VSP,VSP调用对应的设备驱动,直接访问硬件,中间不需要Hypervisor的帮助。
这种架构效率很高,不再像以前的虚拟服务器,每个硬件请求都需要经过用户模式、内核模式的多次切换转移。Hyper-V可以支持Virtual SMP、Windows Server 2008虚拟机,最多可以支持4个虚拟CPU,而Windows Server 2003最多可以支持2个虚拟CPU。每个虚拟机最多可以使用64GB内存,而且还可以支持64位操作系统。
目前,Hyper-V可以很好地支持Linux,用户可以安装支持Xen的Linux内核,这样Linux就可以知道自己运行在Hyper-V之上。此外,还可以安装专门为Linux设计的Integrated Components,其中包含磁盘和网络适配器的VMBUS驱动程序,这样Linux虚拟机也能获得高性能。
Hyper-V可以采用半虚拟化和全虚拟化两种模拟方式创建虚拟机。半虚拟化方式要求虚拟机与物理主机的操作系统(通常是版本相同的Windows)相同,以使虚拟机达到高的性能。全虚拟化方式要求CPU支持全虚拟化功能,如Intel-VT或AMD-V,以便能够创建使用不同的操作系统,例如Linux和Mac OS的虚拟机。
从架构上讲,Hyper-V只有“硬件-Hyper-V-虚拟机”三层,本身非常小巧,代码简单,且不包含任何第三方驱动程序,所以安全可靠、执行效率高,能充分利用硬件资源,使虚拟机系统性能更接近真实系统性能。
2012年2月发布的Windows Server 2012 Hyper-V需要一个64位处理器,其中硬件要求如下:
(1)硬件协助的虚拟化。具体来说是处理器包含虚拟化选项,能够提供虚拟化功能。例如,Intel的虚拟化技术Intel VT、AMD的虚拟化技术AMD-V都能提供虚拟化功能。
(2)硬件强制实施的数据执行保护(DEP)必须可用且已启用。具体来讲就是必须启用Intel XD位(执行禁用位)或AMD NX位(无执行位)。
软件要求(针对支持的客户操作系统):Hyper-V包括支持客户操作系统的软件包,从而改进了物理计算机与虚拟机之间的集成。该程序包称为集成服务,一般情况下,先设置虚拟机中的操作系统,之后再将此数据包作为单独的程序安装在客户操作系统中。不过,一些操作系统内置了集成系统,无须单独安装。有关安装集成服务的说明,有兴趣的读者可参阅安装Hyper-V角色和配置虚拟机。
Hyper-V的优点如下:
(1)Hyper-V提供了基础结构,可以虚拟化应用程序和工作负载,旨在提高效率和降低成本的各种商业目标。
(2)Hyper-V可帮助企业接触或扩展共享资源的用途,并随着需求的变化而调整利用率,以根据需要提供更灵活的IT服务,提高硬件利用率。通过将服务器和工作负载合并到数量更少但功能更强大的物理计算机上,可以减少对资源(如电力资源和物理空间)的消耗。
(3)Hyper-V可以改进业务连续性,可帮助企业将计划和非计划停机对工作负载的影响降到最低限度。
(4)Hyper-V能够建立或扩展虚拟机基础结构(VDI),包含VDI的集中式桌面策略,可帮助企业提高业务灵活性和数据安全性,还可简化法规遵从性以及对桌面操作系统和应用程序的管理。在同一物理计算机上部署Hyper-V和远程桌面虚拟化主机(RD虚拟化主机),以制作向用户提供的个人虚拟机或虚拟机池。