虚拟机图形加速部署指南
7.4.1 配置 3D 渲染的最佳实践
不同的 3D 渲染选项和其他池设置具有不同的优缺点。应选择能对您的 vSphere 硬件基础架构提供最佳支持并且能最好地满足用户图形渲染要求的选项。
对于很多需要 3D 渲染的 View 部署而言,“Automatic”(自动)选项都是最佳选择。即便 GPU 资源已全部预留完,此选项也能确保进行某种类型的 3D 渲染。在包含 ESXi 5.1 和 ESXi 5.0 主机的混合集群中,此选项可确保成功开启虚拟机,并且即使 vMotion 已将虚拟机迁移至 ESXi 5.0 主机,此选项也能确保使用 3D 渲染。
使用“Automatic”(自动)选项的缺点是,无法轻松辨别虚拟机使用的是硬件 3D 渲染还是软件 3D 渲染,也无法控制虚拟机使用硬件还是软件来确定满足各种使用情形所要求的性能级别类型(例如,一些虚拟机在执行 Office 应用时只需要软件 3D 渲染,而其他虚拟机在执行 CAD 应用时则需要硬件 3D 渲染)。
“Hardware”(硬件)选项可确保只要 ESXi 主机上有可用的 GPU 资源,池中的每个虚拟机都能使用硬件 3D 渲染。当所有用户都在运行需要大量图形资源的应用时,此选项可能是最佳选择。
使用“Hardware”(硬件)选项时,必须严格控制您的 vSphere 环境。所有 ESXi 主机都必须是 5.1 版或更高版本,并且必须装有 GPU 显卡。当 ESXi 主机上的所有 GPU 资源都已预留完时,View 将无法为此后尝试登录到桌面的用户开启虚拟机。您必须对 GPU 资源的分配和 vMotion 的使用进行管理,以确保为您的桌面留出资源。如果针对特定使用情形适当地调整了池和硬件资源的大小及配置,则此选项会很好地发挥作用。例如,创建一个 vSphere 集群,其中包含的所有主机都具有相同的硬件 GPU,并且您限制这些主机仅运行需要硬件 3D 渲染的 桌面池。
选择“Manage using vSphere Client”(使用 vSphere Client 管理)选项,可为池中的虚拟机提供 3D 渲染和虚拟 RAM 大小的混合配置支持。在 vSphere Web Client 中,可使用不同选项和虚拟 RAM 值来配置各个虚拟机。
如果您只有 ESXi 5.0 主机,或者部分 ESXi 5.1 主机没有 GPU 显卡,亦或您的用户只需要软件 3D 渲染,则选择“Software”(软件)选项。此设置可用于如下情形的特定池:这些池将在部分主机配有硬件 GPU 的集群中运行,桌面池并不需要硬件 3D 渲染,但您希望确保这些资源可供确实需要硬件 3D 渲染的虚拟机使用。
7.5 为 View 池启用 3D 硬件渲染
如果上述所有前提条件都能满足,就可以为现有和新的 View 池启用硬件 3D 渲染。
7.5.1 启用现有 View 池
1. 在 View Manager 中,导航到您要对其启用 3D 渲染的 View 池,然后单击“Edit”
(编辑)。
2. 转到“Pool Settings”(池设置)选项卡。
3. 向下滚动页面,直到“Remote Display Protocol”(远程显示协议)部分。在此部分中,
可看到“3D Renderer”(3D 渲染器)选项。
4. 从下拉列表中选择“Hardware”(硬件)或“Automatic”(自动)3D 渲染选项,然后单
击“Configure…”(配置...)配置您要为每个虚拟桌面分配的虚拟 RAM 容量。
记住:
如果“3D Renderer”(3D 渲染器)部分显示为灰色,则请确保您已选择“PCOIP”作为“Default Display Protocol”(默认显示协议),并将“Allow users to choose protocol:”(允许用户选择协议:)设置为“No”(否)。
重要提示: 必须将现有虚拟桌面关闭后再开启,“3D Renderer”(3D 渲染器)设置才能
生效。重新启动虚拟桌面不会使此设置生效。
? 2012-2013 VMware, Inc. 保留所有权利。
第 16 页,共 20 页
虚拟机图形加速部署指南
7.5.2 启用新 View 池
1. 2. 3. 4.
在创建新 View 池的过程中,请如常配置该池,直到“Pool Settings”(池设置)部分。 向下滚动页面,直到“Remote Display Protocol”(远程显示协议)部分。 在此部分中,可看到“3D Renderer”(3D 渲染器)选项。
从下拉列表中选择“Hardware”(硬件)或“Automatic”(自动)3D 渲染选项,然后单击“Configure…”(配置...)配置您要为每个虚拟桌面分配的虚拟 RAM 容量。
如果“3D Renderer”(3D 渲染器)部分显示为灰色,则请确保您已选择“PCOIP”作为“Default Display Protocol”(默认显示协议),并将“Allow users to choose protocol:”(允许用户选择协议:)设置为“No”(否)。
重要提示: 必须将现有虚拟桌面关闭后再开启,“3D Renderer”(3D 渲染器)设置才能
生效。重新启动虚拟桌面不会使此设置生效。
记住:
8. 性能调整提示
8.1 相对鼠标
本章提供一些有助于提高 vSGA 和 vDGA 性能的提示。
如果您在尝试使用应用或玩游戏时发现鼠标的移动不受控制,那么启用“Relative Mouse” (相对鼠标)将使您可以正常地控制鼠标。
相对鼠标是 View Client 的一个新功能,它改变了跟踪客户端鼠标移动以及通过 PCoIP 发送至服务器的方式。一直以来,PCoIP 使用的都是绝对坐标。绝对坐标事件允许客户端在本地呈现指针,这是针对高延迟环境的重大优化。但是,并非所有应用在使用绝对鼠标时都能正常工作。两种重要的应用类型(CAD 应用和 3D 游戏)依靠相对鼠标事件才能正常运行。
在 View 5.2 中引入 vSGA 和 vDGA 之后,VMware 预计随着 CAD 和 3D 游戏在 View 环境中更频繁地使用,对相对鼠标的需求也会快速增长。
要启用相对鼠标,需要安装 Windows View Client。在笔者编写本文时,尚无法通过任何其他软件客户端或零客户端获得此功能。
8.1.1 启用相对鼠标
终端用户可以手动启用相对鼠标。 8.1.1.1 手动启用相对鼠标
要手动启用相对鼠标,请右键单击屏幕顶部的 View Client 阴影,然后选择“Relative Mouse”(相对鼠标)。您应该就会看到“Relative Mouse”(相对鼠标)旁边的小对号 (?)。 注意: 对每一个连接,都必须选择一次“Relative Mouse”(相对鼠标)。在笔者编写本文
时,尚不存在默认启用此功能的选项。
? 2012-2013 VMware, Inc. 保留所有权利。
第 17 页,共 20 页
虚拟机图形加速部署指南
8.2 使用 VMXNET3 的虚拟机
对于使用 VMXnet3 网卡的桌面虚拟机,只需将下面的注册表设置更改为 Microsoft 建议的值,即可大幅提升 View 桌面的峰值视频播放性能:
HKLM\\System\\CurrentControlSet\\Services\\Afd\\ParametersFastSendDatagramThreshold
请将此注册表设置更改为:1500
注意: 更改此注册表设置后,需要重新启动桌面虚拟机。如果此设置不存在,请将其创建为
DWORD 值。 有关此更改的原理的进一步信息,可在以下网址找到:
http://blogs.vmware.com/performance/2012/10/turbo-charge-view-video-performance.html
9. 资源监控
9.1 gpuvm
要更好地管理 ESXi 主机上的可用 GPU 资源,可以检查当前 GPU 资源的分配情况。ESXi 命令行查询实用程序 gpuvm 可列出 ESXi 主机上安装的 GPU,并显示为主机上的每个虚拟机分配的 GPU 内存量。
要运行该实用程序,请从主机上的控制台或通过 SSH 连接运行下面的命令:
# gpuvm
例如,该实用程序可能会显示如下输出结果:
# gpuvm
Xserver unix:0, GPU maximum memory 2076672KB pid 118561, VM “Test-VM-001”, reserved 131072KB of GPU memory pid 664081, VM “Test-VM-002”, reserved 261120KB of GPU memory GPU memory left 1684480KB
9.2 nvidia-smi
要运行该实用程序,请从主机上的控制台或通过 SSH 连接运行下面的命令:
# nvidia-smi
10. 故障排除
10.1 Xorg
本章提供了一些故障排除步骤,如果环境中发生任何问题,可按照这些步骤进行故障排除。
10.1.1 Xorg 启动失败
如果您尝试启动 xorg 但失败,很有可能是因为 NVIDIA VIB 模块没有正确加载。通常,此问题可通过“热”重新启动主机加以解决(在某些情况下,会出现当 VIB 模块尝试加载时 GPU 没有完全初始化的现象)。
如果 xorg 仍旧启动失败,请尝试以下步骤。
? 2012-2013 VMware, Inc. 保留所有权利。
第 18 页,共 20 页
虚拟机图形加速部署指南
10.1.1.1 确认是否已安装 NVIDIA VIB 捆绑包
# esxcli software vib list | grep NVIDIA
如果已正确安装 VIB,则输出结果应当与下面的示例相似:
NVIDIA-VMware 304.59-1-OEM.510.0.0.799733 NVIDIA VMwareAccepted 2012-11-14
10.1.1.2 确认 NVIDIA 驱动程序是否已加载
# esxcli system module load –m nvidia
如果驱动程序已正确加载,则输出结果应当与下面的示例相似:
Unable to load module /usr/lib/vmware/vmkmod/nvidia:Busy
如果 Nvidia 驱动程序没有加载,请检查 vmkernel.log:
# vi /var/log/vmkernal.log
搜索“NVRM”。
一般来说,如果 GPU 有问题,vmkernal.log 中会指出 10.1.1.3
确认主机中是否存在显示设备
# esxcli hardware pci list –c 0x0300 –m 0xff
输出结果应当与下面的示例相似:
000:001:00.0
Address:000:001:00.0 Segment:0x0000 Bus:0x01 Slot:0x00 Function:0x00 VMkernel Name:
Vendor Name:NVIDIA Corporation Device Name:NVIDIAQuadro 6000 Configured Owner:Unknown Current Owner:VMkernel Vendor ID:0x10de Device ID:0x0df8 SubVendor ID:0x103c SubDevice ID:0x0835 Device Class:0x0300
Device Class Name:VGA compatible controller Programming Interface:0x00 Revision ID:0xa1 Interrupt Line:0x0b IRQ:11
Interrupt Vector:0x78 PCI Pin:0x69 Spawned Bus:0x00 Flags:0x0201 Module ID:71
? 2012-2013 VMware, Inc. 保留所有权利。
第 19 页,共 20 页
虚拟机图形加速部署指南
Module Name:nvidia Chassis:0 Physical Slot:1 Slot Description: Passthru Capable:true Parent Device:PCI 0:0:1:0 Dependent Device:PCI 0:0:1:0 Reset Method:Bridge reset FPT Sharable:true
10.1.1.4 可能会发生的 PCI 总线插槽顺序问题
如果您需要在服务器中安装另一个低端 GPU,则 PCIe 插槽中的显卡的顺序可能会导致为 ESXi 控制台会话选择高端显卡。如果发生这种情况,您只需交换两个 GPU 使用的 PCIe 插槽,或者在服务器 BIOS 中更改“Primary GPU”(主要 GPU)设置即可解决问题。 10.1.1.5
检查 Xorg 日志
如果存在正确设备,则查看 xorg 日志文件可能会有帮助,可以看到是否存在任何明显问题。
# vi /var/log/Xorg.log
10.2 sched.mem.min 错误
如果您收到关于 sched.mem.min 的 vSphere 错误,请在虚拟机的 .vmx 文件中添加以下参数。 sched.mem.min = “4098”
注意: “4098”需要与配置的虚拟机内存量一致。上例适用于具有 4 GB RAM 的虚拟机。
11. 已知问题
本章列出了一些已知问题和限制。这些列表的内容将随着时间推移而有所变化,在读者阅读时可能并不是最新的。
11.1 vSGA 已知问题
11.2 vDGA 已知问题
? ? ? ? ?
根据客户端自动调整分辨率不支持特殊分辨率大小
在窗口模式下运行的 View Client 不会自动调整到特殊的分辨率大小
在某些情况下,可能需要在 NVIDIA 控制面板配置中添加特定分辨率
需要超过 4 GB RAM 并启用直通的 64 位 Windows 7 虚拟机需要设置虚拟机 PCI I/O 孔 PCoIP 编码帧率计数器会报告固定不变的闲时 FPS
? 2012-2013 VMware, Inc. 保留所有权利。
第 20 页,共 20 页