Windows Server 2008 R2 Service Pack 1(以下简称SP1)的新功能——RemoteFX和动态内存(Dynamic Memory),是为了进一步强化Hyper-V虚拟服务器。本文, 微软的负责人将就有关情况和功能作更详细的介绍。
■ SP1新增功能重点针对VDI
服务器平台业务本部Windows Server产品部行政产品经理上村昌平先生
——微软在7月发布了SP1测试版本,这一次,SP1能实现哪些功能?
上村先生:通常服务包是进行修正,不会放入过多的新功能。但这一次,SP1中放入了RemoteFX和动态内存新功能。这些功能是应对VDI(虚拟桌面基础架构)未来的市场扩展所必需的。
RemoteFX就如你使用的虚拟桌面,可以利用DirectX展现应用程序。这是现在的虚拟桌面所不具备的,将来Web站点还可利用Flash和Silverlight。
此外,动态内存可以让你通过高效利用服务器内存来运行多个虚拟桌面。当然,RemoteFX和动态内存,不仅仅可用于虚拟桌面,对虚拟服务器也将发挥重大的作用。
SP1将于2011年年初发布。
#p#
■ DirectX9c支持RemoteFX
微软咨询服务总部高级顾问佐佐木彻先生
——运行RemoteFX要求什么环境?
佐佐木先生:RemoteFX需要在采用NVIDIA和AMD显卡的服务器端运行。显卡推荐使用面向服务器的产品。但是,如果用户的目的在于测试,则可使用消费类的显卡。
这个时候需要注意的是图形驱动程序。Windows Server 2008 R2并没有推出针对消费类显卡的驱动。当时Windows 7使用的是64位驱动程序,而正式运行时,考虑到驱动的稳定性,以及Windows Server 2008 R2的环境支持,还是推荐使用面向服务器的显卡。
还有一个重要因素的是显卡容量。RemoteFX要求虚拟桌面的分辨率为1024×768,显存为75MB。因此,在运行多个虚拟桌面或要提高分辨率的情况下,都建议尽可能使用具有大容量视频存储的显卡。本公司推荐使用1GB视频存储的显卡。
对于当前测试版的显卡类型,并没有规定和限制。特别的,即使是现在的显卡,以及DirectX 9c或更高版本的显卡都不会存在这样的问题。
此外,服务器端配备多个显卡时也不存在问题。对于测试版本,配备不同厂商的显卡同时运行时也没有限制。但从稳定性的角度来说,最好还是使用同一厂商同一代的显卡。如果要实施迁移的话,前提就必须是相同的显卡了。
RemoteFX需要的显示器分辨率、显示器数量及GPU相应所必需的显存。微软推荐使用1GB的显存(Tech-ED2010的幻灯片)
RemoteFX的概念图。RemoteFX的专用虚拟硬件驱动程序被安装在虚拟机中。虚拟硬件驱动通过服务器的DirectX 提请GPU进行绘图处理
――RemoteFX利用了一些专用的ASIC解决方案,专用的ASIC具体情况及有何作用?
佐佐木先生:RemoteFX、DirectX支持虚拟桌面屏幕图像的压缩,以及在局域网中的传输。专用的ASIC用于解压已被压缩的屏幕图像。
目前,虽然服务器端使用屏幕图像软件进行压缩,而专用ASIC的解决方案的功能也被认为是压缩。但服务器端专用的ASIC尚未公布。
对于客户端,ThinLinx厂商推出了使用RemoteFX的TinhkLinx超薄客户端。
随着RemoteFX的RDP 7.0客户端允许重定向和视频解码功能,任何来自服务器端用来显示的资源都能转移到客户端屏幕上。然而,GPU还支持视频加速功能,视频播放时将消耗CPU资源,但不会增加其负载。
RemoteFX硬件ASIC专用芯片使RemoteFX高速运行。如果没有芯片,将使用软件机制
使用RemoteFX的TinhkLinx超薄客户端。通过采用了专用ASIC的RemoteFX可以同时查看虚拟环境中客户端所显示的3D图形
#p#
■ 应对客户端的Windows 7 SP1
——测试版中,只可使用Windows 7 SP1作为虚拟桌面,正式版在这方面会有什么改变?
佐佐木先生:未来,也将可能支持Windows XP和Vista,但是当下只能支持Windows 7。用户在这方面的需求也会决定支持的优先级变化。不过,对于本公司,我们还是希望有更多的用户能转移到Windows 7。
此外,客户端的Windows 7 SP1支持 RDP7.1。这使得Windows 7可用RemoteFX。我们也正积极推进Windows XP和Vista支持RDP 7.1的计划。对于Mac、iPad和iPhone这样的非Windows平台,我们并未积极移植,而是利用思杰这样的第三方解决方案来使用RemoteFX。
——试图使用RemoteFX运行游戏,但游戏不能正常运行,这是怎么回事?
佐佐木先生: RemoteFX虽然支持DirectX 9c,但我不认为它能运行高性能的游戏。这是当前的测试版本,对于正式版,我想其性能会小有提高。但依然不可能在一个虚拟环境运行游戏。
然而,RDP 7.1可用于连接远程桌面,这不属于虚拟环境,如果使用远程桌面,或许能够在远程环境下运行游戏。
#p#
■ 动态内存增强Hyper-V
技术业务总部的基础设施事业部中工程技术专家小组的山崎先生
——动态内存并没像VMware一样使用页面共享,而是采用了过量调拨内存功能,这其中的原因何在?
山崎先生:由于Windows 7和Windows Server 2008 R2采用的都是大页面(2MB),这就不可能共享页面。像VMware的页面共享,是检查每页的共享数据再比较。然而,在2MB的页面中,完全相同的内容存在的可能性比较低。
而且,页面共享和内存检查都共享同样的内容。现在不是共享内存的时机。检查内存找到同一页面,还需要时间进行共享。
此外,当共享页面改变时,哪怕是一个字位的变化,若要取消共享页面,也必须在内存里复制相同数量的页面。经常会出现这种情况,这也是性能会下降的原因。因此,动态内存不采用页面共享。
只要利用页面共享,就需要有适应环境的新机制。例如,从一个像呼叫中心的虚拟场景中启动多个虚拟环境,就得考虑使用页面共享以节约内存。但我认为未来的Hyper-V会有一个采用页面共享的新理念。
动态内存的另一构想是在虚拟环境中不进行分页。当然,在虚拟环境中你可以采用更多的内存用于磁盘交换。但磁盘交换使性能下降很快。
共享页面,如果页面被共享,4KB相同数据出现的可能性很大。但Windows OS使用的是大页面,页面被扩展为2MB,因此同一数据出现的可能性较少,能够利用页面共享的情况也比较少
——动态内存定义内存的最大值和最小值是动态变化的。为什么不像其他公司那样定义最大值?
山崎先生:这也是和分页息息相关的。动态内存可以使我们在虚拟环境中根据需要扩展内存。因此,这种性能使得内存的最大容量是动态变化的。
如果虚拟环境启动时就定义了最大容量,当内存不能分配时,就有必要分页。动态内存指定了优先级和缓冲值。优先级决定虚拟机的优先次序,即决定着哪个虚拟机器优先分配内存。
此外,缓冲值设置了内存应该分配给整个系统的容量百分比。例如,当被设置为20%,则需要从各虚拟机削减20%的内存空间,当空间容量超过20%,则需要扩展虚拟机的内存。
如果需要为两个虚拟环境在同一时间进行内存扩展,且内存不足,内存会分配给优先级更高的虚拟环境。这种情况下,优先级低的虚拟环境会产生一个内存不足的错误。
如果使用动态内存运行SQL Server应用程序,你需要注意进行内存管理。这种应用程序,为确保在启动时具有最大可用内存,即使负载变小时也会继续保留最大值。
另外,你必须检查某些应用在启动和安装时指定的内存容量。当要运行在虚拟环境中只占用最小内存容量的应用程序时,你将需要使这些应用程序保持启动或可安装。
动态内存,在启动和安装的时候都动态改变内存占用量,因为有可能分配不了你应用程序所需的内存。
主页面,当内存不足时,将会在磁盘页面上创建一个交换文件
如果你没有足够的内存,虚拟机会出现超负荷现象。发生超负荷,此系统将会被锁死进而停止运作
Hyper-V的虚拟机可以锁定内存以避免交换
【编辑推荐】
- 如何部署Win2008 R2之Hyper-V入门攻略
- Win2008 R2之DA实战:DC FOR NAP准备篇
- Win2008 R2之DA实战:服务器环境准备篇
- Win2008 R2之DA实战:服务器部署篇
- Win2008 R2之DA实战:域环境准备
- Win2008 R2实战之远程桌面IP虚拟化部署