Windows Server 2008 R2 SP1新增虚拟化功能体验

行业应用

SP1补丁

在SP1补丁发布前,Technet或MSDN的订阅者可以提前一周获得SP1补丁。这时就可以体现出微软MVP(Most Valuable Professionals,最有价值专家)的优越性了,MVP可以使用微软赠送的订阅账户提前体验SP1版系统。笔者在第一时间下载了SP1补丁,然后分发给办公室的同事们。同事们也纷纷对自己的Windows7“大动干戈”,经过半个多小时的鏖战,大家都如愿以偿地把操作系统升级到了最高版本,剩下的任务就是体验新系统了。但是在体验的过程中,一些不和谐的声音逐渐冒出来了,“貌似没什么变化”、“好像启动快了一点”、“启动好像有点慢”,“界面一点都没变”……

26-a12-1.jpg
Windows Server 2008 R2与Windows7的SP1补丁是相同的

淡定,淡定,出现这种情况并不奇怪。在这次SP1补丁的发布中,Windows 7并不是主角。期望发布SP1补丁后系统启动速度就能变得飞快,3D游戏性能可以得到优化的朋友们可能要失望了,对Windows 7来说,SP1补丁仅仅是先前发布的补丁的集合,并没有太多值得炫耀的功能。这次升级的真正主角是Windows Server 2008 R2,在SP1补丁的帮助下,Windows Server 2008 R2得到两个虚拟化方面的巨大改进:动态内存以及RemoteFX。动态内存可以帮助服务器虚拟化产品更好地分配内存资源,RemoteFX则可以极大地改善桌面虚拟化中的用户体验。Windows Server 2008 R2新增的这些功能是否真正给力,让我们在接下来的测试中看看吧。

部署

部署Windows Server 2008 R2 SP1并不是一件困难的事,大家都已经习惯了微软的补丁更新周期。以前我们都是怀着忐忑的心情憧憬着微软发布新的服务器Service Pack,但现在安装一个Service Pack简直就像吃汉堡一样平常。一般只要启动安装程序,一路按“Next”就OK了。不过这次测试时笔者发现安装过程变得非常谨慎,如果服务器上安装了杀毒软件,SP1补丁的安装程序有可能会提示存在软件兼容性问题,并且因此中止安装。最令笔者感到不可思议的是,SP1补丁居然提示和微软自己的杀毒软件Forefront Client Security存在兼容性问题。

笔者关闭了Forefront Client Security后也无济于事,必须卸载Forefront Client Security才可以安装SP1补丁。这使得笔者安装SP1补丁的过程变得非常狼狈,具体的流程是卸载FCS(Forefront Client Security)→安装SP1补丁→重启服务器→安装FCS。而其他杀毒软件暂时没有发现和SP1补丁存在类似的兼容性问题,微软这种只查自己、不查别人的“杀熟”作风让笔者实在无语。

好在处理完SP1补丁的软件兼容性问题后,剩下的操作难度并不大。Windows Server 2008 R2 的SP1补丁中包含了三个安装文件,分别适用于X86、X64及IA64平台。由于Windows Server 2008 R2 都是64位版本,因此我们要选择适用于64位平台的SP1文件进行安装。安装开始后,只需要为C盘留出8GB以上的空间,基本就可以确保安装成功了。安装SP1的时间不短,笔者在一台HP的刀片服务器上测试,需要30分钟~40分钟。

动态内存

Hyper-V虚拟服务器发布之后,进步很快,至少目前在虚拟机迁移方面已经可以和VMware相抗衡了。但Hyper-V在内存分配方面和VMware还是有一些差距的,如VMware可以支持动态内存和内存热添加技术等,Hyper-V相比要逊色一些,只能为虚拟机分配固定容量的内存。这样就导致有些服务器管理员会为自己的服务器最大限度地申请内存,例如某个业务服务器正常只需要1GB内存,但管理员往往会非常具有前瞻性地申请4GB内存,结果当然是白白浪费了很多内存。在Windows Server 2008 R2 SP1推出之前,微软对付VMware的方法是拼命质疑VMware动态内存技术的安全性,例如在以前的Tech.ED技术大会上,与会者经常会听到讲师对VMware动态内存技术的质疑。当然,在今年的Tech.ED大会上我们听到的就是微软讲师对动态内存的赞美声音了。

26-a12-2.jpg
使用Hyper-V 管理器编辑虚拟机设置

想体验动态内存技术并不难。首先需要在安装了SP1补丁的服务器上部署Hyper-V。部署完Hyper-V后,重新启动服务器,就可以创建Hyper-V虚拟机了。Hyper-V虚拟机使用的操作系统没有限制,只要是Hyper-V支持的操作系统,都可以享受动态内存。创建虚拟机的过程和老版本完全相同,看不出任何变化。但当我们使用Hyper-V管理器编辑虚拟机设置时,就可以看出动态内存设置的玄机了。如果我们选择为虚拟机分配静态内存。那虚拟机的内存分配机制和以前的版本相同,虚拟机还是会得到固定的内存。注意,如果你使用默认选项,那么创建虚拟机时Hyper-V会使用静态内存。如果使用动态内存,那么虚拟机内存会在下限和上限之间浮动,本案例中虚拟机的内存在256MB和2GB之间。

虚拟机的内存分配中还可以配置缓存区,在本案例中如果虚拟机使用了分配的全部2GB内存,那么Hyper-V服务器还会为虚拟机留出410MB内存用于应付突发事件。这种设计机制是建立在所有虚拟机不会同时达到内存上限的基础上的,如果所有虚拟机由于某种不可思议的原因都需要最大限度地使用内存,那Hyper-V服务器就要面临内存危机了。这种情况下,哪些虚拟机可以优先得到内存就取决于虚拟机内存权重的优先级设定了,优先级高的会被首先保证内存分配。

动态内存的节能效果是很明显的,笔者对一个Hyper-V虚拟机进行了内存调整。原来虚拟机分配的是4GB静态内存,现在改为分配动态内存,范围是512MB~4GB。结果笔者发现这台服务器基本只使用700MB内存,偶尔会使用2GB内存。这么看来,动态内存允许在一个范围内为虚拟机灵活配置内存,增大了内存的利用率,降低了使用成本。动态内存只要被证明技术可靠,相信应用前景应该是一片光明的。

前不久微软发布了Windows 7和Windows Server 2008 R2的SP1补丁。对于熟悉微软操作系统的朋友来说,微软产品的SP1版本才是这个产品真正走向成熟的标志,也是诸多企业考虑部署应用的起点。长期以来,微软都在告诉我们,Windows 7和Windows Server 2008 R2的内核代码是相同的,只是进行了不同的编译而已。这次发布SP1补丁,微软用行动很好地对这两个产品的同源性进行了诠释:Windows 7和Windows Server 2008 R2的SP1补丁完全相同。仔细想想倒也不难理解,这样可以减少代码的开发量,提高产品利用率,和目前绿色减排的大方向还是一致的。

RemoteFX

RemoteFX也是Windows Server 2008 R2 SP1中的一项重要的新功能。RemoteFX主要用于桌面虚拟化(VDI),允许用户在远程的虚拟机上使用Aero、玩3D游戏等,对用户体验是很好的改善。RemoteFX还允许USB重定向,用户可以在远程虚拟机上使用本地的USB设备。从RemoteFX来看,微软在VDI方面也开始发力了。想当年,微软在Hyper-V上进步神速,一年发布了三个版本,不知在VDI方面是否也能这么给力?

26-a12-3.jpg
在终端上可以远程连接Windows 7 SP1虚拟机

想体验RemoteFX,有两个办法:简单的办法就是找一台安装了Windows Server 2008 R2 SP1的服务器,部署Hyper-V和RemoteFX。再在服务器上创建一个Hyper-V虚拟机,虚拟机安装的操作系统是Windows 7 SP1,然后就可以在一台远程主机上体验Windows7 SP1虚拟机上的RemoteFX了。复杂点的方法就是在Windows Server 2008 R2 SP1的服务器上除了部署Hyper-V和RemoteFX外,再部署一套完整的远程桌面服务程序,彻底体验一把RemoteFX在VDI中的表现。笔者在测试中选择的是简单方法,只需要在Windows Server 2008 R2 SP1服务器上安装Hyper-V和RemoteFX就可以了,RemtoeFX在远程桌面服务程序中可以找到。

程序安装完毕后,笔者在Windows Server 2008 R2 SP1服务器上安装了一个Windows7 SP1的虚拟机。虚拟机安装完以后,把虚拟机关掉,然后在Hyper-V服务器中编辑虚拟机的设置。当选择在虚拟机中“添加硬件”时,大家会惊喜地发现多了一个名为“RemoteFX 3D视频适配器”的设备,实现RemoteFX就得靠这个设备。RemoteFX 3D视频适配器居然还支持多个显示器。

添加了RemoteFX 3D视频适配器后是否就万事大吉了?非也。此时启动Windows7 SP1虚拟机,很多朋友都可能遇到一个不能启动虚拟机的错误提示。这是为什么呢?因为RemoteFX需要Hyper-V服务器的CPU支持SLAT技术,SLAT技术又被英特尔称为EPT,被AMD称为NPT。早先笔者在一台采用酷睿CPU的电脑上测试,结果虚拟机不能启动;后来换了一台使用K10架构的AMD CPU的电脑,Windows 7 SP1虚拟机终于可以启动了。AMD的K10 CPU都支持SLAT,看来AMD在虚拟化支持方面比英特尔要“厚道”很多。

Windows 7 SP1虚拟机启动后,笔者在一台远程计算机上使用远程桌面连接虚拟机,这台远程计算机的操作系统也一定要是Windows 7 SP1或Windows Server 2008 R2 SP1。笔者在远程计算机上运行“mstsc”,填写Windows7 SP1虚拟机的IP地址,然后展开远程桌面连接的“选项”,在“体验”标签中把连接速度设置为“局域网(10Mbps或更高)”。如果网络带宽不足,同样也体验不了RemoteFX。

设置完远程桌面连接的选项后,就可以远程连接到Windows 7 SP1虚拟机了,我们可在虚拟机上看到熟悉的Aero。这确实是个非常大的进步,理论上只要Hyper-V服务器的显卡足够给力,在虚拟机上玩《魔兽世界》也是可以的。

RemoteFX也支持USB设备重定向,只要我们在远程桌面连接的属性中切换到“本地资源”标签,在本地资源标签中就可以设置Windows7 SP1虚拟机能访问的本地资源。本地资源中包括了本地的USB设备、智能卡以及所有的硬盘驱动器和光驱。

小结:经过测试,笔者发现无论是本地的U盘,还是本地的USB摄像头,Windows 7 SP1虚拟机都可以很好地支持。似乎就在一夜之间,Hyper-V虚拟机的用户就获得了难以想象的改进体验,Hyper-V用户可以使用USB设备,可以拥有Aero桌面、可以玩3D游戏……也许,所有的一切都在说明:微软准备在桌面虚拟化方面玩真的了。