提到虚拟化技术,大家首先想到的是VMwarer、SWsoft、XenSource等这些带头大哥们,它们在虚拟化技术的发展进程中,都起到了关键性推动作用。就在这些虚拟化厂商在人们心中已根深蒂固的今天,作为软件行业的巨头微软即将高调推出其新一代虚拟化平台——Hypervisor。
对于微软的虚拟化产品,也许很多人依然停留在对VPC(Virtual PC)、与Virtual Server的认识,这两款产品,一个应用于客户端,一个应用于服务器,也曾陪ITpro与部分企业走过了不少年头。哪么微软为什么要推出一个全新架构的Hypervisor呢?
一、微软虚拟化的应用
随着企业信息化的不断向前推进,各种问题也都蜂拥而至,硬件不能得到充分利用、应用不能兼容、桌面时刻变化无法应对、安全得不到合理控制……这一切都让企业的IT管理者头疼不已。企业迫切需要一种高效、灵活、智能的动态IT流程,来应对不同应用的需求。微软Hypervisor虚拟化技术,从服务器虚拟化、桌面虚拟化、应用虚拟化、表示层虚拟化等,从不同的需求出发,来改善企业的IT应用。
(一)   服务器虚拟化
对于服务器虚拟化,相信很多人并不陌生,就象我们所熟知的Virtual Server 2005 R2。但在性能上却有显著的不同,Windows Server 2008 Virtualization(WSv)做为Windows Server 2008的组件存在,包含了基于Hypervsior的技术。彻底改变了模拟器类型的虚拟化产品。它的具体功能如下:
1.       广泛的OS支持
WSv支持目前流行的各种操作系统,包括跨平台的Linux/Unix等64位或32位系统,不过,部分系统不能正确识别Windows Hypervisor,这样虚拟系统性能将会有所下降,但依然可以在WSv中运行。
2.       SMP支持
WSv可支持4个处理器,8个内核。
3.       内存支持
WSv最多可支持32GB的内存,相比Virtual Server虚拟机最高3.6G内存的支持,提升了近30倍。
4.       网络负载均衡
WSv包括新的虚拟交换功能,这意味着虚拟机可以轻松地配置为与Windows NLB一起运行,以便在不同的服务器上跨虚拟机平衡负载。
5.       快带迁移
WSv可以在不停机的情况下,把虚拟机从一台Host无缝迁移到另一台Host上;甚至可以根据虚拟机CPU、内存或者网络资 源的利用率设置触发事件,自动给运行关键业务的虚拟机添加CPU、内存等资源。
6.       内存复制
WSv支持内存的“写时复制”(Copy On Write)功能,可以极大的节省内存。当多个虚拟机采用相同系统时,相同系统有很大一部分在内存中是相同的,这时就可以共享内存中的相同内容。
7.       完全支持WMI
我们可以通过WSH或者Powershell对WSv进行全面管理。
 
(二)   桌面虚拟化
桌面虚拟化则是类似于Virtual PC,在桌面系统中模拟一个硬件环境,使一些较老或是其它系统环境下的软件,能够正常运行,例如,在Windows 2000以后的系统中模拟DOS、模拟Linux环境来运行一些软件。非常适用于ITpro进行学习研究之用。
(三)   应用虚拟化
说到应用虚拟化,不得不说到Softgrid虚拟应用程序服务器,Softgrid服务器可以让应用程序脱离操作系统,在客户端上运行,而且不需安装。我们只需要在Softgrid服务器上安装了应用程序,就可以在客户机上完美运行。Softgrid服务器会为每一台客户机设定一个Cache,将运行该程序所需的DLL、注册表键值入到缓存中来,客户机上应用程序的各种对DLL的需求与注册表键值的修改,只会修改缓存中的内容。这就注定了应用虚拟化非常适用于软件测试行业。
(四)   表示层虚拟化
 表示层虚拟化,在应用上与应用虚拟化有些类似,所不同的是表示层虚拟化中的应用程序运行在服务器上,客户机只显示应用程序的UI界面和用户操作。举例来说,我们只需要在一台高性能服务器上安装一套Office 2007软件,所有网内的客户机无需安装即可象本机一样使用,哪怕是一台安全不具备Office 2007硬件需求的客户机,也可以完美使用,因为客户机所处理的只是软件的UI界面。甚至你完全可以在一部安装有Windows Moble的手机上运行Office 2007。
除了以上四种虚拟化应用,微软还提供了存储虚拟化、网络虚拟化,每一项都契合了用户的各种具体应用。相信随着微软Hypervisor的推出,虚拟化技术的应用将更加贴近于日常应用。
二、微软虚拟化技术原理与架构

   微软的虚拟化架构如上图所示,其中最底层为服务器硬件架构,它包含AMD-V、Intel VT、DEP等硬件支持,再上层就是微软的Windows Hypervisor,在虚拟的每一个子系统之间都是通过VMbus进行通信,包括主系统Windows Server 2008在内,所有的OS都是通过VMBus的一种机制与Hypervisor进行通信,其中父分区,可简单理解为Windows Server 2008宿主系统所在分区,它与Hypervisor的通信是通过VSP传送给VMBus,再通过VMBus与Hypervisor的联系到达硬件。而子分区中的系统,是由VSC将请求发送给自己的VMBus,VMBus再与父分区的VMBus进行沟通,最后由父分区的VSP将请求传送给HyperVisor。
 
  单独的Windows Server 2008在安装之后是直接与硬件通信,但当在系统中启用了Hypervisor,该Windows Server 2008也将作为一个Hypervisor的一个虚拟系统与其它子系统几乎是并列的存在,所不同的是Windows Server 2008作为父分区的宿主机,承载了所有子分区中虚拟系统的驱动程序。为子分区中系统的安全性又上了大大的一把锁。