导语:谈到虚拟化技术想必大家现在并不陌生,在整个IT产业中,虚拟化已经成为关键词,从桌面系统到服务器、从存储系统到网络,虚拟化所能涉及的领域越来越广泛。Hyper-V是微软的新一代服务器虚拟化解决方案,和微软之前的虚拟化产品相比是一个突破性的产品。而在Windows Server 2008 R2中,Hyper-v的版本升级为2.0,增加了实时迁移等重要特性。
服务器虚拟化现在已经不是一个陌生的词汇,这种能够将服务器整合、降低硬件成本、提高服务器利用率的技术近年来得到了飞速的发展和广泛的应用。在当前的服务器虚拟化阵营中,微软是一个后起之秀,凭借08年推出的Hyper-v,以及09年1月公布的Hyper-v 2.0,微软已经在竞争激烈的虚拟化市场站稳了脚跟。
什么是Hyper-v
2008年的6月,微软推出了正式版的全新服务器虚拟化方案Hyper-v,不用于之前的微软Virtual Server、Virtual PC等虚拟化产品,Hyper-v是一个突破性的产品,在架构上完全不同于之前的虚拟化产品。
我们先以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还具有其它一些变化:
支持64位系统:正式发布的Hyper-V基于32位和64位系统,不过由于32位系统的内存寻址空间只有4GB,所以对于虚拟化应用没有太大的现实意义。在支持大容量内存的64位服务器系统中,应用Hyper-V虚拟出多个应用才有较大的现实意义。微软上一代虚拟化产品Virtual Server和Virtual PC则是基于32位系统的。
硬件支持上大大提升:Hyper-V支持4颗虚拟处理器,支持64GB内存,并且支持x64操作系统;而Virtual Server只支持2个虚拟处理器,并且只能支持x86操作系统。并且在Hyper-V中还支持VLAN功能。
Hyper-V提供了对许多用户操作系统的支持:Hyper-V提供了对多个操作系统的支持如Windows Server 2003 SP2、Novell SUSE Linux Enterprise Server 10 SP1、Windows Vista SP1 (x86)和Windows XP SP3 (x86)等。
第2页:Hyper-v 2.0的改进
Hyper-v 2.0的改进
Hyper-v 2.0是Hyper-v 1.0的升级版本,在09年1月公布。Hyper-v 2.0将整合在Windows Server 2008 R2系统中。除了具有Hyper-v的基本特性,在多项功能上进行了增强,其中最具革命性的就是支持实时迁移(Live Migration)功能。
在虚拟化应用中虚拟机的迁移是经常要面对的一个问题,比如服务器硬件平台升级时,就要将虚拟机从老服务器平台迁移到新服务器平台上,而在迁移过程中我们都不希望虚拟机被中断。在Hyper-v 1.0中没有提供对实时迁移的支持,虽然其Quick Migration功能可以将虚拟机迁移到另一台物理服务器上,但是在迁移虚拟机的时候网络将中断,完成之后需要用户再连接网络,这就降低了虚拟机的可用性。
Hyper-v 2.0的一个重大改进就是增加了对实时迁移功能的支持,可以让虚拟机在保持网络服务的状态下从一台服务器迁移到另一台服务器,而迁移所需的时间仅为毫秒级别,这样让虚拟机不必中断服务,提高了虚拟机的可用性。实时迁移支持在不同处理器间进行虚拟机的迁移,当然,这只限于同一芯片制造商的产品之间,Intel-Intel、AMD-AMD,Intel和AMD处理器之间是无法进行迁移的。
除了实时迁移功能外,Hyper-v 2.0在扩展性、节电、网络功能等方面进行了增强。在扩展性上,由于Windows Server 2008 R2扩展性增强,可以支持256个逻辑处理器,也就是说可以支持64个四核处理器或者32个八核处理器,并且最大支持2TB内存。在这样的基础上,Hyper-V 2.0可以实现每个虚拟机使用4个虚拟CPU和64GB的虚拟内存。Hyper-V 2.0所能支持的CPU内核数也增加到64个CPU内核。
在节电特性上,通过CPU Parking功能可以让Windows Server 2008 R2和Hyper-v 2.0将大部分的处理功能集中到最少的物理CPU核心上,并且将没有使用的CPU核心暂停,将CPU留给最需要的应用程序,这样可以节省大量的电力和资源。此外,Hyper-v 2.0增加了新的网络功能,允许虚拟机和父分区共享主机网卡,可以在测试用的单网卡主机上虚拟出多网卡环境,减少了大量设置和排错的麻烦。