跳转至

虚拟机图形渲染加速

简介

官方文档:

要启用 3D 图形呈现,您的池部署必须满足以下要求:

  • 虚拟机必须为 Windows 7 或更高版本。
  • 当启用 3D 呈现器设置允许用户选择协议(选择“是”)时,池可以使用 PCoIP、VMware Blast Extreme 或 RDP 作为默认显示协议。
  • 如果将默认显示协议设置为 RDP 并且不允许用户选择协议,则会禁用 3D 呈现设置

安装

在 vSphere 平台下安装 vGPU 驱动之前需要打开 ESXi 的 SSH 服务,方便来传输 vib 驱动安装包以及后面一些命令行的操作

把驱动 vib 传到 ESXi 的 /tmp 目录下,此处设备的型号是 NVIDIA Tesla M10

驱动确定版本,使用如下地址:https://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsga&details=1&releases=578&gpuDeviceModels=NVIDIA%20Tesla%20M10&page=1&display_interval=10&sortColumn=Partner&sortOrder=Asc

查看 7U3 最高支持版本为:NVD-VMware_ESXi_7.0.2_Driver version 535.54.06

https://docs.nvidia.com/grid/get-grid-version.html 确定其他软件版本

Linux NVIDIA Virtual GPU Manager Version Windows NVIDIA Virtual GPU Manager Version NVIDIA Virtual GPU Software Version
535.161.05 538.33 16.4 or 16.51
535.154.02 538.15 16.3
535.129.03 537.70 16.2
535.104.06 537.13 16.1
535.54.06 536.22 16.0

vGPU 试用 License 申请,申请地址:https://enterpriseproductregistration.nvidia.com/?LicType=EVAL&ProductFamily=vGPU

下载驱动地址:

后使用esxcli命令进行安装,注意ESXi主机需要处于维护模式,可以在网页图形界面上修改(推荐),也可以用命令行:

esxcli system maintenanceMode set --enable true

安装插件

#> esxcli software vib install –d <path>/<bundle_file>

主机进入维护模式以后开始安装驱动

对于 vGPU 16.x:

esxcli software vib install -d /tmp/NVD-VGPU*.zip
esxcli software vib install -d /tmp/nvd-gpu-mgmt-daemon*.zip

# esxcli software component apply -d /tmp/NVD-VGPU*.zip
# esxcli software component apply -d /tmp/nvd-gpu-mgmt-daemon*.zip

component apply 命令同样适用于升级,命令与安装相同,区别是升级驱动之前需要停止 nvdGpuMgmtDaemon 服务:

/etc/init.d/nvdGpuMgmtDaemon stop
esxcli software component apply -d /tmp/NVD-VGPU*.zip
esxcli software component apply -d /tmp/nvd-gpu-mgmt-daemon*.zip

等待几分钟,安装成功以后会有提示信息,可能在安装信息中提示不需要重启,但是强烈建议重启一下主机来验证驱动是否正常,有碰到过重启以后驱动报错的情况

重启完主机以后使用 nvidia-smi 命令来验证驱动是否正常,正常情况下能看到类似如下信息:

特别注意 2 点:1、ECC 模式是否显示 off 2、默认情况下 vSphere 会使用 vsga 模式,而不是 vGPU 模式,所以能看到最下面 xorg 条目

使用命令来关闭 ECC,注意,启用或者关闭 ECC 都需要重启主机。

nvidia-smi -e 0

机驱动全部配置完成以后就可以退出维护模式(同样可以通过图形界面操作):

esxcli system maintenanceMode set --enable false

以下命令可以查看主机是否正确加载了驱动程序:

vmkload_mod -l | grep nvidia

还要改一下主机图形设置,登陆 vCenter,定位到主机-配置-图形,编辑主机图形设置,可以看到默认是共享模式,也就是 vsga,我们需要切换到“直接共享“才能使用 vGPU

添加 vGPU 只能按照预设值的规则,参考:https://docs.nvidia.com/grid/16.0/grid-vgpu-user-guide/index.html#vgpu-types-tesla-m10

Horzion 使用 vGPu

找到添加 vGPU 的虚拟机,安装好对应驱动之后,右键 NVIDIA 控制面板,找到管理许可证,添加许可证服务器即可

或者将下载的 client 开头的 tok 文件复制到 C:\Program Files\NVIDIA Corporation\vGPULicensing\ClientConfigToken;用 C:\ProgramFiles\NVIDIA Corporation\NVSMI\nvidia-smi.exe -q 查询授权状态

错误解决

  • NVIDIA vGPU error: "VVTD is not supported on a virtual machine with vGPU device"

进入 vmfs 目录:/vmfs/volumes/volumexxx/vmxxx,编辑 vmx 文件

修改虚拟机如下三行:

vhv.enable
vvtd.enable
windows.vbs.enable # 不存在就不改

nvidia-error-vvtd-is-not-supported-09

  • 黑屏,VM 内存大于 32G 可能出现黑屏;到主机执行 NVIDIA-bug-report.sh

解决方法:大于 32G 内存的 VM 高级设置里添加以下参数:

pciPassthru0.cfg.enable_large_sys_mem=1
pciPassthru0.cfg.extra_fb_reservation = 128
pciPassthru.use64bitMMIO=TRUE
pciPassthru.64bitMMIOSizeGB=128