这两天因为需要,部署了很多W2016DC服务器,其中有一台工作站有NVIDIA Quadro K4200显卡,就顺手简单测试了W2016的RemoteFX-GPU虚拟化功能,其过程如下,很简单,供需要的朋友做个参考。我们先简单回顾一下这项功能。它始于Windows 2008 R2SP1,和Dynamic Memory技术一起,主要针对服务器虚拟化和桌面虚拟化市场。RemoteFX包含三个子功能:GPU虚拟化,Enhanced Codec和USB端口重定向。通过将物理GPU虚拟化后分配给虚拟机,使得虚机也能拥有较完整的图形处理能力,比如能流畅运行基于Flash、DirectX等应用程序,而且实现过程简单易用。对VDI客户端的要求也不高,只要能支持RDP8/8.1。显卡的选型较为重要,可参考下面微软的官方博客,尤其需要注意物理显卡显存的大小,因为在启用RemoteFX虚拟出vGPU时,分配给各个虚机的vGPU 的显存是不能overcommit的。

https://blogs.technet.microsoft.com/enterprisemobility/2013/11/05/gpu-requirements-for-remotefx-on-windows-server-2012-r2/

 

准备工作完成后就可开始具体配置,本测试中物理机安装了W2016 数据中心版,虚拟机分别测试了W2016数据中心版及Win10专业版。

1.下面是物理机里的显卡具体型号:

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第1张图片

2.添加Hyper-V角色和“远程桌面虚拟化主机”角色,因为仅仅做功能测试,所以暂不部署“远程桌面连接代理”及授权等角色,但在生产环境里,这些都是必须的。参照下面图示,完成后需要重启机器。

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第2张图片

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第3张图片

3.打开Hyper-V管理器,鼠标右击Hyper-V物理机,选择“Hyper-V设置...”-->点击“物理GPU, 管理RemoteFX GPU”,在右边选择你需要启用虚拟化功能的GPU,勾选“将此GPU用于RemoteFX”。应用后你可以看到相关详细信息,比如支持的DirectX版本,WDDM驱动版本,显存大小等等。

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第4张图片

4.关机需要添加vGPU的虚机,打开其设置界面,在“添加硬件”的菜单里选择添加“RemoteFX 3D视频适配器”:

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第5张图片

5.接下来根据需要设置该虚机的“最大监视器数目”,分辨率和显存大小:

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第6张图片

6.同样的方法再添加配置下一台虚机的vGPU,最后还可回到Hyper-V物理机的设置界面,查看该物理显卡的资源使用情况:

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第7张图片

7.启动添加了vGPU的虚机,打开其设备管理器,可以看到该vGPU设备:

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第8张图片

8.在虚机里运行dxdiag,可看到DirectX相关加速功能都已经启用:

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第9张图片

9.最后,安装了Autodesk 3ds Max软件测试一下效果,感觉整体不错,操作也比较流畅,当然,只是单机负载不重的情况下的简单测试。仅供参考。

小测试--在Windows server 2016中启用RemoteFX-GPU虚拟化功能_第10张图片