还一个有意思的现象,我们发现上面的测试中的虚拟服务器,无论它的CPU占用率有多高,在主系统的Windows2008上始终都不会体现出来。感觉上Windows2008所使用的CPU和虚拟服务器上的CPU就象是完全隔离开的一样。2007年我们做过的SWsoft的基于寄居架构的虚拟系统测试,虚拟系统的压力会直接体现在主系统之上。相对应的是,分配给虚拟服务器的物理内存则可以在主系统中表现出来,分配固定内存空间应该是出于平衡性能和稳定性的一个考虑吧。
 
图11 虚拟机的系统资源设置
    在虚拟服务器的系统资源中,我们可以设置1、2或4个虚拟处理器,从图10可以看出来,无论赋予虚拟服务器的处理器是1个还是4个,虚拟的处理器和物理处理器其实没有任何影射对等关系。将物理硬件的空余处理能力按设置的百份比例划分给虚拟服务器,并根据各个系统不同的负载大小,弹性的变更其处理计算能力,这是Hyper-V对系统性能的动态协调特性。但当服务器中装有多个虚拟系统,如果某虚拟服务器占用的计算能力值在100%时,这仍然会大大的影响到其他系统的可用性。所以要对每个虚拟服务器进行合理的资源分配。Hyper-V对不同系统之间的资源弹性调配,可以大大提高系统的整体可用性,这也是虚拟技术最大的特点。
 
图12 在主系统进行winRAR测试
当虚拟服务器正在进行压力测试的时候,我们在Windows2008上也进行了winRAR的硬件性能测试,对照关闭虚拟服务器是进行的同样的测试,结果有20%左右的下降,这说明了系统硬件性能的独立存在,至少在CPU上是如此。
由于Hyper-V是属于裸金属架构的虚拟技术,我们推测主系统Windows2008上监视到的CPU也是基于虚拟平台之上的,或者说,with Hyper-V的Windows Server2008本身就是一个安装在虚拟层之上的虚拟系统。
 
图13 虚拟服务器高负荷,主系统依然没有体现
在虚拟服务器运行的时候如果将窗口转为全屏显示,此时的操作完全没有使人觉得是在操作一个虚拟系统,和平时物理系统之间的切换并没有什么不一样的地方。这里我们想到了一个有趣的比喻,在对IT业界有深远影响的电影《***帝国》中,每个人不过是在一个虚拟世界中的一个虚拟的意识,没有人想到自己是被虚拟出来的,就象Hyper-V上的Windows2003不会知道自己是被安装在虚拟的平台上一样,假如系统也有意识存在的话。而从系统资源的监视中看出,虚拟服务器的CPU占用率并没有体现在2008之中,可以说在CPU使用的时间片,不同系统之间是相互隔离的,我们大胆的猜测,其实Windows2008也是一个特殊的虚拟系统,是一个能提供虚拟功能的母系统,但就连母系统也是建立在虚拟的硬件平台之上。
就象我们当第一次看到Neo离开Matrix之后还能用自己的能力对付机械章鱼的时候,一样的大跌眼睛。作为母系统的Windows Server2008有其特别的存在意义,但这不等于说明Windows Server2008的母系统象寄居架构的母系统一样不能缺少,没有Windows Server2008的Hyper-V也是可以独立工作在硬件层上的。在微软公司08年即将发布的产品名单中有一款售价为29美圆的独立Hyper-V软件,届时,我们只需在Hyper-V上就可以安装各种不同的系统了。