天天看点

GRID License组件工作原理介绍与故障排错实战

NVIDIA GRID 2.0以及后续的版本在部署的过程中都需要安装License组件,License组件主要控制vGPU虚拟机GRID驱动的加载、虚拟桌面的分辨率和帧率。接下来我们来看看GRID License组件是如何工作的?

GRID License组件工作原理介绍与故障排错实战

通过上图我们可以看到,GRID分为三个版本(虚拟工作站vWS、虚拟PC和虚拟应用vApps),当带有VGPU的虚拟机运行的时候会请求License服务器中的License授权,根据License服务器中的GRID License版本,加载不同的VGPU驱动(普通驱动和专业卡驱动)。我们可以看到虚拟PC和虚拟应用的License加载的都是普通的显示驱动。

整个License获取和释放的过程发生在如下两个阶段:

License获取阶段:

虚拟机在启动的时候通过访问License服务器的地址+端口7070发起License的请求,当正常获取License后加载GRID驱动。

License释放阶段:

当我们关闭虚拟机的时候,之前虚拟机获得的License会自动释放,还回到License服务器中。

这里需要明确的一点是当虚拟机处于关闭状态的时候是不占用任何的GRID License的。此外如果客户使用的是K1,K2的GPU是不需要License授权的。

一般来说,我们在虚拟机中通过NVIDIA控制面板配置License服务器地址,当然我们也可以通过修改Windows的注册表、或者Linux的配置文件进行配置。下图展示了在Windows平台我们通过NVIDIA控制面板如何配置License服务器地址。

GRID License组件工作原理介绍与故障排错实战
不过还有一种特殊的场景,就是我们把GPU通过透传的方式挂载给虚拟机,这个时候我们在授权License的时候有两种选择。我们可以在GPU透传模式下的NVIDIA控制面板中看到有两种模式:一种是GRID,一种是Tesla。
GRID License组件工作原理介绍与故障排错实战
当我们不对透传的 GPU进行GRID的授权,那么此GPU将运行在Tesla模式下,运行在Tesla模式下的虚拟机有如下限制:仅支持一个屏幕显示且最大分辨率为2560x1600。在选择了Tesla授权模式以后,我们对这个分辨率限制进行验证。
GRID License组件工作原理介绍与故障排错实战

在分辨率的设置里,我们可以看到最大分辨率仅支持2560x1600。

而如果我们采用GRID授权,分辨率最大可用到4K(4096x2160)。

GRID License组件工作原理介绍与故障排错实战

以下通过一个实际的故障排错来加深对GRID License组件的理解

首先,我们在NVIDIA控制面板配置License服务器地址,始终提示无法获取vGPU许可证。

GRID License组件工作原理介绍与故障排错实战

  1. 首先Telnet License服务器的IP+端口7070,查看虚拟机到License服务器的网络层面通讯是否正常。
    GRID License组件工作原理介绍与故障排错实战
  2. Telnet可以正常连接到License服务器地址+7070端口,接下来检查License服务是否正常运行,经过检查我们发现NVIDIA License服务运行正常。
    GRID License组件工作原理介绍与故障排错实战
  3. 然后我们登陆License服务器管理面板进行查看,发现License已经于一天前过期。
    GRID License组件工作原理介绍与故障排错实战
  4. 由于初步判断是License文件过期导致,我们进一步查看日志确认此问题。
    GRID License组件工作原理介绍与故障排错实战
  5. 我们打开License服务器的日志文件Flexnetls,很快我们就通过日志确认此问题是由于License过期导致。
    GRID License组件工作原理介绍与故障排错实战
  6. 接下来我们新申请一个测试License,导入到License服务器。由于每个License服务器的Mac地址只能申请一次测试License,所以我们需要先修改License服务器的Mac地址。默认的Mac地址为8a:2e:02:7c:99:88,我们修改为8a:2e:02:7c:99:80.
    GRID License组件工作原理介绍与故障排错实战
    GRID License组件工作原理介绍与故障排错实战
  7. 修改完Mac地址重启系统,并用新的Mac注册License服务器,上传新注册的License提示和当前的企业ID不匹配。
    GRID License组件工作原理介绍与故障排错实战
    GRID License组件工作原理介绍与故障排错实战
  8. 卸载当前License Server重新安装
    GRID License组件工作原理介绍与故障排错实战
    GRID License组件工作原理介绍与故障排错实战
  9. 重新安装License Server报告和之前一样的错误(提示和当前的企业ID不匹配,无法成功上传License文件),推测可能是之前的License残留信息导致(包括之前导入的已经过期的License文件)。于是决定对之前的License信息进行清空操作。

清空License服务器残留信息的方法:

  1. Close the browser that accesses the license server.
  2. Go into the Microsoft Control Panel, Administrative Tools and Services
  3. Locate the “FlexNet License Server – nvidia” service, right click on it and select Stop
  4. Delete the nvidia directory from:

    C:\Windows\ServiceProfiles\NetworkService\flexnetls\nvidia

  5. Locate the “FlexNet License Server – nvidia” service. right click on it and select Start
  1. 接下来我们为虚拟机配置License服务器地址,已经可以成功配置。
    GRID License组件工作原理介绍与故障排错实战
    GRID License组件工作原理介绍与故障排错实战
    在License管理面板里也可以看到此虚拟机已经被授权