客户端许可用户指南
以下产品在支持 NVIDIA vGPU 软件的 NVIDIA GPU 上作为许可产品提供
- NVIDIA® RTX Virtual Workstation (vWS)
- NVIDIA Virtual PC (vPC)
- NVIDIA Virtual Applications (vApps)
本指南描述了这些许可产品以及如何在受支持的硬件上启用和使用它们。
1.1. NVIDIA vGPU 软件许可产品
可用的 NVIDIA vGPU 软件许可产品支持不同类别的 NVIDIA vGPU 软件部署。
NVIDIA vGPU 软件许可产品 | 目标用户 | 支持的 NVIDIA vGPU 软件部署 |
---|---|---|
vApps | 使用 PC 级应用程序和基于服务器的桌面且使用 Citrix Virtual Apps and Desktops、VMware Horizon、RDSH 或其他应用程序流或基于会话的解决方案的用户 |
|
vPC | 需要出色的用户体验,使用 PC 应用程序(用于 Windows、Web 浏览器和高清视频)的商业虚拟桌面用户 |
|
vWS | 需要随时随地在任何设备上访问远程专业图形应用程序并获得完整性能的中端和高端工作站用户 |
|
- Microsoft DDA 和 VMware vDGA 在功能上等同于 GPU 直通。
- Microsoft RemoteFX vGPU 是一种图形虚拟化技术。
- Microsoft DDA 需要安装 Hyper-V 角色的 Windows Server 2016。
1.2. NVIDIA vGPU 软件许可的实施方式
根据 NVIDIA vGPU 软件部署的不同,许可实施可以通过软件实施,也可以仅通过最终用户许可协议 (EULA) 实施。
NVIDIA vGPU 软件部署 | 所需的 NVIDIA vGPU 软件许可 | 实施 |
---|---|---|
A 系列 NVIDIA vGPU | vApps | 软件 请参阅注释 (1)。 |
B 系列 NVIDIA vGPU | vPC 或 vWS | 软件 请参阅注释 (2)。 |
Q 系列 NVIDIA vGPU | vWS | 软件 请参阅注释 (3)。 |
用于工作站或专业 3D 图形的 GPU 直通 | vWS | 软件 |
用于 PC 级应用程序的 GPU 直通 | vApps | 仅 EULA |
用于工作站或专业 3D 图形的 Microsoft DDA | vWS | 软件 |
用于 PC 级应用程序的 Microsoft DDA | vApps | 仅 EULA |
用于工作站或专业 3D 图形的 VMware vDGA | vWS | 软件 |
用于 PC 级应用程序的 VMware vDGA | vApps | 仅 EULA |
用于工作站或专业 3D 图形的裸机 | vWS | 软件 |
用于 PC 级应用程序的裸机 | vApps | 仅 EULA |
Microsoft RemoteFX vGPU | vPC | 仅 EULA |
1.2.1. NVIDIA vGPU 软件许可的软件实施
当首次启动运行 NVIDIA vGPU 软件的虚拟机 (VM) 时,分配给 VM 的虚拟 GPU 或物理 GPU 以全功能运行。当通过软件实施许可时,如果 VM 未能获得许可证,虚拟 GPU 或物理 GPU 的性能会随着时间的推移而降低。
未许可的 vGPU 或物理 GPU 的性能降低程度取决于自 VM 启动以来以及 NVIDIA vGPU 软件图形驱动程序加载以来经过的时间。
经过时间 | 性能降低 |
---|---|
20 分钟 |
|
24 小时 |
|
VM 通过网络从 NVIDIA 许可证系统的服务实例获取许可证。当 VM 获取许可证时,许可证会被“检出”或“借用”。当不再需要许可证时,VM 会将许可证释放回服务实例。您可以通过设置 Windows 注册表项值或 Linux 配置文件参数来控制许可证的检出和释放回服务实例的时间。
- 默认情况下,许可证在 VM 启动时检出,并在 VM 关闭时释放。
- 如果设置了 Windows 注册表项值或 Linux 配置文件参数,则许可证在用户登录 VM 时检出,并在用户注销 VM 时释放。
有关控制此行为的 Windows 注册表项值的信息,请参阅 NVIDIA vGPU 软件许可的 Windows 注册表设置。
有关设置和运行 NVIDIA 许可证系统的信息,请参阅 NVIDIA 许可证系统用户指南。
图 1 说明了 NVIDIA vGPU 软件许可如何通过软件实施。
图 1. NVIDIA vGPU 软件许可的软件实施

NVIDIA vGPU 部署的其他注意事项
对于 NVIDIA vGPU 部署,NVIDIA vGPU 软件会根据 vGPU 类型自动选择正确的许可证类型。
在您许可 NVIDIA vGPU 后,设置为使用 NVIDIA vGPU 的 VM 能够运行全系列的 DirectX 和 OpenGL 图形应用程序。
许可设置在重启后仍然存在,只有在许可证服务器地址更改或 VM 切换为运行 GPU 直通时才需要修改。
物理 GPU 部署的其他注意事项
所需的许可证类型取决于物理 GPU 的部署方式。
- 在 Windows 上的 GPU 直通模式下,或在 Windows 或 Linux 上的裸机部署中,物理 GPU 需要 vWS 许可证。
- 在 Linux 上的 GPU 直通模式下,物理 GPU 需要 vWS 许可证或 vCS 许可证。
您还可以使用 vApps 许可证以降低的功能运行直通模式或裸机部署中的物理 GPU。vPC 在直通模式或裸机部署中运行的 GPU 上不可用。
1.2.2. NVIDIA vGPU 软件许可的仅 EULA 实施
当仅通过 EULA 实施许可时,不会从许可证服务器检出任何许可证。您必须遵守 EULA 的条款,确保已购买 NVIDIA vGPU 软件部署所需的所有许可证。
nvidia-smi -q 命令指示产品已获得许可,即使未从许可证服务器检出许可证也是如此。
如果所有 NVIDIA vGPU 软件部署的许可仅通过 EULA 实施,则您无需设置和运行 NVIDIA vGPU 软件许可证服务器。
1.3. 物理 GPU 的显示分辨率
物理 GPU 支持的显示分辨率取决于 NVIDIA GPU 架构和应用于 GPU 的 NVIDIA vGPU 软件许可证。
vWS 物理 GPU 分辨率
使用 vWS 许可证许可的 GPU 支持基于可用像素数的最大组合分辨率,可用像素数由 NVIDIA GPU 架构决定。您可以选择使用少量高分辨率显示器或大量低分辨率显示器与这些 GPU 配合使用。
下表列出了在所有显示器都具有相同分辨率的配置中,每个 GPU 在每个支持的显示分辨率下的最大显示器数量。
NVIDIA GPU 架构 | 可用像素 | 显示分辨率 | 每个 GPU 的显示器数量 |
---|---|---|---|
Pascal 及更高版本 | 66355200 | 7680×4320 | 2 |
5120×2880 或更低 | 4 | ||
Maxwell | 35389440 | 5120×2880 | 2 |
4096×2160 或更低 | 4 |
下表提供了混合显示分辨率配置的示例。
NVIDIA GPU 架构 | 可用像素 | 可用像素基础 | 最大显示器数量 | 混合显示配置示例 |
---|---|---|---|---|
Pascal 及更高版本 | 66355200 | 2 个 7680×4320 显示器 | 4 | 1 个 7680×4320 显示器加 2 个 5120×2880 显示器 |
1 个 7680×4320 显示器加 3 个 4096×2160 显示器 | ||||
Maxwell | 35389440 | 4 个 4096×2160 显示器 | 4 | 1 个 5120×2880 显示器加 2 个 4096×2160 显示器 |
即使显示器的组合分辨率低于 GPU 的可用像素数,您也不能使用超过四个显示器。例如,即使显示器的组合分辨率 (44236800) 低于 GPU 的可用像素数 (66355200),您也不能将五个 4096×2160 显示器与基于 NVIDIA Pascal 架构的 GPU 一起使用。
vApps 或 vCS 物理 GPU 分辨率
使用 vApps 或 vCS 许可证许可的 GPU 支持具有固定最大分辨率的单个显示器。最大分辨率取决于以下因素
- NVIDIA GPU 架构
- 应用于 GPU 的 NVIDIA vGPU 软件许可证
- 在分配了 GPU 的系统上运行的操作系统
许可证 | NVIDIA GPU 架构 | 操作系统 | 最大显示分辨率 | 每个 GPU 的显示器数量 |
---|---|---|---|---|
vApps | Pascal 或更高版本 | Linux | 2560×1600 | 1 |
Pascal 或更高版本 | Windows | 1280×1024 | 1 | |
Maxwell | Windows 和 Linux | 2560×1600 | 1 |
具有网络连接的客户端通过从 NVIDIA 许可证系统服务实例租用许可证来获取许可证。服务实例通过网络从 NVIDIA Licensing Portal 获取的浮动许可证池向客户端提供许可证。当许可客户端不再需要许可证时,许可证将返回到服务实例。
在配置许可客户端之前,请确保满足以下先决条件
- 客户端上已安装 NVIDIA vGPU 软件图形驱动程序。
- 您要部署在客户端上的客户端配置令牌已从 NVIDIA Licensing Portal 或 DLS 创建,如 NVIDIA 许可证系统用户指南中的生成客户端配置令牌 中所述。
- 您的防火墙或代理中的端口 443 和 80 必须打开,以允许服务实例及其许可客户端之间的 HTTPS 流量。对于 CLS 实例和 DLS 实例,这些端口都必须打开。注意
对于 DLS 1.1 之前的 DLS 版本,还需要打开端口 8081 和 8082,以允许 DLS 实例及其许可客户端之间的 HTTPS 流量。虽然不再需要这些端口,但它们仍然受支持以实现向后兼容性。
图形驱动程序创建默认位置,用于在客户端上存储客户端配置令牌。如果您想将此位置用于客户端配置令牌,并且在 Windows 上,使用 NVIDIA vGPU 配置客户端,则可以使用默认设置配置客户端。否则,您必须使用自定义设置配置客户端,如 使用自定义设置配置许可客户端 中所述。
配置许可客户端的过程对于 CLS 和 DLS 实例是相同的,但取决于客户端上运行的操作系统。
2.1. 在 Windows 上使用默认设置配置许可客户端
从客户端执行此任务。
- 将客户端配置令牌复制到 %SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken 文件夹。
- 重启 NvDisplayContainer 服务。
客户端上的 NVIDIA 服务现在应自动从 CLS 或 DLS 实例获取许可证。
2.2. 在 Linux 上使用默认设置配置许可客户端
从客户端执行此任务。
- 以 root 用户身份,在纯文本编辑器(如 vi)中打开文件 /etc/nvidia/gridd.conf。
$ sudo vi /etc/nvidia/gridd.conf
注意您可以通过复制提供的模板文件 /etc/nvidia/gridd.conf.template 来创建 /etc/nvidia/gridd.conf 文件。
- 将
FeatureType
配置参数添加到文件 /etc/nvidia/gridd.conf 的新行中,如FeatureType="<i>value</i>"
。value 取决于分配给您要配置的许可客户端的 GPU 类型。
GPU 类型 值 NVIDIA vGPU 1. NVIDIA vGPU 软件会根据 vGPU 类型自动选择正确的许可证类型。 物理 GPU 直通模式或裸机部署中 GPU 的功能类型 - 0:NVIDIA Virtual Applications
- 2:NVIDIA RTX Virtual Workstation
注意您也可以从 NVIDIA X Server 设置执行此步骤。在使用 NVIDIA X Server 设置执行此步骤之前,请确保已启用此选项,如 在 NVIDIA X Server 设置中启用许可证管理 中所述。
此示例显示了如何为 NVIDIA RTX Virtual Workstation 配置许可的 Linux 客户端。
# /etc/nvidia/gridd.conf.template - Configuration file for NVIDIA Grid Daemon … # Description: Set Feature to be enabled # Data type: integer # Possible values: # 0 => for unlicensed state # 1 => for NVIDIA vGPU # 2 => for NVIDIA RTX Virtual Workstation # 4 => for NVIDIA Virtual Compute Server FeatureType=2 ...
- 将客户端配置令牌复制到 /etc/nvidia/ClientConfigToken 目录。
- 确保客户端配置令牌的文件访问模式允许所有者读取、写入和执行令牌,并允许组和其他人仅读取令牌。
- 确定客户端配置令牌的当前文件访问模式。
# ls -l client-configuration-token-directory
- 如有必要,将客户端配置令牌的模式更改为 744。
# chmod 744 client-configuration-token-directory/client_configuration_token_*.tok
- client-configuration-token-directory
- 您在上一步中将客户端配置令牌复制到的目录。
- 确定客户端配置令牌的当前文件访问模式。
- 保存您对 /etc/nvidia/gridd.conf 文件的更改并关闭文件。
- 重启 nvidia-gridd 服务。
客户端上的 NVIDIA 服务现在应自动从 CLS 或 DLS 实例获取许可证。
本章讨论 NVIDIA vGPU 软件许可的高级主题和设置。
3.1. 使用自定义设置配置许可客户端
NVIDIA 许可证系统为许可客户端的以下配置属性提供自定义设置
- 物理 GPU 的功能类型
- 存储客户端配置令牌的目录
- 许可客户端和 CLS 实例之间代理服务器的详细信息
如果您想使用默认目录来存储客户端配置令牌,并且在 Windows 上,使用 NVIDIA vGPU 配置客户端,请按照 配置 NVIDIA 许可证系统的许可客户端 中的简化配置说明进行操作。
3.1.1. 在 Windows 上使用自定义设置配置许可客户端
从客户端执行此任务。
- 仅物理 GPU:将
FeatureType
DWord (REG_DWORD
) 注册表值添加到 Windows 注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
。注意- 如果您正在许可 NVIDIA vGPU,则
FeatureType
DWord (REG_DWORD
) 注册表值是不需要的。NVIDIA vGPU 软件会根据 vGPU 类型自动选择正确的许可证类型。 - 如果您正在升级现有驱动程序,则此值已设置。
- 您也可以从 NVIDIA 控制面板执行此步骤。
- 0:NVIDIA Virtual Applications
- 2:NVIDIA RTX Virtual Workstation
- 如果您正在许可 NVIDIA vGPU,则
- 可选:如果您想将客户端配置令牌存储在自定义位置,请将
ClientConfigTokenPath
字符串 (REG_SZ
) 注册表值添加到 Windows 注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
。将该值设置为您要为客户端存储客户端配置令牌的文件夹的完整路径。您可以对文件夹路径使用语法 \\完全限定域名\共享名称。默认情况下,客户端在 %SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken 文件夹中搜索客户端配置令牌。
通过指定客户端上映射的共享网络驱动器,您可以简化在多个客户端上部署相同客户端配置令牌的过程。您可以只保留共享网络驱动器中的一个副本,而不是将客户端配置令牌单独复制到每个客户端。
- 如果您要将客户端配置令牌存储在自定义位置,请创建您要存储客户端配置令牌的文件夹。
如果文件夹是共享网络驱动器,请确保满足以下条件
- 该文件夹在客户端上本地映射到
ClientConfigTokenPath
注册表值中指定的路径。 COMPUTER
对象具有访问共享网络驱动器上文件夹的权限。COMPUTER
对象需要这些权限,因为许可证服务在任何用户登录之前运行。
如果您要将客户端配置令牌存储在默认位置,请忽略此步骤。存储客户端配置令牌的默认文件夹在图形驱动程序安装后自动创建。
- 该文件夹在客户端上本地映射到
- 将客户端配置令牌复制到您要存储客户端配置令牌的文件夹中。确保此文件夹仅包含您要部署在客户端上的客户端配置令牌,而不包含其他文件或文件夹。如果文件夹包含多个客户端配置令牌,则客户端使用文件夹中最新的客户端配置令牌。
- 如果您想将客户端配置令牌存储在默认位置,请将客户端配置令牌复制到 %SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken 文件夹。
- 如果您想将令牌存储在自定义位置,请将令牌复制到您在上一步中创建的文件夹。
- 可选:如果您希望许可客户端在用户登录客户端时检出许可证,请将
EnableLicenseOnLogin
字符串 (REG_SZ
) 注册表值添加到 Windows 注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
并将此注册表值设置为 1。默认情况下,许可客户端在客户端启动时检出许可证。 - 如果在您的许可客户端和 CLS 实例之间配置了非透明代理服务器,请提供许可客户端所需的有关代理服务器的信息。注意
NVIDIA vGPU 软件版本之前不支持经过身份验证的非透明代理服务器。
通过将以下注册表值添加到 Windows 注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
来提供此信息。- 对于所有非透明代理服务器,请在以下 Windows 注册表值中提供代理服务器的地址和端口号。
-
ProxyServerAddress
字符串(REG_SZ)
- 代理服务器的地址。地址可以是完全限定域名,例如
iproxy1.example.com
,也可以是 IP 地址,例如10.31.20.45
。 -
ProxyServerPort
字符串(REG_SZ)
- 代理服务器的端口号。
-
- 如有必要,请提供将登录到代理服务器的用户的凭据。对于使用以下身份验证方法的代理服务器,需要此信息
- 基本身份验证
- Microsoft Windows 质询/响应 (Microsoft NTLM) 身份验证,适用于非 Active Directory 域成员的客户端
-
ProxyUserName
字符串(REG_SZ)
- 将登录到代理服务器的用户的用户名。
-
ProxyCredentialsFilePath
字符串(REG_SZ)
- 包含将登录到代理服务器的用户的加密凭据的文件的完整路径,例如,C:\Program Files\NVIDIA Corporation\vGPU Licensing\ProxySettings\proxy-credentials.dat。
此文件按 生成加密凭据文件 中所述生成。
- 对于所有非透明代理服务器,请在以下 Windows 注册表值中提供代理服务器的地址和端口号。
- 重启 NvDisplayContainer 服务。
客户端上的 NVIDIA 服务现在应自动从 CLS 或 DLS 实例获取许可证。
3.1.2. 在 Linux 上使用自定义设置配置许可客户端
从客户端执行此任务。
- 以 root 用户身份,在纯文本编辑器(如 vi)中打开文件 /etc/nvidia/gridd.conf。
$ sudo vi /etc/nvidia/gridd.conf
注意您可以通过复制提供的模板文件 /etc/nvidia/gridd.conf.template 来创建 /etc/nvidia/gridd.conf 文件。
- 将
FeatureType
配置参数添加到文件 /etc/nvidia/gridd.conf 的新行中,如FeatureType="<i>value</i>"
。value 取决于分配给您要配置的许可客户端的 GPU 类型。
GPU 类型 值 NVIDIA vGPU 1. NVIDIA vGPU 软件会根据 vGPU 类型自动选择正确的许可证类型。 物理 GPU 直通模式或裸机部署中 GPU 的功能类型 - 0:NVIDIA Virtual Applications
- 2:NVIDIA RTX Virtual Workstation
注意您也可以从 NVIDIA X Server 设置执行此步骤。在使用 NVIDIA X Server 设置执行此步骤之前,请确保已启用此选项,如 在 NVIDIA X Server 设置中启用许可证管理 中所述。
此示例显示了如何为 NVIDIA RTX Virtual Workstation 配置许可的 Linux 客户端。
# /etc/nvidia/gridd.conf.template - Configuration file for NVIDIA Grid Daemon … # Description: Set Feature to be enabled # Data type: integer # Possible values: # 0 => for unlicensed state # 1 => for NVIDIA vGPU # 2 => for NVIDIA RTX Virtual Workstation # 4 => for NVIDIA Virtual Compute Server FeatureType=2 ...
- 可选:如果您想将客户端配置令牌存储在自定义位置,请将
ClientConfigTokenPath
配置参数添加到文件 /etc/nvidia/gridd.conf 的新行中,如ClientConfigTokenPath="<i>path</i>"
- path
- 您要为客户端存储客户端配置令牌的目录的完整路径。默认情况下,客户端在 /etc/nvidia/ClientConfigToken/ 目录中搜索客户端配置令牌。
通过指定在客户端上本地挂载的共享网络目录,您可以简化在多个客户端上部署相同客户端配置令牌的过程。您可以只保留共享网络目录中的一个副本,而不是将客户端配置令牌单独复制到每个客户端。
此示例显示了如何配置许可的 Linux 客户端以在 /mnt/nvidia/ClientConfigToken/ 目录中搜索客户端配置令牌。此目录是客户端上共享网络目录的挂载点。
# /etc/nvidia/gridd.conf.template - Configuration file for NVIDIA Grid Daemon … ClientConfigTokenPath=/mnt/nvidia/ClientConfigToken/ ...
- 如果您要将客户端配置令牌存储在自定义位置,请创建您要存储客户端配置令牌的目录。
如果目录是共享网络目录,请确保将其本地挂载到客户端上,路径在
ClientConfigTokenPath
配置参数中指定。如果您要将客户端配置令牌存储在默认位置,请忽略此步骤。存储客户端配置令牌的默认目录在图形驱动程序安装后自动创建。
- 将客户端配置令牌复制到您要存储客户端配置令牌的目录中。确保此目录仅包含您要部署在客户端上的客户端配置令牌,而不包含其他文件或目录。如果目录包含多个客户端配置令牌,则客户端使用目录中最新的客户端配置令牌。
- 如果您想将客户端配置令牌存储在默认位置,请将客户端配置令牌复制到 /etc/nvidia/ClientConfigToken 目录。
- 如果您想将令牌存储在自定义位置,请将令牌复制到您在上一步中创建的目录。
- 确保客户端配置令牌的文件访问模式允许所有者读取、写入和执行令牌,并允许组和其他人仅读取令牌。
- 确定客户端配置令牌的当前文件访问模式。
# ls -l client-configuration-token-directory
- 如有必要,将客户端配置令牌的模式更改为 744。
# chmod 744 client-configuration-token-directory/client_configuration_token_*.tok
- client-configuration-token-directory
- 您在上一步中将客户端配置令牌复制到的目录。
- 确定客户端配置令牌的当前文件访问模式。
- 可选:如果您希望许可客户端在用户登录客户端时检出许可证,请将
EnableLicenseOnLogin
配置参数添加到文件 /etc/nvidia/gridd.conf 的新行中,如EnableLicenseOnLogin=TRUE
。默认情况下,许可客户端在客户端启动时检出许可证。 - 如果在您的许可客户端和 CLS 实例之间配置了非透明代理服务器,请提供许可客户端所需的有关代理服务器的信息。注意
NVIDIA vGPU 软件版本之前不支持经过身份验证的非透明代理服务器。
- 对于所有非透明代理服务器,请提供代理服务器的地址和端口号。
通过将以下配置参数添加到文件 /etc/nvidia/gridd.conf 的单独行中来提供此信息。
ProxyServerAddress=address ProxyServerPort=port
- ProxyServerAddress="address"
- 代理服务器的地址。地址可以是完全限定域名,例如
iproxy1.example.com
,也可以是 IP 地址,例如10.31.20.45
。 - ProxyServerPort="port"
- 代理服务器的端口号。
此示例将代理服务器的地址设置为
10.31.20.45
,端口号设置为3128
。# /etc/nvidia/gridd.conf.template - Configuration file for NVIDIA Grid Daemon … ProxyServerAddress=10.31.20.45 ProxyServerPort=3128 ...
- 如有必要,请提供将登录到代理服务器的用户的凭据。
对于使用基本身份验证的代理服务器,需要此信息。
通过将以下配置参数添加到文件 /etc/nvidia/gridd.conf 的单独行中来提供此信息。
ProxyUserName=domain\username ProxyCredentialsFilePath=path
- ProxyServerCredentialsDomain="domain"
- 用户所属的域,例如
example.com
。 - ProxyServerCredentialsUserName="username"
- 将登录到代理服务器的用户的用户名,例如
clsuser
。 - path
- ProxyServerCredentialsFilePath="path-to-proxy-credentials-file"
此文件按 生成加密凭据文件 中所述生成。
包含将登录到代理服务器的用户的加密凭据的文件的完整路径,例如 /etc/nvidia/proxy-credentials.dat。
# /etc/nvidia/gridd.conf.template - Configuration file for NVIDIA Grid Daemon … ProxyUserName=example.com\clsuser ProxyCredentialsFilePath=/etc/nvidia/proxy-credentials.dat ...
- 对于所有非透明代理服务器,请提供代理服务器的地址和端口号。
- 保存您对 /etc/nvidia/gridd.conf 文件的更改并关闭文件。
- 重启 nvidia-gridd 服务。
3.1.3. 在 NVIDIA X Server 设置中启用许可证管理
默认情况下,管理许可证选项在 NVIDIA X Server 设置中不可用。在使用 NVIDIA X Server 设置许可 NVIDIA vGPU 软件之前,您必须启用此选项。
此任务需要 sudo 权限。
- 如果 NVIDIA X Server 设置正在运行,请将其关闭。
- 如果 /etc/nvidia/gridd.conf 文件尚不存在,请通过复制提供的模板文件 /etc/nvidia/gridd.conf.template 来创建它。
- 以 root 用户身份,编辑 /etc/nvidia/gridd.conf 文件以将
EnableUI
选项设置为TRUE
。 - 启动 nvidia-gridd 服务。
# sudo service nvidia-gridd start
当 NVIDIA X Server 设置重新启动时,管理许可证选项现在可用。
3.2. 在许可客户端和 CLS 实例之间配置代理服务器
3.2.1. CLS 实例的代理服务器要求和防火墙规则
为了通过代理服务器启用许可客户端和 CLS 实例之间的通信,代理服务器必须满足某些要求。为了通过防火墙启用通信,必须定义防火墙规则,以允许特定 URL 上通过特定端口的流量。
配置代理服务器和定义防火墙规则的过程与配置 CLS 实例的过程是分开的。使用您正在使用的代理服务器和防火墙的标准接口来执行这些过程。
CLS 实例的代理服务器要求
NVIDIA 许可证系统支持透明代理服务器和非透明代理服务器。
- 透明代理服务器向服务器标识自身,并且不修改客户端请求和响应。
- 非透明代理服务器不显示客户端的 IP 地址,并修改客户端请求和响应。
任何许可客户端和 CLS 实例之间的任何代理服务器都必须允许对 URL api.cls.licensing.nvidia.com
的程序化调用。
非透明代理服务器支持
NVIDIA 许可系统支持经过身份验证和未经身份验证的非透明代理服务器。支持以下经过身份验证的代理服务器
- Squid
以下身份验证方法受支持用于经过身份验证的代理服务器
- 基本
- Microsoft Windows 质询/响应 (Microsoft NTLM) (仅限 Windows 客户端)
- Kerberos (仅适用于作为 Active Directory 域成员的客户端)
CLS 实例的防火墙规则
要启用许可客户端和 CLS 实例之间通过防火墙的通信,必须定义允许通过下表指定的端口在 URL 上传输流量的防火墙规则。
URL | 端口 | 流量 |
---|---|---|
api.cls.licensing.nvidia.com |
443 |
|
api.licensing.nvidia.com |
80 | 来自未正常关闭的 Windows 许可客户端的许可证归还 |
3.2.2. 生成加密凭据文件
某些身份验证方法要求许可客户端在向代理服务器进行身份验证时提供用户凭据。为了使客户端能够安全地提供这些凭据而无需用户输入,您必须生成一个文件,其中包含客户端可以读取的加密形式的这些凭据。
以下身份验证方法需要加密凭据文件
- 基本身份验证
- 对于非 Active Directory 域成员的客户端,Microsoft Windows 质询/响应 (NTLM) 身份验证
如何生成加密凭据文件取决于客户端正在运行的操作系统。有关详细说明,请参阅以下主题
3.2.2.1. 在 Windows 上生成加密凭据文件
在客户端上以管理员用户身份在 Windows PowerShell 窗口中执行此任务。
- 更改到 C:\Program Files\NVIDIA Corporation\vGPU Licensing\ProxySettings 文件夹。
PS C:\> cd "C:\Program Files\NVIDIA Corporation\vGPU Licensing\ProxySettings"
- 运行 grid-proxy-credentials Windows PowerShell 脚本。
PS C:\> .\grid-proxy-credentials.ps1
- 在打开的“选择输出文件路径”窗口中,导航到要生成凭据文件的目录,输入文件名,然后单击保存。
- 当 Windows PowerShell 窗口中提示时,指定当许可客户端请求许可证时将登录到代理服务器的用户的密码。
配置将使用此文件的许可客户端时,提供此文件的路径,如使用默认设置在 Windows 上配置许可客户端中所述。
3.2.2.2. 在 Linux 上生成加密凭据文件
在客户端上的 Linux 命令 shell 中执行此任务。
- 运行 grid-proxy-credentials.sh 命令。
# /usr/lib/nvidia/grid-proxy-credentials.sh -o output-file-path
- output-file-path
- 您正在生成的凭据文件的完整路径。确保路径中的目录存在。
提示要获取此命令的帮助信息,请键入 /usr/lib/nvidia/grid-proxy-credentials.sh --help。
此示例创建凭据文件 /etc/nvidia/proxy-credentials.dat。
# /usr/lib/nvidia/grid-proxy-credentials.sh -o /etc/nvidia/proxy-credentials.dat
- 当提示时,指定当许可客户端请求许可证时将登录到代理服务器的用户的密码。
配置将使用此文件的许可客户端时,提供此文件的路径,如使用默认设置在 Linux 上配置许可客户端中所述。
3.3. 为许可证检出设置客户端主机标识符
如果虚拟机突然关闭,然后在更改其网络配置后重新启动,则同一虚拟机可能会检出两个许可证。您可以通过为许可证检出设置客户端主机标识符来避免这种情况。
默认情况下,许可证服务器选择找到的第一个有效 MAC 地址来标识用于许可证检出的虚拟机。如果已检出许可证的虚拟机突然关闭,则可能不会将许可证释放回许可证服务器。如果在关闭后更改了虚拟机的网络配置并重新启动了虚拟机,则许可证服务器可能会使用不同的 MAC 地址来标识虚拟机,这将导致同一虚拟机检出两个许可证。设置客户端主机标识符可以避免这种情况,因为许可证服务器始终使用您设置的标识符来标识虚拟机。
- 将
LicenseHostId
设置为虚拟机上网络接口控制器 (NIC) 的 MAC 地址。- 在 Windows 上,添加以下 Windows 注册表项设置
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing]"LicenseHostId"=vm-nic-mac-address
- 在 Linux 上,将以下条目添加到 /etc/nvidia/gridd.conf
LicenseHostId==vm-nic-mac-address
- vm-nic-mac-address
- 虚拟机上网络接口控制器 (NIC) 的 MAC 地址,许可证服务器将使用该地址来标识用于许可证检出的虚拟机。指定地址中仅包含数字和字母,不包含任何空格或标点符号,例如,00005E0053FF。
- 在 Windows 上,添加以下 Windows 注册表项设置
- 应用对虚拟机所做的更改设置。
- 如果分配给虚拟机的 vGPU 或物理 GPU 已获得许可,请重新启动虚拟机。
- 否则,请按照配置 NVIDIA 许可系统的许可客户端中所述,为分配给虚拟机的 vGPU 或物理 GPU 授予许可。
3.4. 启动或用户登录后获得的许可证
在正常操作下,NVIDIA vGPU 软件许可证在平台启动期间或用户登录时、应用程序启动之前由平台获取。如果许可证不可用,系统将定期重试其对许可证服务器的许可证请求。在此期间,vGPU 或 GPU 最初以全功能运行,但如果系统未能获得许可证,其性能会随着时间的推移而降低。
未许可的 vGPU 或 GPU 的性能降低情况如NVIDIA vGPU 软件许可的软件强制执行中所述。此外,当物理 GPU 的性能降低时启动的应用程序无法使用物理 GPU 的显示分辨率处理中描述的 vWS 功能。
在 Windows 上,许可证不可用通过弹出窗口或 NVIDIA 控制面板的许可选项卡上的许可证状态指示。在 Linux 上,许可证不可用通过日志消息指示。
如果 vGPU 或 GPU 的性能已降低,则在获得许可证后,vGPU 或 GPU 的全功能将恢复。但是,在性能降低时启动的应用程序软件可能需要重新启动才能识别和使用许可的功能。
3.5. 在与许可证服务器间歇性连接的情况下运行
要检出许可证,vWS、vPC 和 vApps 客户端在启动时或用户登录客户端时需要连接到许可证服务器。
在获得许可证后,客户端可以在不连接到许可证服务器的情况下运行长达 1 天,之后客户端将收到许可证到期警告。
3.6. NVIDIA vGPU 软件许可的 Windows 注册表设置
NVIDIA vGPU 软件许可设置通过 Windows 注册表进行控制。
许可设置的注册表键值
许可设置存储在此注册表项中
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
名称 | 类型 | 描述 |
---|---|---|
FeatureType |
DWord ( |
直通模式或裸机部署中 GPU 的功能类型 0:vApps 2:vWS 所有其他值保留。 在配置了 NVIDIA vGPU 的虚拟机中,请勿更改此注册表项的值。 |
LicenseInterval |
DWord ( |
一个介于 10-10080 之间的整数,指定许可证在检出后可以借用的时间段(以分钟为单位) 在此时间段过后,客户端必须从服务器获取新许可证。 默认值为 1440 分钟,相当于 1 天的时间段。 |
EnableLicenseOnLogin |
DWord ( |
控制许可客户端是在客户端启动时还是在用户登录到客户端时检出许可证。 如果此注册表项不存在,则许可客户端在客户端启动时检出许可证。 当存在时 0:许可客户端在客户端启动时检出许可证。 1:许可客户端在用户登录到客户端时检出许可证。 (可选:默认为 0) |
DisableExpirationPopups |
DWord (REG_DWORD ) |
禁用或启用 NVIDIA vGPU 软件许可证到期的弹出通知。 0:启用许可证到期弹出通知 1:禁用许可证到期弹出通知 (可选:默认为 0) |
DisableSpecificPopups |
DWord (REG_DWORD ) |
如果此注册表项不存在,则为 NVIDIA vGPU 软件许可证状态更改为以下状态启用弹出通知
当存在时 0:不禁用任何许可证状态更改的弹出通知 1:禁用以下许可证状态更改的弹出通知
(可选:默认为 0) |
EnableLogging |
DWord (REG_DWORD ) |
如果此注册表项不存在,则会记录重要的许可事件。当存在时 0:禁用重要许可事件的日志记录 1:启用重要许可事件的日志记录 (可选:默认为 1) |
LicenseHostId |
字符串 ( |
如果此注册表项不存在,则许可证服务器选择找到的第一个有效 MAC 地址来标识用于许可证检出的虚拟机。 当存在时,此注册表项必须是虚拟机上网络接口控制器 (NIC) 的 MAC 地址,许可证服务器将使用该地址来标识用于许可证检出的虚拟机。指定地址中仅包含数字和字母,不包含任何空格或标点符号,例如,00005E0053FF。 如果虚拟机突然关闭,然后在更改其网络配置后重新启动,则设置此注册表项可以防止单个虚拟机检出两个许可证。 |
ClientConfigTokenPath |
字符串 (REG_SZ ) |
您要存储客户端配置令牌的客户端文件夹的完整路径。 仅当您要将客户端配置令牌存储在自定义位置时,才设置此注册表项。 |
ProxyServerAddress |
字符串 (REG_SZ) |
代理服务器地址。 仅当在许可客户端和 CLS 实例之间配置了非透明代理服务器时,才设置此注册表项。 |
ProxyServerPort |
字符串 (REG_SZ) |
代理服务器端口号。 仅当在许可客户端和 CLS 实例之间配置了非透明代理服务器时,才设置此注册表项。 |
用于管理 NVIDIA 控制面板中许可控件的注册表键值
NVIDIA 控制面板中的许可控件通过此 Windows 注册表项中的 NvCplDisableManageLicensePage
DWord (REG_DWORD
) 注册表值进行控制
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\NVControlPanel2\RegisteredServers\Overrides\{DFA226E7-D28D-407D-95ED-5A79D9745BB5}
如果此注册表键值不存在,则在 NVIDIA 控制面板中为支持许可的 GPU 显示许可控件。如果此注册表键值存在
- 0:在 NVIDIA 控制面板中显示许可控件
- 1:在 NVIDIA 控制面板中隐藏许可控件
- 所有其他值:保留
4.1. 已知问题
在进行故障排除或提交错误报告之前,请查看每个驱动程序版本随附的发行说明,以获取有关当前版本的已知问题以及可能的解决方法的信息。
4.2. 验证许可客户端的 NVIDIA vGPU 软件许可证状态
使用 NVIDIA vGPU 软件许可证配置客户端后,通过显示许可的产品名称和状态来验证许可证状态。
要验证许可客户端的许可证状态,请从许可客户端(而非虚拟机监控程序主机)运行带有 –q 或 --query 选项的 nvidia-smi。如果产品已获得许可,则许可证状态中会显示到期日期。
nvidia-smi -q
==============NVSMI LOG==============
Timestamp : Wed Nov 23 10:52:59 2022
Driver Version : 525.60.06
CUDA Version : 12.0
Attached GPUs : 2
GPU 00000000:02:03.0
Product Name : NVIDIA A2-8Q
Product Brand : NVIDIA RTX Virtual Workstation
Product Architecture : Ampere
Display Mode : Enabled
Display Active : Disabled
Persistence Mode : Enabled
MIG Mode
Current : Disabled
Pending : Disabled
Accounting Mode : Disabled
Accounting Mode Buffer Size : 4000
Driver Model
Current : N/A
Pending : N/A
Serial Number : N/A
GPU UUID : GPU-ba5b1e9b-1dd3-11b2-be4f-98ef552f4216
Minor Number : 0
VBIOS Version : 00.00.00.00.00
MultiGPU Board : No
Board ID : 0x203
Board Part Number : N/A
GPU Part Number : 25B6-890-A1
Module ID : N/A
Inforom Version
Image Version : N/A
OEM Object : N/A
ECC Object : N/A
Power Management Object : N/A
GPU Operation Mode
Current : N/A
Pending : N/A
GSP Firmware Version : N/A
GPU Virtualization Mode
Virtualization Mode : VGPU
Host VGPU Mode : N/A
vGPU Software Licensed Product Product Name : NVIDIA RTX Virtual Workstation License Status : Licensed (Expiry: 2022-11-23 10:41:16 GMT)
…
…
4.3. 许可事件日志
重要的许可事件(例如,获取许可证、归还许可证、许可证过期或未能获取许可证)将被记录下来,以帮助排除问题。错误事件将与错误代码一起记录,以帮助您确定错误的根本原因。许可证获取事件将与许可的产品的名称和版本一起记录,例如,GRID-Virtual-WS,2.0
。
Windows 许可事件日志
在 Windows 上,许可事件记录在纯文本文件 %SystemDrive%\Users\Public\Documents\NvidiaLogging\Log.NVDisplay.Container.exe.log 中。
当日志文件大小达到 16 MB 时,将轮换日志文件。将创建一个新的日志文件,并将旧的日志文件重命名为 Log.NVDisplay.Container.exe.log1
。每次轮换日志文件时,每个现有旧日志文件的文件名中的数字都会增加 1。当日志文件数量超过 16 个时,将删除最旧的日志文件。
默认情况下启用日志记录。要禁用日志记录,请在路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
下创建值为零的 Windows 注册表项 EnableLogging (DWORD)
。
Linux 许可事件日志
在 Linux 上,默认情况下启用日志记录。许可事件记录在 /var/log 目录中的标准活动日志中。此目录中日志文件的名称取决于 Linux 发行版,例如
- 对于 Red Hat Enterprise Linux 和 CentOS 发行版,文件名为 messages。
- 对于 Ubuntu 发行版,文件名为 syslog。
您可以使用操作系统的标准功能来轮换和清除这些日志。
获取和归还许可证以及瞬时网络故障的日志消息
此示例显示了以下事件序列的日志消息
- 虚拟机启动时获取许可证
- 虚拟机关闭时归还许可证
- 当虚拟机在许可证服务器不可访问时启动时,与许可证服务器通信失败
- 与许可证服务器的通信恢复后获取许可证
Mon Oct 22 20:53:29 2018:<1>:License acquired successfully. (Info: http://gridlicense1.example.com:7070/request; GRID-Virtual-WS,2.0)
Mon Oct 22 20:54:22 2018:<1>:End Logging
Mon Oct 22 20:54:24 2018:<0>:License returned successfully
Mon Oct 22 20:54:24 2018:<0>:End Logging
Mon Oct 22 20:55:36 2018:<1>:Failed server communication. Please ensure your system has network connectivity to the license server
Mon Oct 22 20:55:49 2018:<1>:Failed server communication. Please ensure your system has network connectivity to the license server
Mon Oct 22 20:56:01 2018:<1>:Failed server communication. Please ensure your system has network connectivity to the license server
Mon Oct 22 20:56:19 2018:<1>:Failed server communication. Please ensure your system has network connectivity to the license server
Mon Oct 22 20:56:31 2018:<1>:Failed server communication. Please ensure your system has network connectivity to the license server
Mon Oct 22 20:56:44 2018:<1>:Failed server communication. Please ensure your system has network connectivity to the license server
Mon Oct 22 20:56:47 2018:<1>:License acquired successfully. (Info: http://gridlicense1.example.com:7070/request; GRID-Virtual-WS,2.0)
Mon Oct 22 21:36:11 2018:<1>:End Logging
Mon Oct 22 21:36:12 2018:<0>:License returned successfully
Mon Oct 22 21:36:12 2018:<0>:End Logging
未能获取许可证的日志消息
此示例显示了由于没有所需类型的许可证可用而未能获取许可证的日志消息。
Mon Oct 22 22:26:36 2018:<1>:Error : Server URL : http://gridlicense1.example.com:7070/request -
[1,7E2,2,0[70000030,0,702C3]]
Insufficient count for the requested feature.
Mon Oct 22 22:28:15 2018:<1>:Error : Server URL : http://gridlicense1.example.com:7070/request -
[1,7E2,2,0[70000030,0,702C3]]
Insufficient count for the requested feature.
Mon Oct 22 22:29:55 2018:<1>:Error : Server URL : http://gridlicense1.example.com:7070/request -
[1,7E2,2,0[70000030,0,702C3]]
Insufficient count for the requested feature.
Mon Oct 22 22:31:34 2018:<1>:Error : Server URL : http://gridlicense1.example.com:7070/request -
[1,7E2,2,0[70000030,0,702C3]]
Insufficient count for the requested feature.
4.4. 故障排除步骤
如果 NVIDIA vGPU 软件系统未能获得许可证,请按如下方式排除故障
- 检查重要许可事件的日志,以获取有关故障原因的信息。有关详细信息,请参阅许可事件日志。
- 检查许可证服务器地址和端口号是否配置正确。
- 从 NVIDIA vGPU 软件系统对许可证服务器地址运行网络 ping 测试,以验证系统是否具有与许可证服务器的网络连接。
- 验证 NVIDIA vGPU 软件系统上的日期和时间是否配置正确。如果时间设置不准确或向后调整了大量时间,系统可能无法获得许可证。
- 验证正在使用的许可证服务器是否具有 NVIDIA vGPU 软件系统配置为使用的 NVIDIA vGPU 软件功能所需的可用许可证类型。
声明
本文档仅供参考,不应视为对产品的特定功能、状况或质量的保证。 NVIDIA Corporation(“NVIDIA”)对本文档中包含的信息的准确性或完整性不做任何明示或暗示的陈述或保证,并且对本文档中包含的任何错误不承担任何责任。 NVIDIA 对因使用此类信息或因使用此类信息而可能导致的侵犯第三方专利或其他权利的行为的后果或使用不承担任何责任。 本文档并非承诺开发、发布或交付任何材料(如下定义)、代码或功能。
NVIDIA 保留随时对本文档进行更正、修改、增强、改进和任何其他更改的权利,恕不另行通知。
客户在下订单前应获取最新的相关信息,并应验证此类信息是否为最新且完整。
NVIDIA 产品按照订单确认时提供的 NVIDIA 标准销售条款和条件进行销售,除非 NVIDIA 和客户的授权代表签署的个别销售协议(“销售条款”)另有约定。 NVIDIA 在此明确反对将任何客户通用条款和条件应用于购买本文档中引用的 NVIDIA 产品。 本文档不直接或间接地构成任何合同义务。
NVIDIA 产品并非设计、授权或保证适用于医疗、军事、航空、航天或生命支持设备,也不适用于 NVIDIA 产品的故障或故障可以合理预期会导致人身伤害、死亡或财产或环境损害的应用。 NVIDIA 对在此类设备或应用中包含和/或使用 NVIDIA 产品不承担任何责任,因此,此类包含和/或使用由客户自行承担风险。
NVIDIA 不做任何陈述或保证基于本文档的产品将适用于任何特定用途。 NVIDIA 不一定对每个产品的所有参数进行测试。 客户全权负责评估和确定本文档中包含的任何信息的适用性,确保产品适合并适用于客户计划的应用,并为该应用执行必要的测试,以避免应用或产品的默认设置。 客户产品设计中的缺陷可能会影响 NVIDIA 产品的质量和可靠性,并可能导致超出本文档中包含的附加或不同条件和/或要求。 NVIDIA 对可能基于或归因于以下原因的任何默认设置、损坏、成本或问题不承担任何责任:(i) 以任何违反本文档的方式使用 NVIDIA 产品或 (ii) 客户产品设计。
根据本文档,未授予 NVIDIA 专利权、版权或其他 NVIDIA 知识产权下的任何明示或暗示的许可。 NVIDIA 发布的有关第三方产品或服务的信息不构成 NVIDIA 授予使用此类产品或服务的许可,也不构成对其的保证或认可。 使用此类信息可能需要获得第三方专利或其他知识产权下的第三方许可,或获得 NVIDIA 专利或其他 NVIDIA 知识产权下的 NVIDIA 许可。
仅在事先获得 NVIDIA 书面批准的情况下,才允许复制本文档中的信息,复制时不得进行更改,并且必须完全遵守所有适用的出口法律和法规,并附带所有相关的条件、限制和声明。
本文档和所有 NVIDIA 设计规范、参考板、文件、图纸、诊断程序、列表和其他文档(统称为“材料”)均“按原样”提供。 NVIDIA 对材料不做任何明示、暗示、法定或其他形式的保证,并且明确声明不承担对非侵权性、适销性和针对特定用途的适用性的所有暗示保证。 在法律未禁止的范围内,在任何情况下,NVIDIA 均不对因使用本文档而引起的任何损害(包括但不限于任何直接、间接、特殊、偶然、惩罚性或后果性损害,无论如何造成,也无论责任理论如何)承担责任,即使 NVIDIA 已被告知可能发生此类损害。 尽管客户可能因任何原因遭受任何损害,但 NVIDIA 对本文所述产品的对客户的累计总责任应根据产品的销售条款进行限制。
VESA DisplayPort
DisplayPort 和 DisplayPort Compliance Logo、DisplayPort Compliance Logo for Dual-mode Sources 以及 DisplayPort Compliance Logo for Active Cables 是视频电子标准协会在美国和其他国家/地区拥有的商标。
HDMI
HDMI、HDMI 徽标和 High-Definition Multimedia Interface 是 HDMI Licensing LLC 的商标或注册商标。
OpenCL
OpenCL 是 Apple Inc. 的商标,已获得 Khronos Group Inc. 的许可使用。
商标
NVIDIA、NVIDIA 徽标、NVIDIA GRID、NVIDIA GRID vGPU、NVIDIA Maxwell、NVIDIA Pascal、NVIDIA Turing、NVIDIA Volta、GPUDirect、Quadro 和 Tesla 是 NVIDIA Corporation 在美国和其他国家/地区的商标或注册商标。 其他公司和产品名称可能是与其相关的各自公司的商标。