HYPER-V - 微软的Hyper-V
上文简单描述了一下虚拟化技术,下面我们来了解一下近期在业界备受瞩目的微软新一代虚拟化技术Hyper-v。Hyper-V是微软最新推出的服务器虚拟化解决方案,这并不是微软首次涉及服务器虚拟化领域,微软具有全面的从数据中心到桌面虚拟化的产品,桌面虚拟化的产品有我们所熟知的Virtual PC,服务器虚拟化产品有Virtual Server。
虽然同为服务器虚拟化产品,Hyper-V和Virtual Server具有非常大的区别,前者在构架上已经完全不同于后者,可以说是微软在虚拟化技术上一个突破性的进展。我们先以Microsoft Virtual Server 2005来了解一下微软早期的虚拟化构架:

上图是微软上一代服务器虚拟化产品Virtual Server的构架,从下向上,依次为服务器硬件(x86或者x64架构)-服务器操作系统(Windows Server 2003)-虚拟化软件(Virtual Server)-虚拟机(虚拟硬件及虚拟操作系统),虚拟的应用软件又基于虚拟操作系统上。由此可见,虚拟机到服务器硬件之间要数据要经过3层的转换,每一层的协议、通讯标准、接口等均不相同,经过3层的转换会造成性能的大量消耗,从而导致虚拟机运行速度和真实系统相差甚远。
而Hyper-V简化了虚拟机和硬件之间的层数,可以分为三部分:硬件-Hyper-V-虚拟机。

上图是微软Hyper-V的构架图,最下面是硬件,硬件上面就是Hyper-V,Hyper-V是一个只有300多K的小程序,用于连接硬件和虚拟机,Hyper-V程序非常小,代码非常少,因而减少了代码执行时发生错误的概率,并且Hyper-V中不包含任何第三方的驱动,非常的精简,所以安全性非常高。这种构架使得虚拟机和硬件之间只通过很薄的一层进行连接,不像Virtual Server那样虚拟机和硬件之间需要经过多层的转换,因而虚拟机执行效率非常高,可以更加充分的利用硬件资源,使虚拟机系统性能非常的接近真实的操作系统性能。
从构架上可以看出Hyper-V相对微软之前的虚拟化技术有了突破性的进步,除了在构架上进行改进之外,Hyper-V还具有其它一些变化:
Hyper-V基于64位系统:微软的新一代虚拟化技术Hyper-V是基于64位系统的,我们知道,32位系统的内存寻址空间只有4GB,在4GB的系统上再进行服务器虚拟化在实际应用中没有太大的实际意义。在支持大容量内存的64位服务器系统中,应用Hyper-V虚拟出多个应用才有较大的现实意义。微软上一代虚拟化产品Virtual Server和Virtual PC则是基于32位系统的。
硬件支持上大大提升:Hyper-V支持4颗虚拟处理器,支持64GB内存,并且支持x64操作系统;而Virtual Server只支持2个虚拟处理器,并且只能支持x86操作系统。并且在Hyper-V中还支持VLAN功能。
Hyper-V提供了对许多用户操作系统的支持:Windows Server 2003 SP2、Novell SUSE Linux Enterprise Server 10 SP1、Windows Vista SP1 (x86)和Windows XP SP3 (x86)。在刚刚发布的Hyper-V RC1代码中还增加了对Windows 2000 Server SP4以及Windows 2000 Advanced Server SP4的支持。
Hyper-V整合于部分Windows Server 2008操作系统中,安装成功后,在管理工具中会出现Hyper-V Manager的管理控制台。Win 2008的标准版、企业版以及数据中心版均有一个不带有Hyper-V的版本,以"Without Hyper-V"作为标识。