Delegated License Service 用户指南
NVIDIA 许可系统用于向获得许可的 NVIDIA 软件产品提供软件许可。NVIDIA 许可系统提供的许可是从 NVIDIA 许可门户获取的。
早于 13.0 的 NVIDIA vGPU 软件版本不支持 NVIDIA 许可系统。有关支持 NVIDIA 许可系统的 NVIDIA vGPU 软件版本的完整详细信息,请参阅NVIDIA Delegated License Service 发行说明。
1.1. NVIDIA 软件许可简介
要激活许可功能,获得许可的客户端必须在启动时获取软件许可。
NVIDIA 许可系统支持获得许可的客户端的以下许可类型
- 网络许可:具有网络连接的客户端通过从 NVIDIA 许可系统服务实例租用许可证来获取许可证。服务实例通过网络从 NVIDIA 许可门户获取的浮动许可证池中向客户端提供许可证。当获得许可的客户端不再需要许可证时,许可证将返回到服务实例。
- 节点锁定许可:没有网络连接或在气隙网络上的客户端系统可以从本地安装在客户端系统上的文件中获取节点锁定的 NVIDIA vGPU 软件许可证。注意
节点锁定许可的支持在 NVIDIA vGPU 软件 15.0 中引入。早期 NVIDIA vGPU 软件版本不支持此功能。
1.1.1. 使用 vGPU 18 或更高版本的先决条件
- 升级到 DLS 3.4 或更高版本
- 为避免 vGPU 18.0 及更高版本出现许可失败,请在将 vGPU 升级到 18.0 或更高版本之前,将您的许可证服务器升级到最低版本 DLS 3.4。
- 有关升级说明,请参阅 DLS 3.4 文档的迁移 DLS 实例部分。
- 更新许可证服务器文件(仅限 DLS)
- 将您的 DLS 实例升级到 3.4 或更高版本后:
- 从NVIDIA 许可门户下载新的许可证服务器文件
- 在新升级的 DLS 设备上安装许可证服务器文件。
- 有关说明,请参阅 NLS 3.4 文档的在 DLS 实例上安装许可证服务器部分。
- 将您的 DLS 实例升级到 3.4 或更高版本后:
NLS 安全策略增强
- 对于 NLS 3.4 及更高版本,绑定到 DLS SI 的许可证服务器文件有效期为三年。
- 三年有效期将从文件从 NLP 门户下载时开始计算。
- NVIDIA 许可门户将在下载后在绑定到 DLS SI 的许可证服务器的详细信息部分显示有效期。
- 除非重新下载,否则不会显示已下载的现有许可证服务器的有效期。
1.2. 关于服务实例
服务实例是向获得许可的客户端提供许可证所必需的。
NVIDIA 许可系统支持以下类型的服务实例
- 云许可证服务 (CLS) 实例。CLS 实例托管在 NVIDIA 许可门户上。
- Delegated License Service (DLS) 实例。DLS 实例在本地托管,位置可从您的专用网络访问,例如在您的数据中心内。
为了提供性能、安全性和易于管理的隔离,您可以根据需要部署多个服务实例。例如,您可以通过在每个数据中心部署 DLS 实例,在不同的物理位置部署服务实例。您还可以混合使用 CLS 和 DLS 实例,以便向获得许可的客户端提供许可证。
您不能在高可用性 (HA) 服务实例集群中混合使用 CLS 和 DLS 实例。HA 集群中的每个节点必须是 DLS 实例。
1.2.1. 关于云许可证服务 (CLS) 实例
云许可证服务 (CLS) 实例托管在 NVIDIA 许可门户上。
由于 CLS 实例托管在 NVIDIA 许可门户上,因此您无需从 NVIDIA 许可门户下载许可证并将其上传到实例。

在云服务上托管 CLS 实例为 CLS 实例提供了稳健性和动态可扩展性。由于 CLS 实例由 NVIDIA 和云服务提供商维护,因此功能和维护更新通常对用户是透明的。
1.2.2. 关于 Delegated License Service (DLS) 实例
Delegated License Service (DLS) 实例在本地托管,位置可从您的专用网络访问,例如在您的数据中心内。
由于 DLS 实例与 NVIDIA 许可门户完全断开连接,因此您必须从 NVIDIA 许可门户下载许可证并手动将其上传到实例。

1.3. NVIDIA 许可系统 DLS 实例的高可用性
为了在 DLS 实例发生故障时为获得许可的客户端提供对许可证的持续访问,您可以为 DLS 实例配置高可用性。
高可用性需要在故障转移配置中至少有两个 DLS 实例
- 一个主 DLS 实例,它主动向获得许可的客户端提供许可证
- 一个或多个辅助 DLS 实例,它们充当主 DLS 实例的备份
- NVIDIA 许可系统支持最多九个 DLS 实例的集群大小。
- 对两个以上实例的集群的支持在 NVIDIA vGPU 软件 16.1 中引入。早期的 NVIDIA vGPU 软件版本仅支持两个实例的集群。
在故障转移配置中配置多个 DLS 实例可以提高可用性,因为多个实例同时发生故障的情况很少见。主实例和辅助 DLS 实例协同工作,以确保企业中的许可证对获得许可的客户端保持持续可用。
如果主 DLS 实例发生故障,则会发生故障转移。辅助 DLS 实例之一将成为主实例并开始提供许可证。在包含两个以上实例的集群中,正常运行时间最长的辅助实例将成为主实例。发生故障的 DLS 实例在恢复服务后将成为辅助实例。下次发生故障转移时,主 DLS 实例将再次成为辅助 DLS 实例。
为了确保在主 DLS 实例发生故障后企业中的许可证保持持续可用,请尽快将发生故障的 DLS 实例恢复服务,以恢复高可用性支持。在包含两个实例的集群中,一个 DLS 实例发生故障后,剩余的实例将成为单点故障。
在正常运行期间,主 DLS 实例会不断使用有关正在向客户端提供的许可证的信息来更新辅助 DLS 实例。
有关为高可用性配置 DLS 实例的更多信息,请参阅配置 DLS 实例的 HA 集群。
1.4. DLS 故障转移的心跳检查
在高可用性 (HA) 集群中,在每个节点上运行的心跳服务会监视 DLS 设备的运行状况,并在检测到不正常的节点时根据以下条件之一触发故障转移。在发生故障转移时,辅助节点之一将承担主节点的角色来服务请求,而以前的主节点将承担辅助节点的角色。
故障转移条件
- 使用服务的运行状况端点进行服务运行状况检查
- 此检查验证所有服务是否都在正常状态下运行并且是否响应迅速。
- 每个服务都有一个运行状况端点。心跳服务将监视端点以检查服务是否响应迅速。
- 数据库连接检查
- 数据库连接检查验证数据库是否响应迅速。
- 作为此检查的一部分,将执行轻量级查询。
- 如果数据库没有响应,则会导致客户端请求失败。
- 资源耗尽检查
- 此检查验证任何资源(CPU、RAM 和磁盘)是否已超出预定义的阈值。
- 资源耗尽会影响系统稳定性,因此这是进行故障转移的主动操作。
- 应用程序故障
- 应用程序故障检查验证客户端请求是否已成功服务。
- 如果预定义时间间隔内的故障百分比超过预定义的阈值,则会触发故障转移。
- 这与服务运行状况检查不同,后者验证服务是否响应迅速。
- 此检查监视服务请求中的故障。仅对身份验证和租赁操作监视应用程序故障。
- 辅助节点监视主节点运行状况
- 此检查验证主节点是否正在运行以及租赁服务是否响应迅速。
- 作为租赁响应检查的一部分,租赁监视服务将执行读取查询 (
get lease count
)。
总而言之,当检测到以下任何情况时,都会发生故障转移
- 服务没有响应。
- 数据库没有响应。
- 资源已耗尽。
- 身份验证和租赁操作观察到故障。
- 辅助节点观察到主节点已关闭。
1.4.1. DLS 故障转移的恢复操作
您可以执行以下操作,以从故障转移中恢复 DLS 虚拟设备。
-
资源耗尽
根据相应的资源采取适当的操作
-
对于 CPU 或 RAM 耗尽:增加分配的 vCPU 或 RAM,或者检查单个 DLS 实例的最大支持负载并降低负载。
有关性能数字,请参阅DLS 设备的容量调整指南。
-
对于磁盘空间耗尽:增加可用磁盘空间或释放更多磁盘空间。
有关磁盘空间清理脚本,请参阅扩展 DLS 虚拟设备上的磁盘空间。
- 应用程序重启可能有助于释放 RAM 和 CPU 资源。
-
- 数据库连接失败
- 如果数据库可恢复,请重启应用程序以使设备恢复正常状态。
- 检查资源限制(例如内存、CPU 和磁盘空间),以确保在资源耗尽的故障转移检查未提前检测到的不太可能的情况下,它们未耗尽。
- 按照重启 DLS 虚拟设备中描述的说明进行重启。
- 要验证数据库是否已恢复,您可以执行以下任一检查
-
检查用户界面是否正常运行。
-
在 10 分钟后使用运行状况端点检查数据库连接。
curl -k --location "https://<Node_IP>/service_instance_manager/v1/health?op=db"
预期的响应代码显示如下
{"isServiceHealthy":true}
-
-
服务运行状况检查失败
- 按照重启 DLS 虚拟设备中描述的说明重启应用程序以使设备恢复正常状态。
-
应用程序故障
- 按照重启 DLS 虚拟设备中描述的说明重启应用程序以使设备恢复正常状态。
-
电源故障
- 确保电源已恢复。
如果上述操作均无法成功恢复设备,请联系 NVIDIA 企业支持。
1.4.2. 重启 DLS 虚拟设备
要重启 DLS 虚拟设备,请根据您的设备选择适当的操作。
基于 VM 的 DLS 设备
有两种方法可以启动重启
- 方法 1:重启 VM。
- 方法 2:使用 rsu_admin 用户登录,然后执行
systemctl
命令以重启 applicationStartup。sudo systemctl restart applicationStartup
基于容器的 DLS 设备
-
Docker 容器
运行以下命令以重启。
$ docker-compose -f /path/to/docker-compose.yml restart
为了简化 DLS 的安装和管理,DLS 作为软件镜像分发,以便在受支持的平台上安装或部署。DLS 是一个安全、强化的环境,对应用程序软件的访问受到严格控制。
以下类型的 DLS 软件镜像可用
- 要在受支持的虚拟机监控程序上的 VM 中安装的虚拟设备镜像
- 用于在受支持的容器编排平台上部署的容器化软件镜像
- 用于安装在受支持的操作系统上的可安装软件包,该操作系统在您选择的虚拟机监控程序或裸机服务器上的虚拟化服务器环境中运行
每个 DLS 软件镜像都配置有一个用于访问 DLS 设备的标准用户帐户,以及一个具有 sudo 用户权限的帐户,用于安装 DLS 设备软件的更新。对这些帐户的修改受到严格控制。您不能向软件镜像添加其他用户帐户。但是,您可以使用轻型目录访问协议 (LDAP) 目录来代替配置的帐户,以便管理用户对 DLS 设备的访问。
在每个基于 VM 的虚拟设备镜像中,DLS 应用程序软件都已容器化,以允许对操作系统进行有限访问,以便非 root 用户可以在 VM 中安装安全合规性和扫描工具。但是,容器编排平台无法控制或限制对平台运行所在操作系统的访问。
在用于安装在受支持的操作系统上的软件包中,DLS 应用程序软件已容器化,以确保满足所有软件依赖项并将 DLS 应用程序软件与底层操作系统隔离。
在可能的范围内,基于所有类型的软件镜像的 DLS 设备在功能上是等效的。因此,是使用基于容器的 DLS 设备、基于 VM 的 DLS 设备,还是使用来自软件包的 DLS 设备(用于安装在受支持的操作系统上)取决于您的 IT 基础设施的要求或 IT 部门的策略。有关其他指南,请参阅来自支持 NVIDIA 许可系统的平台供应商的以下资源
- Citrix:容器还是虚拟机?不一定非此即彼。
- Microsoft:容器与虚拟机
- Red Hat:容器与 VM
- VMware:为何使用容器而不是 VM?
2.1. DLS 虚拟设备或容器化 DLS 软件镜像的平台要求
在继续之前,请确保您拥有适合托管 DLS 虚拟设备或容器化 DLS 软件镜像的平台。
- 托管平台必须是运行受支持的虚拟机监控程序或容器编排平台的物理主机。
- 将在其中运行 DLS 虚拟设备或 DLS 容器的 VM 的最低资源要求如下
- vCPU 数量 4
- RAM:8 GB
- 磁盘大小:15 GB
有关其他指南,请参阅DLS 设备的容量调整指南。
- 平台必须具有固定的(不变的)IP 地址。IP 地址可以通过 DHCP 动态分配或静态配置,但必须是恒定的。
- 必须准确设置平台的日期和时间。建议使用 NTP。
在继续安装之前,请参阅NVIDIA Delegated License Service 发行说明,以了解有关受支持的虚拟机监控程序、受支持的容器编排平台以及已知问题的详细信息。
2.2. DLS 虚拟设备的主机名解析要求
托管 DLS 虚拟设备的平台必须通过其 IP 地址或其完全限定域名来标识。它也可以通过其 CNAME 来标识。如果您想通过其完全限定域名来标识平台,请确保在安装 DLS 虚拟设备之前设置所需的 DNS 条目。如果您想通过其默认主机名来标识平台,则必须设置一个 DNS 条目,将默认主机名映射到完全限定域名。
设置这些 DNS 条目的过程与安装 DLS 虚拟设备的过程是分开的。使用您正在使用的名称解析服务的标准接口来设置所需的 DNS 条目。
尽可能为托管 DLS 虚拟设备的平台设置 DNS 条目。如果设置了 DNS 条目,则可以通过其 IP 地址及其完全限定域名访问 DLS 设备。
确定正向指针和反向指针 DNS 条目是否正确
对于域名和 IP 地址之间的每个映射,请确保您同时设置正向指针和反向指针 DNS 条目。DLS 虚拟设备需要反向指针条目,以便在创建客户端配置令牌时确定 DLS 虚拟设备的域名。
对于 Windows DNS 服务器上的反向指针 DNS 条目,完全限定域名请使用全小写。
要确定是否已正确设置正向指针和反向指针 DNS 条目,请在与 DLS 虚拟设备位于同一网络上的任何 UNIX 或 Linux 主机上的 shell 中键入以下命令
-
对于正向指针条目,键入
$ host domain-name
- 域名
- 您要确定其正向指针 DNS 条目是否正确的域名。
如果 DNS 条目已正确设置,则该命令将显示映射到域名的 IP 地址。
-
对于反向指针条目,键入
$ host ip-address
- IP 地址
- 您要确定其反向指针 DNS 条目是否正确的 IP 地址。
如果 DNS 条目已正确设置,则该命令将显示映射到 IP 地址的域名。
DLS 实例如何确定是否设置了完全限定域名
DLS 实例如何确定是否设置了完全限定域名取决于 DLS 实例的类型。
- 基于 VM 的 DLS 虚拟设备:当托管 DLS 实例的 VM 启动时,DLS 实例会检查是否将完全限定域名映射到 VM 的 IP 地址。如果名称映射到 VM 的 IP 地址,则 DLS 实例会检索该名称以在设备上 NVIDIA 许可应用程序的用户界面中显示。
-
容器化 DLS 软件镜像:完全限定域名通过环境变量设置。当部署 DLS 软件镜像的容器启动时,DLS 实例会检查是否设置了此环境变量。
注意容器外部的获得许可的客户端必须能够解析完全限定域名。环境变量不得指定只能由容器编排器解析的名称。
- 如果设置了此环境变量,则 DLS 实例会检索该名称以在设备上 NVIDIA 许可应用程序的用户界面中显示。
- 如果未设置此环境变量,则用户无法通过完全限定域名连接到部署 DLS 软件镜像的容器,即使完全限定域名映射到 DNS 服务器中的 IP 地址也是如此。
有关更多信息,请参阅设置容器化 DLS 软件镜像的属性。
如何设置托管 DLS 实例的 VM 或容器的主机名
如何设置托管 DLS 实例的 VM 或容器的主机名取决于 DLS 实例的类型。
- 基于 VM 的 DLS 虚拟设备:主机名在虚拟设备镜像中预设。
- 独立 DLS 虚拟设备的主机名预设为
nls-si-0
。 - HA 集群中 DLS 虚拟设备的主机名预设为
nls-si-0
和nls-si-1
。
可以按照更改基于 VM 的 DLS 虚拟设备的主机名中所述的方式更改主机名。
- 独立 DLS 虚拟设备的主机名预设为
- 容器化 DLS 软件镜像:主机名通过环境变量设置。如果未设置此环境变量,则容器编排平台会将主机名设置为容器 ID。有关更多信息,请参阅设置容器化 DLS 软件镜像的属性。
- CNAME 标识:托管 DLS 虚拟设备的平台也可以通过其 CNAME 标识。
2.3. 通信端口要求
为了在获得许可的客户端与 CLS 或 DLS 实例之间启用通信,必须在您的防火墙或代理服务器中打开特定端口。如果您正在使用 DLS 实例的 HA 集群,并且 DLS 实例之间存在防火墙或代理服务器,则还必须在防火墙或代理服务器中打开其他端口。
获得许可的客户端与 CLS 实例之间的通信端口
为了在获得许可的客户端与 CLS 实例之间启用通信,必须在您的防火墙或代理服务器中打开以下端口端口 | 协议 | 出口/入口 | 协议/服务 | 发自 | 发往 |
---|---|---|---|---|---|
80 | TLS,TCP | 出口 | 许可证释放 | 客户端 | CLS |
443 | TLS,TCP | 出口 | 许可证获取 许可证续订 | 客户端 | CLS |
-
端口 80 供所有 Windows VM 在 VM 关闭期间释放许可证时使用。
- 端口 443 供所有 VM(Windows VM 除外)在许可证续订时返回许可证以及在正常操作期间释放许可证时使用。
获得许可的客户端与 DLS 实例之间的通信端口
为了在获得许可的客户端与 DLS 实例之间启用通信,必须在您的防火墙或代理服务器中打开以下端口端口 | 协议 | 出口/入口 | 协议/服务 | 发自 | 发往 |
---|---|---|---|---|---|
80 | TLS,TCP | 出口 | 许可证释放 | 客户端 | DLS |
443 | TLS,TCP | 出口 | 许可证获取 许可证续订 许可证释放 | 客户端 | DLS |
- 端口 80 供所有 Windows VM 在 VM 关闭期间释放许可证时使用。
- 端口 443 供所有 VM(Windows VM 除外)在许可证续订时返回许可证以及在正常操作期间释放许可证时使用。
- 客户端到 DLS 连接的以下端口不再需要,但为了向后兼容而受支持:8081、8082。
- 对于基于容器的 DLS 设备,端口 80 和 443 可能不可用于 DLS 设备绑定,原因可能是容器编排器管理员限制了对这些端口的访问,或者端口正被其他容器使用。在这种情况下,您必须将环境变量
DLS_HTTP_PORT
和DLS_HTTPS_PORT
设置为 DLS 设备必须绑定的端口。有关更多信息,请参阅设置容器化 DLS 软件镜像的属性。
HA 集群中 DLS 实例之间的通信端口
如果您正在使用 DLS 实例的 HA 集群,并且 DLS 实例之间存在防火墙或代理服务器,则还必须在防火墙或代理服务器中打开以下端口
端口 | 容器化实例 | 基于 VM 的实例 | 协议 | 出口/入口 | 协议/服务 | 发自 | 发往 |
---|---|---|---|---|---|---|---|
443 | - | ✔ | TLS,TCP | 两者 | 许可服务 | 主 DLS | 辅助 DLS |
4369 | ✔ | ✔ | EPMD(对等发现) | 两者 | RabbitMQ,Erlang | 主 DLS | 辅助 DLS |
5671 | ✔ | ✔ | AMQP,TLS | 两者 | RabbitMQ | 主 DLS | 辅助 DLS |
8080 | ✔ | ✔ | HTTPS | 两者 | 许可服务 | 主 DLS | 辅助 DLS |
8081 | ✔ | ✔ | HTTPS | 两者 | 许可服务 | 主 DLS | 辅助 DLS |
8082 | ✔ | ✔ | HTTPS | 两者 | 许可服务 | 主 DLS | 辅助 DLS |
8083 | ✔ | ✔ | HTTPS | 两者 | 许可服务 | 主 DLS | 辅助 DLS |
8084 | ✔ | ✔ | HTTPS | 两者 | 许可服务 | 主 DLS | 辅助 DLS |
8085 | ✔ | ✔ | HTTPS | 两者 | 许可服务 | 主 DLS | 辅助 DLS |
✔ 端口正在使用。
- 端口未使用。
早期版本中需要打开的以下端口不再使用
- 22
- 1883
- 5672
- 8883
- 15672
- 25671
- 25672
- 61613
- 61614
容器编排器中的通信端口
容器编排器中必须提供以下端口,以允许 DLS 设备容器绑定到它们
端口 | 服务 |
---|---|
8080, 18080 | 管理服务 |
8081, 18081 | 授权服务 |
8082, 18082 | 许可服务 |
8083, 18083 | 文件安装 |
8084, 18084 | 服务实例 |
8085 | 虚拟设备服务 |
9001 | 进程管理器 (supervisord) |
25672 | RabbitMQ |
2.4. DLS 设备的容量调整指南
根据测得的性能数字,确定基于容器或 VM 的 DLS 设备的最佳配置,具体取决于来自获得许可的客户端的预期请求数量和频率。
2.4.1. DLS 设备的吞吐量
吞吐量衡量基于 VM 或容器的 DLS 设备在 1 秒内可以处理的客户端数量。
- 所有测量均在 CPU 时钟速度为 3 GHz 的情况下进行。
- 对于基于 VM 的 DLS 设备,磁盘大小在虚拟设备镜像中预设为 15 GB。如果您想将诊断日志文件保留超过三个月的默认期限,请增加设备中的磁盘大小。
- 基于容器的 DLS 设备的测量值取自 Ubuntu VM 中的 Docker 容器。在进行测量时,VM 中仅运行 DLS 设备的容器。
- 如果您增加 vCPU 的数量,则必须将总 RAM(以 GB 为单位)增加到 vCPU 数量的两倍。对于基于容器的 DLS 设备,增加 vCPU 的数量会增加工作线程的数量。如果在不增加总 RAM 的情况下增加 vCPU 的数量,则某些工作线程或服务可能会失败。
vCPU 数量 | 总 RAM (GB) | 已用 RAM (GB) | 吞吐量(每秒客户端数) | 平均响应时间 (毫秒) |
---|---|---|---|---|
4 | 8 | 4.5 | 5 | 74 |
6 | 12 | 6 | 9 | 84 |
8 | 16 | 8 | 13 | 87 |
2.4.2. DLS 设备的扩展能力
可伸缩性衡量基于 VM 或基于容器的 DLS 设备在特定时间间隔内可以服务的最大许可客户端数量。DLS 设备通过为客户端执行许可操作来服务许可客户端,即许可的借用、归还或续订。许可客户端的注册不被视为许可操作,因为它对于任何客户端仅发生一次。
这些测量结果捕获了具有不同 vCPU 数量和 RAM 容量的 DLS 设备在许可证借用 12 小时的情况下可以服务的最大许可客户端数量。最大客户端数量与许可证借用的时长成正比。如果时长增加,最大客户端数量也会增加。
要根据许可证借用的时长计算最大客户端数量,请使用以下公式:max-clients=clients-per-second⨯60⨯(renewal-interval-percentage/100)⨯borrow-time-in-hours⨯60
- max-clients
- DLS 设备可以服务的最大许可客户端数量。
- clients-per-second
- DLS 设备每秒可以服务的客户端数量,通过每次配置的可伸缩性运行来衡量。对于适当的配置,请使用表中的每秒客户端数量。
- renewal-interval-percentage
- 续订间隔设置为许可证借用时长的百分比。
在进行这些测量时,续订间隔设置为许可证借用时长(小时)的 15%。
- borrow-time-in-hours
- 许可证借用的时长(小时)。
在进行这些测量时,许可证借用了 12 小时。
此公式可防止 DLS 实例上请求的累积,从而确保平稳运行。
- 这些测量是在 DLS 设备的吞吐量中测量的吞吐量下进行的。
- 所有测量均在 2.6 GHz 的 CPU 时钟速度下进行。
- 基于容器的 DLS 设备的测量值取自 Ubuntu VM 中的 Docker 容器。在进行测量时,VM 中仅运行 DLS 设备的容器。
vCPU 数量 | 总 RAM (GB) | 每秒客户端数 | 计算 | 最大客户端数 |
---|---|---|---|---|
4 | 8 | 5 | 5⨯60⨯0.15⨯12⨯60 | 32,000 |
6 | 12 | 9 | 9⨯60⨯0.15⨯12⨯60 | 58,000 |
8 | 16 | 13 | 13⨯60⨯0.15⨯12⨯60 | 84,000 |
2.4.3. DLS 设备的突发负载性能
突发负载性能衡量基于 VM 或基于容器的 DLS 设备处理短时间内来自大量客户端的请求所需的时间。突发负载性能不衡量并发性或吞吐量。
- 突发处理时间仅为说明性目的,因为它们用于使用模拟客户端驱动程序的性能测试中的重试逻辑。使用真实客户端驱动程序时,时间可能会有所不同。
- 测试系统配置为 4 个 vCPU 和 8 GB RAM。
- 基于容器的 DLS 设备的测量值取自 Ubuntu VM 中的 Docker 容器。在进行测量时,VM 中仅运行 DLS 设备的容器。
客户端数量 | 间隔 | 处理时间 |
---|---|---|
100 | 0-1 秒 | 5 秒 |
1,000 | 0-20 秒 | 50 秒 |
5,000 | 0-5 分钟 | 5 分钟 |
10,000 | 0-10 分钟 | 8 分钟 42 秒 |
2.5. 安装基于 VM 的 DLS 虚拟设备
为了简化安装过程,基于 VM 的 DLS 虚拟设备以虚拟设备映像的形式提供,以便安装在受支持的虚拟机监控程序上。
在验证了DLS 虚拟设备或容器化 DLS 软件映像的平台要求中的要求并查看了DLS 设备的容量调整指南中的指南后,按照以下说明顺序安装和配置 DLS 虚拟设备
- 在受支持的虚拟机监控程序上安装 DLS 虚拟设备映像
- 如有必要:从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址
- 注册 DLS 管理员用户
- 可选:创建或扩展 DLS 实例的 HA 集群
- 可选:设置 DLS 虚拟设备的静态 IP 地址
2.5.1. 在受支持的虚拟机监控程序上安装 DLS 虚拟设备映像
DLS 虚拟设备映像适用于多种虚拟机监控程序。您可以使用虚拟机监控程序的标准接口在您选择的虚拟机监控程序上安装 DLS 虚拟设备。
每个受支持的虚拟机监控程序(除了 Red Hat Enterprise Linux KVM)的 DLS 虚拟设备映像都指定了 VM 的最低配置,如DLS 虚拟设备或容器化 DLS 软件映像的平台要求中所列。当您为这些虚拟机监控程序安装 DLS 虚拟设备时,您无需指定 VM 配置。安装 DLS 虚拟设备后,如果需要,您可以使用虚拟机监控程序的标准接口来更改 VM 的配置。
如果发生子网冲突,请联系您的网络管理员以获取适当的子网地址,然后按照以下步骤操作。
- 使用 rsu_admin 用户修改 /etc/dls/config/docker-compose.yml 文件中
networks
元素的back-tier
属性。 - 重启 VM 以使更改生效。
2.5.1.1. 在 Citrix Hypervisor 上安装 DLS 虚拟设备
Citrix Hypervisor 的 DLS 映像以 ZIP 存档形式分发,其中包含 XVA 文件,XVA 文件是 Xen-based 虚拟机监控程序特有的格式。
使用 Citrix XenCenter 导入向导在您想要运行 DLS 虚拟设备的 Citrix Hypervisor 主机上执行此任务。
有关更多信息,请参阅 Citrix 产品文档网站上的从 XVA 导入 VM。
- 下载包含 XVA 文件的 ZIP 存档,其中包含 DLS 虚拟设备映像到虚拟机监控程序主机。
- 提取您下载的 ZIP 存档的内容。
- 在 Citrix XenCenter 中,从文件菜单中,选择导入。
- 浏览并选择下载的 XVA 文件,然后单击下一步。
- 选择导入的 VM 将放置在其上的服务器,然后单击下一步。
- 选择将存储新导入的 VM 的虚拟磁盘的存储库,然后单击导入。
- 在虚拟设备的模板中选择默认虚拟网络接口,然后单击下一步。
- 查看导入虚拟机的设置,然后单击完成以创建虚拟机。
- 启动您创建的 VM。
在 VM 启动后,大约需要 15 分钟才能完成 DLS 虚拟设备的安装并启动 DLS 虚拟设备。DLS 虚拟设备启动后要做什么取决于 VM 是否已自动分配 IP 地址,例如,通过 DHCP 服务器
-
如果 VM 已分配 IP 地址,则下一步要做什么取决于您是执行新安装还是升级现有 DLS 实例
- 如果您正在执行新安装,请在设备上注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 如果您正在升级现有 DLS 实例,请迁移现有 DLS 实例,如迁移 DLS 实例中所述。
-
否则,从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址,如从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址中所述。
2.5.1.2. 在 Microsoft Windows Server with Hyper-V 上安装 DLS 虚拟设备
Microsoft Windows Server with Hyper-V 的 DLS 映像以 ZIP 存档形式分发。
使用 Hyper-V 管理器在您想要运行 DLS 虚拟设备的 Microsoft Windows Server with Hyper-V 主机上执行此任务。
有关更多信息,请参阅 Microsoft 文档网站上的导入虚拟机。
- 下载包含 DLS 虚拟设备映像的 ZIP 存档到虚拟机监控程序主机。
- 提取您下载的 ZIP 存档的内容。
- 从 Hyper-V 管理器的操作菜单中,选择导入虚拟机。
- 浏览并选择您提取 DLS 虚拟设备映像到的文件夹,然后单击下一步。
- 当提示选择导入类型时,选择复制虚拟机(创建新的唯一 ID)选项,然后单击下一步。
- 浏览并选择您想要存储虚拟机 (VM) 文件的文件夹,然后单击下一步。
- 浏览并选择用于存储虚拟磁盘的文件夹。注意
如果您要为 DLS 实例集群创建两个 VM,请确保为每个 VM 选择唯一的文件夹,以防止 Hyper-V 管理器出错。
- 查看导入 VM 的设置,然后单击完成以创建 VM。
- 创建 VM 后,指定 VM 应使用的虚拟交换机。
- 从导入的 VM 名称下的操作菜单中,选择设置。
- 在“设置”窗口的左侧导航栏中的硬件下,选择网络适配器,从虚拟交换机下拉列表中选择虚拟交换机,然后单击应用。
- 启动导入的 VM。
- 从导入的 VM 名称下的操作菜单中,选择连接。
- 在打开的“虚拟机连接”窗口中,单击启动。
当导入的 VM 的安装启动时,将打开一个命令窗口。只有当您需要从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址时,才使用此窗口登录到 DLS 虚拟设备。
在 VM 启动后,大约需要 15 分钟才能完成 DLS 虚拟设备的安装并启动 DLS 虚拟设备。DLS 虚拟设备启动后要做什么取决于 VM 是否已自动分配 IP 地址,例如,通过 DHCP 服务器
-
如果 VM 已分配 IP 地址,则下一步要做什么取决于您是执行新安装还是升级现有 DLS 实例
- 如果您正在执行新安装,请在设备上注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 如果您正在升级现有 DLS 实例,请迁移现有 DLS 实例,如迁移 DLS 实例中所述。
-
否则,从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址,如从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址中所述。
VM 启动后,您可以从 Hyper-V 管理器中 VM 的网络选项卡获取其 IP 地址。
2.5.1.3. 在 Red Hat Enterprise Linux KVM 上安装 DLS 虚拟设备
Red Hat Enterprise Linux KVM 的 DLS 映像以 ZIP 存档形式分发,其中包含 QEMU copy-on-write (QCOW2) 映像文件。准备好 QCOW2 文件后,使用虚拟机管理器从 QCOW2 文件创建 VM 来安装映像。
从虚拟机监控程序主机执行此任务。
- 下载包含 QCOW2 映像文件的 ZIP 存档到虚拟机监控程序主机。
- 提取您下载的 ZIP 存档的内容。
- 将 QCOW2 映像文件复制到虚拟机监控程序主机上的 /var/lib/libvirt/images 目录。
- 启动虚拟机管理器。
- 添加与虚拟机监控程序主机的连接。
- 在“虚拟机管理器”窗口中,从文件菜单中,选择添加连接。
- 在打开的“添加连接”窗口中,设置下表中的选项,然后单击连接。
选项 设置 虚拟机监控程序 从下拉列表中,选择 QEMU/KVM。 通过 SSH 连接到远程主机 选择此选项。 用户名 在此文本输入字段中,键入 root。 主机名 在此文本输入字段中,键入 Red Hat Enterprise Linux KVM 主机的 IP 地址或完全限定主机名。
连接已添加到“虚拟机管理器”窗口。
- 右键单击在上一步中添加的连接,然后选择新建。“创建新的虚拟机”向导启动。
- 在第一个“新建 VM”窗口中,选择导入现有磁盘映像选项,然后单击前进。
- 在第二个“新建 VM”窗口中,导入下载的 QCOW2 映像文件,然后选择要安装的操作系统。
- 单击浏览。
- 在打开的“选择存储卷”窗口中,选择下载的 QCOW2 映像文件,然后单击选择卷。
- 返回到第二个“新建 VM”窗口,在搜索框中键入 Ubuntu 22.04,然后从打开的操作系统列表中,选择 Ubuntu 22.04 (ubuntu)。
- 单击前进。
- 在第三个“新建 VM”窗口中,将内存设置为 8192 MiB,将 CPU 设置为 4,然后单击前进。
- 在最终的“新建 VM”窗口中,指定 VM 名称和 VM 将使用的网络。
- 在名称文本输入字段中,键入您为正在创建的 VM 选择的名称。
- 选择安装前自定义配置选项。
- 从“网络选择”下拉列表中,选择 VM 将使用的网络。
- 单击完成。
- 在用于查看新 VM 的窗口中,按如下方式修改 VM。
- 将显示服务器更改为 VNC 服务器。在左侧导航栏中,选择显示 Spice,然后从类型下拉列表中,选择 VNC 服务器。
- 删除 USB Redirector 1、USB Redirector 2 和 Channel spice。对于要删除的每个项目,右键单击左侧导航栏中的项目,然后从弹出的菜单中,选择删除硬件。
- 将 Video QXL 更改为 VGA。在左侧导航栏中,选择 Video QXL,然后从型号下拉列表中,选择 VGA。
- 单击应用以保存您对配置的更改,然后单击开始安装。
- 创建 VM 后,启动 VM 并登录到 VM 以获取 VM 的 IP 地址。您必须登录到 VM 才能获取其 IP 地址,因为 IP 地址未显示在虚拟机管理器控制台中。
- 单击播放按钮以在虚拟机监控程序主机上启动 VM。
- 使用 VM 启动时打开的命令窗口,以预设密码 welcome 作为 dls_admin 用户登录到 DLS 虚拟设备。
- 获取 VM 的地址。
$ ip addr
在 VM 启动后,大约需要 15 分钟才能完成 DLS 虚拟设备的安装并启动 DLS 虚拟设备。DLS 虚拟设备启动后要做什么取决于 VM 是否已自动分配 IP 地址,例如,通过 DHCP 服务器
-
如果 VM 已分配 IP 地址,则下一步要做什么取决于您是执行新安装还是升级现有 DLS 实例
- 如果您正在执行新安装,请在设备上注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 如果您正在升级现有 DLS 实例,请迁移现有 DLS 实例,如迁移 DLS 实例中所述。
-
否则,从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址,如从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址中所述。
2.5.1.4. 在 Red Hat Virtualization 上安装 DLS 虚拟设备
Red Hat Virtualization 的 DLS 映像以 ZIP 存档形式分发,其中包含 QEMU copy-on-write (QCOW2) 映像文件。准备好 QCOW2 文件后,使用虚拟机管理器从 QCOW2 文件创建 VM 来安装映像。
从虚拟机监控程序主机执行此任务。
- 下载包含 QCOW2 映像文件的 ZIP 存档到虚拟机监控程序主机。
- 提取您下载的 ZIP 存档的内容。
- 将 QCOW2 映像文件复制到虚拟机监控程序主机上的 /var/lib/libvirt/images 目录。
- 启动虚拟机管理器。
- 添加与虚拟机监控程序主机的连接。
- 在“虚拟机管理器”窗口中,从文件菜单中,选择添加连接。
- 在打开的“添加连接”窗口中,设置下表中的选项,然后单击连接。
选项 设置 虚拟机监控程序 从下拉列表中,选择 QEMU/KVM。 通过 SSH 连接到远程主机 选择此选项。 用户名 在此文本输入字段中,键入 root。 主机名 在此文本输入字段中,键入 Red Hat Enterprise Linux KVM 主机的 IP 地址或完全限定主机名。
连接已添加到“虚拟机管理器”窗口。
- 右键单击在上一步中添加的连接,然后选择新建。“创建新的虚拟机”向导启动。
- 在第一个“新建 VM”窗口中,选择导入现有磁盘映像选项,然后单击前进。
- 在第二个“新建 VM”窗口中,导入下载的 QCOW2 映像文件,然后选择要安装的操作系统。
- 单击浏览。
- 在打开的“选择存储卷”窗口中,选择下载的 QCOW2 映像文件,然后单击选择卷。
- 返回到第二个“新建 VM”窗口,在搜索框中键入 Ubuntu 22.04,然后从打开的操作系统列表中,选择 Ubuntu 22.04 (ubuntu)。
- 单击前进。
- 在第三个“新建 VM”窗口中,将内存设置为 8192 MiB,将 CPU 设置为 4,然后单击前进。
- 在最终的“新建 VM”窗口中,指定 VM 名称和 VM 将使用的网络。
- 在名称文本输入字段中,键入您为正在创建的 VM 选择的名称。
- 选择安装前自定义配置选项。
- 从“网络选择”下拉列表中,选择 VM 将使用的网络。
- 单击完成。
- 在用于查看新 VM 的窗口中,按如下方式修改 VM。
- 将显示服务器更改为 VNC 服务器。在左侧导航栏中,选择显示 Spice,然后从类型下拉列表中,选择 VNC 服务器。
- 删除 USB Redirector 1、USB Redirector 2 和 Channel spice。对于要删除的每个项目,右键单击左侧导航栏中的项目,然后从弹出的菜单中,选择删除硬件。
- 将 Video QXL 更改为 VGA。在左侧导航栏中,选择 Video QXL,然后从型号下拉列表中,选择 VGA。
- 单击应用以保存您对配置的更改,然后单击开始安装。
- 创建 VM 后,启动 VM 并登录到 VM 以获取 VM 的 IP 地址。您必须登录到 VM 才能获取其 IP 地址,因为 IP 地址未显示在虚拟机管理器控制台中。
- 单击播放按钮以在虚拟机监控程序主机上启动 VM。
- 使用 VM 启动时打开的命令窗口,以预设密码 welcome 作为 dls_admin 用户登录到 DLS 虚拟设备。
- 获取 VM 的地址。
$ ip addr
在 VM 启动后,大约需要 15 分钟才能完成 DLS 虚拟设备的安装并启动 DLS 虚拟设备。DLS 虚拟设备启动后要做什么取决于 VM 是否已自动分配 IP 地址,例如,通过 DHCP 服务器
-
如果 VM 已分配 IP 地址,则下一步要做什么取决于您是执行新安装还是升级现有 DLS 实例
- 如果您正在执行新安装,请在设备上注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 如果您正在升级现有 DLS 实例,请迁移现有 DLS 实例,如迁移 DLS 实例中所述。
-
否则,从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址,如从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址中所述。
2.5.1.5. 在 Ubuntu Hypervisor 上安装 DLS 虚拟设备
Ubuntu Hypervisor 的 DLS 映像以 ZIP 存档形式分发,其中包含 QEMU copy-on-write (QCOW2) 映像文件。准备好 QCOW2 文件后,使用虚拟机管理器从 QCOW2 文件创建 VM 来安装映像。
从虚拟机监控程序主机执行此任务。
- 下载包含 QCOW2 映像文件的 ZIP 存档到虚拟机监控程序主机。
- 提取您下载的 ZIP 存档的内容。
- 将 QCOW2 映像文件复制到虚拟机监控程序主机上的 /var/lib/libvirt/images 目录。
- 启动虚拟机管理器。
- 添加与虚拟机监控程序主机的连接。
- 在“虚拟机管理器”窗口中,从文件菜单中,选择添加连接。
- 在打开的“添加连接”窗口中,设置下表中的选项,然后单击连接。
选项 设置 虚拟机监控程序 从下拉列表中,选择 QEMU/KVM。 通过 SSH 连接到远程主机 选择此选项。 用户名 在此文本输入字段中,键入 root。 主机名 在此文本输入字段中,键入 Red Hat Enterprise Linux KVM 主机的 IP 地址或完全限定主机名。
连接已添加到“虚拟机管理器”窗口。
- 右键单击在上一步中添加的连接,然后选择新建。“创建新的虚拟机”向导启动。
- 在第一个“新建 VM”窗口中,选择导入现有磁盘映像选项,然后单击前进。
- 在第二个“新建 VM”窗口中,导入下载的 QCOW2 映像文件,然后选择要安装的操作系统。
- 单击浏览。
- 在打开的“选择存储卷”窗口中,选择下载的 QCOW2 映像文件,然后单击选择卷。
- 返回到第二个“新建 VM”窗口,在搜索框中键入 Ubuntu 22.04,然后从打开的操作系统列表中,选择 Ubuntu 22.04 (ubuntu)。
- 单击前进。
- 在第三个“新建 VM”窗口中,将内存设置为 8192 MiB,将 CPU 设置为 4,然后单击前进。
- 在最终的“新建 VM”窗口中,指定 VM 名称和 VM 将使用的网络。
- 在名称文本输入字段中,键入您为正在创建的 VM 选择的名称。
- 选择安装前自定义配置选项。
- 从“网络选择”下拉列表中,选择 VM 将使用的网络。
- 单击完成。
- 在用于查看新 VM 的窗口中,按如下方式修改 VM。
- 将显示服务器更改为 VNC 服务器。在左侧导航栏中,选择显示 Spice,然后从类型下拉列表中,选择 VNC 服务器。
- 删除 USB Redirector 1、USB Redirector 2 和 Channel spice。对于要删除的每个项目,右键单击左侧导航栏中的项目,然后从弹出的菜单中,选择删除硬件。
- 将 Video QXL 更改为 VGA。在左侧导航栏中,选择 Video QXL,然后从型号下拉列表中,选择 VGA。
- 单击应用以保存您对配置的更改,然后单击开始安装。
- 创建 VM 后,启动 VM 并登录到 VM 以获取 VM 的 IP 地址。您必须登录到 VM 才能获取其 IP 地址,因为 IP 地址未显示在虚拟机管理器控制台中。
- 单击播放按钮以在虚拟机监控程序主机上启动 VM。
- 使用 VM 启动时打开的命令窗口,以预设密码 welcome 作为 dls_admin 用户登录到 DLS 虚拟设备。
- 获取 VM 的地址。
$ ip addr
在 VM 启动后,大约需要 15 分钟才能完成 DLS 虚拟设备的安装并启动 DLS 虚拟设备。DLS 虚拟设备启动后要做什么取决于 VM 是否已自动分配 IP 地址,例如,通过 DHCP 服务器
-
如果 VM 已分配 IP 地址,则下一步要做什么取决于您是执行新安装还是升级现有 DLS 实例
- 如果您正在执行新安装,请在设备上注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 如果您正在升级现有 DLS 实例,请迁移现有 DLS 实例,如迁移 DLS 实例中所述。
-
否则,从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址,如从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址中所述。
2.5.1.6. 在 VMware vSphere 上安装 DLS 虚拟设备
VMware vSphere 的 DLS 映像以 ZIP 存档形式分发,其中包含开放虚拟设备 (OVA) 文件。
使用 VMware vSphere Client 在您想要运行 DLS 虚拟设备的 ESXi 服务器上执行此任务。
有关更多信息,请参阅 VMware Docs 网站上的以下主题
- 下载包含 OVA 文件的 ZIP 存档,其中包含 VMware vSphere 的 DLS 映像。
- 提取您下载的 ZIP 存档的内容。
- 使用 VMware vSphere Client 登录到 vCenter Server。
- 从 VMware vSphere Client 的操作菜单中,选择部署 OVF 模板。
- 选择本地文件选项,浏览并选择下载的 OVA 文件,然后单击下一步。
- 输入您选择的虚拟机名称,选择虚拟机的位置,然后单击下一步。
- 选择将在其中创建虚拟机的计算资源,然后单击下一步。
- 查看您要部署的模板的详细信息,然后单击下一步。
- 选择虚拟设备配置和磁盘文件的存储,然后单击下一步。
- 保持目标网络不变,将 IP 分配选项设置为 静态 - 手动,然后单击下一步。
- 设置 VM 的虚拟网络和 IP 分配属性,然后单击下一步。
- 在 ipaddress 文本输入字段中,键入您想要分配给 VM 的 IP 地址。注意
要在完成安装后更改此地址,您必须按照在 DLS 设备安装期间更改 VMware VM 设置的 IP 地址中的说明进行操作。如果您使用任何其他方法来更改此地址,则在 VM 重新启动时,它将恢复为其原始设置。
- 在 netmask 文本输入字段中,以无类别域间路由 (CIDR) 格式键入 VM 网络子网掩码,不带前导斜杠字符 (/)。要从十进制等效项获取 CIDR 格式的子网掩码,请参阅IETF RFC 1878:IPv4 的可变长度子网表第 2 页上的表。例如,十进制等效项 255.255.255.0 的 CIDR 格式的子网掩码为 24。
- 在 gateway 文本输入字段中,键入 VM 默认网关的 IP 地址。注意
如果您将 gateway 字段留空,则 DLS 虚拟设备将使用 DHCP 设置。
- 可选:在 dns_server_one 文本输入字段中,键入要用于名称解析的第一个 DNS 服务器的 IP 地址。
- 可选:在 dns_server_two 文本输入字段中,键入要用于名称解析的第二个 DNS 服务器的 IP 地址。
- 在 ipaddress 文本输入字段中,键入您想要分配给 VM 的 IP 地址。
- 查看您正在创建的虚拟机的全部详细信息,然后单击完成。
- 启动您创建的 VM。注意
如果发生子网冲突,请联系您的网络管理员以获取适当的子网地址,然后按照以下步骤操作。
- 使用 rsu_admin 用户修改 /etc/dls/config/docker-compose.yml 文件中
networks
元素的back-tier
属性。 - 重启 VM 以使更改生效。
- 使用 rsu_admin 用户修改 /etc/dls/config/docker-compose.yml 文件中
在 VM 启动后,大约需要 15 分钟才能完成 DLS 虚拟设备的安装并启动 DLS 虚拟设备。DLS 虚拟设备启动后要做什么取决于 VM 是否已自动分配 IP 地址,例如,通过 DHCP 服务器
-
如果 VM 已分配 IP 地址,则下一步要做什么取决于您是执行新安装还是升级现有 DLS 实例
- 如果您正在执行新安装,请在设备上注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 如果您正在升级现有 DLS 实例,请迁移现有 DLS 实例,如迁移 DLS 实例中所述。
-
否则,从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址,如从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址中所述。
2.5.2. 从虚拟机监控程序设置 DLS 虚拟设备的 IP 地址
如果托管 DLS 虚拟设备的 VM 未自动分配 IP 地址,则必须从虚拟机监控程序设置 IP 地址。每个 DLS 虚拟设备都提供专门用于此目的的 shell 脚本,并配置了用于运行该脚本的用户帐户。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
VMware VM 的 IP 地址(托管 DLS 设备)可以在从 OVF 模板安装设备时设置。如果 IP 地址是通过这种方式设置的,则您必须按照在 DLS 设备安装期间更改 VMware VM 设置的 IP 地址中的说明进行操作。如果您使用任何其他方法来更改此地址,则在 VM 重新启动时,它将恢复为其原始设置。
- 使用设备的虚拟机监控程序管理控制台以用户 dls_admin 身份登录到托管 DLS 虚拟设备的 VM。如果 dls_admin 用户尚未注册,您仍然可以使用默认密码 welcome 以 dls_admin 用户身份登录到 VM。
- 运行 /etc/adminscripts/set-static-ip-cli.sh 脚本。
$ /etc/adminscripts/set-static-ip-cli.sh
- 当出现提示时,输入 IP 地址的详细信息。该脚本会显示已为虚拟设备的网络设置的任何默认值。
- 输入表示虚拟设备网络使用的 IP 版本的数字。
- 对于 IPv4 网络,键入 4。
- 对于 IPv6 网络,键入 6。
- 输入您想要分配给 DLS 虚拟设备的 IP 地址。
- 输入 DLS 虚拟设备默认网关的 IP 地址。注意
如果您省略默认网关地址,则 DLS 虚拟设备将使用 DHCP 设置。
- 输入要用于名称解析的第一个 DNS 服务器的 IP 地址。
- 输入要用于名称解析的第二个 DNS 服务器的 IP 地址。
- 以无类别域间路由 (CIDR) 格式键入 DLS 虚拟设备网络的子网掩码,不带前导斜杠字符 (/)。要从十进制等效项获取 CIDR 格式的子网掩码,请参阅IETF RFC 1878:IPv4 的可变长度子网表第 2 页上的表。例如,十进制等效项 255.255.255.0 的 CIDR 格式的子网掩码为 24。
- 输入表示虚拟设备网络使用的 IP 版本的数字。
设置 IP 地址后,包含脚本进度消息的日志文件可在 /tmp/static-ip-cli-logs 目录中找到。
下一步要做什么取决于您是执行新安装还是升级现有 DLS 实例
- 如果您正在执行新安装,请在设备上注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 如果您正在升级现有 DLS 实例,请迁移现有 DLS 实例,如迁移 DLS 实例中所述。
2.5.3. 在 DLS 设备安装期间更改 VMware VM 设置的 IP 地址
VMware VM 的 IP 地址(托管 DLS 设备)可以在从 OVF 模板安装设备时设置。如果 IP 地址是通过这种方式设置的,则您只能通过编辑托管 DLS 设备的 VM 内的 vApps 选项来更改它。如果您使用任何其他方法来更改此地址,则在 VM 重新启动时,它将恢复为其原始设置。
- 使用 VMware vSphere Web Client 登录到 vCenter Server。有关详细说明,请参阅使用 vSphere Web Client 登录到 vCenter Server。
- 从 vCenter Server 清单中,导航到托管 DLS 设备的 VM。
- 关闭您在上一步中导航到的 VM。
- 在配置选项卡上,展开设置,选择 vApp 选项,然后单击编辑。
- 在 vApp 选项列表中,选择 Networkproperties.IPaddress,然后单击设置值。
- 输入您想要分配给托管 DLS 设备的 VM 的 IP 地址。
- 保存您的更改并启动 VM。
2.6. 部署容器化 DLS 软件映像
对于受支持的容器编排平台上的部署,DLS 以容器化软件映像的形式提供。
在验证了DLS 虚拟设备或容器化 DLS 软件映像的平台要求中的要求后,按照以下说明顺序部署容器化 DLS 软件映像
2.6.1. 容器化 DLS 软件映像下载的内容
容器化 DLS 软件映像以 ZIP 存档 nls-3.4.1-bios.zip 的形式分发。
此 ZIP 存档包含以下工件
- dls_appliance_3.4.1.tar.gz
- DLS 应用程序容器。
- dls_pgsql_3.4.1.tar.gz
- PostgreSQL 数据库容器。
两个容器的版本必须相同。
DLS 应用程序容器和 PostgreSQL 数据库容器共享一个通用卷,用于在它们之间交换信息。如果两个容器都部署在多节点集群上,则它们必须在同一个工作节点上运行。
2.6.2. 设置容器化 DLS 软件映像的属性
要启用与运行 DLS 设备的容器内的通信,您必须设置属性,例如主机名、IP 地址和端口号。在受支持的平台上部署容器化 DLS 软件映像之前设置这些属性。
通过编辑容器编排平台的相应部署文件来设置容器化 DLS 软件映像的属性。
容器编排平台 | 文件 |
---|---|
Docker | docker-compose.yml |
Kubernetes | nls-si-0-deployment.yaml |
Podman | nls-si-0-deployment/compose.yml |
Red Hat OpenShift Container Platform | nls-si-0-deployment.yaml |
VMware Tanzu Application Platform | nls-si-0-deployment.yaml |
2.6.2.1. 设置环境变量以指定字符串属性
您可以设置环境变量来为所有受支持的容器编排平台指定字符串属性。
通过编辑容器平台的部署文件的相应部分来设置环境变量以指定字符串属性。
部署文件 | 要编辑的部分 |
---|---|
docker-compose.yml | environment |
nls-si-0-deployment/compose.yml | environment |
nls-si-0-deployment.yaml | - env |
用于指定字符串属性的环境变量如下
- 必需:
DLS_DB_HOST
- 数据库容器的 IP 地址。
确保数据库容器的 IP 地址是与 DLS 设备容器在同一子网上的私有 IP 地址。数据库容器不得通过任何公共子网访问。
- 必需:
DLS_PUBLIC_IP
- 容器编排平台的 IP 地址。要访问 NVIDIA 许可应用程序,用户需要连接到部署了 DLS 软件镜像的容器,连接地址为此 IP 地址。
- 可选:
DLS_PRIVATE_HOSTNAME
- 部署了 DLS 软件镜像的容器的主机名。
如果未设置此环境变量,容器编排平台会将主机名设置为容器 ID。
- 可选:
FQDN
- 完全限定域名,它映射到
DLS_PUBLIC_IP
环境变量指定的 IP 地址。确保许可客户端可以解析此名称。 不要指定只能由容器编排器解析的名称。
如果未设置此环境变量,用户无法通过完全限定域名连接到部署了 DLS 软件镜像的容器。
2.6.2.2. 将整数值指定为环境变量
您可以为 Docker、Podman、Red Hat OpenShift Container Platform 和 VMware Tanzu Application Platform 等平台将端口号等整数值指定为环境变量。
Kubernetes 不接受字符串作为整数值。因此,您不能为 Kubernetes 将整数值指定为环境变量。相反,您必须按照将整数值指定为实际值中的说明,为 Kubernetes 指定整数值。
要通过设置环境变量来指定整数值,请编辑您的容器平台的部署文件中相应的节。
部署文件 | 要编辑的部分 |
---|---|
docker-compose.yml | environment |
nls-si-0-deployment/compose.yml | environment |
nls-si-0-deployment.yaml | - env |
以下环境变量适用于 Docker、Red Hat OpenShift Container Platform 和 VMware Tanzu Application Platform
- 可选:
CPU_CORE_LIMIT
- 可以分配给 DLS 设备容器 Pod 的最大 CPU 核心数。
默认值:4
- 可选:
DLS_HA_MAX_NODES_ENV
- 集群中要添加此实例的最大实例数。
-
允许的值:2-9
默认值:2
- 可选:
DLS_HTTP_PORT
- 部署了 DLS 软件镜像的容器监听 HTTP 请求的端口。
默认值:80
- 可选:
DLS_HTTPS_PORT
- 部署了 DLS 软件镜像的容器监听 HTTPS 请求的端口。
默认值:443
- 可选:
DLS_RABBITMQ_SSL_PORT
- DLS 实例 HA 集群中的节点通过此安全套接字层 (SSL) 端口相互通信。
默认值:5671
以下环境变量仅适用于 Red Hat OpenShift Container Platform 和 VMware Tanzu Application Platform
- 可选:
DLS_EXPOSED_HTTP_PORT
- 容器编排器监听的端口,并将请求转发到
DLS_HTTP_PORT
环境变量指定的端口。不适用于 Docker 或 Podman。
默认值:30000
- 可选:
DLS_EXPOSED_HTTPS_PORT
- 容器编排器监听的端口,并将请求转发到
DLS_HTTP_PORTS
环境变量指定的端口。不适用于 Docker 或 Podman。
默认值:30001
- 可选:
DLS_VA_SERVICE_PORT
- DLS 设备容器绑定到的容器编排器中的端口。
不适用于 Docker 或 Podman。
默认值:8085
2.6.2.3. 将整数值指定为实际值
Kubernetes 不接受字符串作为整数值。因此,您不能为 Kubernetes 将整数值指定为环境变量。相反,您必须为 Kubernetes 将整数值指定为实际值。
要将整数值指定为实际值,请在 nls-si-0-deployment.yaml 和 nls-si-0-service.yaml 部署文件的 ports:
部分中,将对环境变量的引用替换为实际值。
- 在 nls-si-0-deployment.yaml 中,
ports:
部分中对环境变量的引用如下:ports: - containerPort: ${DLS_HTTP_PORT:-80} hostPort: ${DLS_EXPOSED_HTTP_PORT:-80} - containerPort: ${DLS_HTTPS_PORT:-443} hostPort: ${DLS_EXPOSED_HTTPS_PORT:-443} - containerPort: ${DLS_RABBITMQ_SSL_PORT:-5671} hostPort: ${DLS_RABBITMQ_SSL_PORT:-5671} - containerPort: 8085 hostPort: ${DLS_VA_SERVICE_PORT:-8085}
- 在 nls-si-0-service.yaml 中,
ports:
部分中对环境变量的引用如下:ports: - name: "DLS_HTTP_CONTAINER" port: ${DLS_HTTP_PORT:-80} targetPort: ${DLS_HTTP_PORT:-80} nodePort: ${DLS_EXPOSED_HTTP_PORT:-30000} - name: "DLS_HTTPS_CONTAINER" port: ${DLS_HTTPS_PORT:-443} targetPort: ${DLS_HTTPS_PORT:-443} nodePort: ${DLS_EXPOSED_HTTPS_PORT:-30001} - name: "DLS_RABBITMQ_SSL_PORT" port: ${DLS_RABBITMQ_SSL_PORT:-5671} targetPort: ${DLS_RABBITMQ_SSL_PORT:-5671} nodePort: ${DLS_RABBITMQ_SSL_PORT:-5671} - name: "DLS_VA_SERVICE_PORT" port: 8085 targetPort: 8085 nodePort: ${DLS_VA_SERVICE_PORT:-8085}
用于替换这些环境变量引用的值如下:
- 两个文件:
${DLS_HTTP_PORT:-80}
- 部署了 DLS 软件镜像的容器监听 HTTP 请求的端口。
- nls-si-0-deployment.yaml:
${DLS_EXPOSED_HTTP_PORT:-80}
- nls-si-0-service.yaml:
${DLS_EXPOSED_HTTP_PORT:-30000}
- 容器编排器监听的端口,并将请求转发到
DLS_HTTP_PORT
环境变量指定的端口。 - 两个文件:
${DLS_HTTPS_PORT:-443}
- 部署了 DLS 软件镜像的容器监听 HTTPS 请求的端口。
- nls-si-0-deployment.yaml:
${DLS_EXPOSED_HTTPS_PORT:-443}
- nls-si-0-service.yaml:
${DLS_EXPOSED_HTTPS_PORT:-30001}
- 容器编排器监听的端口,并将请求转发到
DLS_HTTP_PORTS
环境变量指定的端口。 - 两个文件:
${DLS_RABBITMQ_SSL_PORT:-5671}
- DLS 实例 HA 集群中的节点通过此安全套接字层 (SSL) 端口相互通信。
- 两个文件:
${DLS_VA_SERVICE_PORT:-8085}
- DLS 设备容器绑定到的容器编排器中的端口。
此示例显示了 nls-si-0-deployment.yaml 和 nls-si-0-service.yaml 部署文件中 ports:
部分,其中对环境变量的引用已替换为实际值。
- 在 nls-si-0-deployment.yaml 中,
ports:
部分如下:ports: - containerPort: 80 hostPort: 80 - containerPort: 443 hostPort: 443 - containerPort: 5671 hostPort: 5671 - containerPort: 8085 hostPort: 8085
- 在 nls-si-0-service.yaml 中,
ports:
部分如下:ports: - name: "DLS_HTTP_CONTAINER" port: 80 targetPort: 80 nodePort: 30000 - name: "DLS_HTTPS_CONTAINER" port: 443 targetPort: 443 nodePort: 30001 - name: "DLS_RABBITMQ_SSL_PORT" port: 5671 targetPort: 5671 nodePort: 30002 - name: "DLS_VA_SERVICE_PORT" port: 8085 targetPort: 8085 nodePort: 30003
2.6.3. 在受支持的平台上部署容器化的 DLS 软件镜像
容器化的 DLS 软件镜像随附了适用于多个容器编排平台的默认部署文件。您可以使用容器编排平台的标准接口,在您选择的平台上部署容器化的 DLS 软件镜像。
每个受支持的容器编排平台的默认部署文件都指定了容器的资源预留,这些资源预留列在DLS 虚拟设备或容器化 DLS 软件镜像的平台要求中。部署容器化的 DLS 软件镜像时,您无需指定容器的资源预留。请按照您使用的容器编排平台的说明进行操作。
容器编排平台 | 操作说明 |
---|---|
Docker | 在 Docker 上部署容器化的 DLS 软件镜像 |
Kubernetes | 在 Kubernetes 平台上部署容器化的 DLS 软件镜像 |
Podman | 在 Podman 上部署容器化的 DLS 软件镜像 |
Red Hat OpenShift Container Platform | 在 Kubernetes 平台上部署容器化的 DLS 软件镜像 |
VMware Tanzu Application Platform | 在 Kubernetes 平台上部署容器化的 DLS 软件镜像 |
2.6.3.1. 在 Docker 上部署容器化的 DLS 软件镜像
确保已按照为容器化的 DLS 软件镜像设置属性中的说明设置了所需的环境变量。
- 导入 DLS 设备工件和 PostgreSQL 数据库工件。
- 导入 DLS 设备工件。
docker load --input dls_appliance_3.4.1.tar.gz
- 导入 PostgreSQL 数据库工件。
$ docker load --input dls_pgsql_3.4.1.tar.gz
- 导入 DLS 设备工件。
- 切换到包含 docker-compose.yml 文件的目录。
- 启动 DLS 设备和 PostgreSQL 数据库容器。
$ docker-compose up
2.6.3.2. 在 Kubernetes 平台上部署容器化的 DLS 软件镜像
如果您使用的是 Kubernetes、Red Hat OpenShift Container Platform 或 VMware Tanzu Application Platform,请执行此任务。
确保满足以下先决条件:
- 已按照为容器化的 DLS 软件镜像设置属性中的说明设置了所需的环境变量。
- 已为 DLS 设备工件和 PostgreSQL 数据库工件创建了私有仓库。
- 如果需要注册表密钥才能从私有仓库拉取工件,则已创建了注册表密钥。
在 DLS 设备工件和 PostgreSQL 数据库工件的部署文件中,注册表密钥的名称预设为
registry-secret
。如果您使用此名称创建密钥,则无需编辑部署文件来引用该密钥。
DLS 应用程序容器和 PostgreSQL 数据库容器共享一个通用卷,用于在它们之间交换信息。如果两个容器都部署在多节点集群上,则它们必须在同一个工作节点上运行。
- 将 DLS 设备工件和 PostgreSQL 数据库工件导入您的私有仓库。
- 编辑 DLS 设备工件和 PostgreSQL 数据库工件的部署文件,以从导入工件的私有仓库中拉取这些工件。在每个文件中,将字符串
<POPULATE THIS WITH PRIVATE REPOSITORY>
替换为私有仓库的名称。- 对于 DLS 设备工件,请编辑文件 nls-si-0-deployment.yaml 中的以下行:
image: <POPULATE THIS WITH PRIVATE REPOSITORY>:appliance
- 对于 PostgreSQL 数据库工件,请编辑文件 postgres-nls-si-0-deployment.yaml 中的以下行:
image: <POPULATE THIS WITH PRIVATE REPOSITORY>:pgsql
- 对于 DLS 设备工件,请编辑文件 nls-si-0-deployment.yaml 中的以下行:
- 如果需要注册表密钥才能从私有仓库拉取工件,请编辑 DLS 设备工件和 PostgreSQL 数据库工件的部署文件以引用该密钥。在每个文件中,将字符串
registry-secret
替换为您的注册表密钥的名称。- 对于 DLS 设备工件,请编辑文件 nls-si-0-deployment.yaml。
- 对于 PostgreSQL 数据库工件,请编辑文件 postgres-nls-si-0-deployment.yaml。
- 使用提供的部署文件 postgres-nls-si-0-deployment.yaml 启动 PostgreSQL 数据库容器 Pod。
$ kubectl create -f directory/postgres-nls-si-0-deployment.yaml
- 目录
- 包含文件 postgres-nls-si-0-deployment.yaml 的目录的完整路径。
- 获取 PostgreSQL 数据库容器 Pod 的 IP 地址。
$ kubectl get pods -o wide
- 在文件 nls-si-0-deployment.yaml 中,将
DLS_DB_HOST
环境变量设置为您在上一步中获取的 IP 地址。注意为了使 DLS 设备容器 Pod 能够在映射到它的卷上创建和修改文件,请确保在这些卷上设置了所需的文件访问权限。
- 使用提供的部署文件 nls-si-0-deployment.yaml 启动 DLS 设备容器 Pod。
$ kubectl create -f directory/nls-si-0-deployment.yaml
- 目录
- 包含文件 nls-si-0-deployment.yaml 的目录的完整路径。
2.6.3.3. 在 Podman 上部署容器化的 DLS 软件镜像
确保已按照为容器化的 DLS 软件镜像设置属性中的说明设置了所需的环境变量。
- 导入 DLS 设备工件和 PostgreSQL 数据库工件。
- 导入 DLS 设备工件。
$ podman load --input dls_appliance_3.4.1.tar.gz
- 导入 PostgreSQL 数据库工件。
$ podman load --input dls_pgsql_3.4.1.tar.gz
- 导入 DLS 设备工件。
- 切换到 podman 目录。
- 可选:编辑 postgres-nls-si-0-deployment/compose.yml 文件以自定义您要用于创建
postgres-nls-si-0-deployment_back-tier
网络的子网。默认情况下,postgres-nls-si-0-deployment_back-tier
网络使用以下子网创建:- IPv4:
172.16.238.0/28
- IPv6:
2001:3984:3989::/64
- IPv4:
- 创建
postgres-nls-si-0-deployment_back-tier
网络、configurations 卷映射和 postgres-data 卷映射,并部署 PostgreSQL 数据库容器。$ podman-compose -f postgres-nls-si-0-deployment/compose.yml up -d
有关 configurations 和 postgres-data 卷映射的信息,请参阅容器化 DLS 软件镜像的卷映射。
- 确认
postgres-nls-si-0-deployment_back-tier
网络、configurations 卷映射和 postgres-data 卷映射已创建,并且 PostgreSQL 数据库容器已部署。- 确认
postgres-nls-si-0-deployment_back-tier
网络已创建。# podman network ls NETWORK ID NAME DRIVER 2f259bab93aa podman bridge 272c45824a80 postgres-nls-si-0-deployment_back-tier bridge
- 确认
postgres-nls-si-0-deployment_back-tier
网络的属性(例如,其子网)正确。# podman network inspect postgres-nls-si-0-deployment_back-tier [ { "name": "postgres-nls-si-e-deployment_back-tier”, "id": "272cu5824a80fd8117261f28e820f920999fudes6a03ua78lesecf1015a76201", "driver": "bridge", "network_interface": "cni-podmanl", "created": "2023-03-08T07:42:03.88777482", "subnets": [ { "subnet": "172.16.238.0/28", "gateway": "172.16.238.1" }, { "subnet": "2001:3984:3989::/64", "gateway": "2001:3984:3989::1" } ], "ipv6_enabled": true, "internal": false, "dns_enabled": true, "labels": { "com.docker.compose.project": "postgres-nls-si-0-deployment", "io.podman.compose.project": "postgres-nls-si-0-deployment" }, "ipam_options": { "driver": "host-local" } } ]
- 确认 configurations 卷映射和 postgres-data 卷映射已创建。
# podman volume ls DRIVER VOLUME NAME local configurations local postgres-data
- 确认 PostgreSQL 数据库容器已部署。
# podman container ls
- 确认
- 获取 PostgreSQL 数据库容器 Pod 的 IP 地址。
$ podman inspect postgres-nls-si-0-deployment_postgres-nls-si-0_1
- 在文件 nls-si-0-deployment/compose.yml 中,将
DLS_DB_HOST
环境变量设置为您在上一步中获取的 IP 地址。 - 创建 logs 卷映射和 rabbitmq_data 卷映射,并部署 DLS 设备容器。
$ podman-compose -f nls-si-0-deployment/compose.yml up -d
有关 logs 和 rabbitmq_data 卷映射的信息,请参阅容器化 DLS 软件镜像的卷映射。
- 确认 logs 卷映射和 rabbitmq_data 卷映射已创建,并且 DLS 设备容器已部署。
- 确认 logs 卷映射和 rabbitmq_data 卷映射已创建。
# podman volume ls DRIVER VOLUME NAME ... local logs ... local rabbitmq_data
- 确认 DLS 设备容器已部署。
# podman container ls
- 确认 logs 卷映射和 rabbitmq_data 卷映射已创建。
2.6.4. 容器化 DLS 软件镜像的卷映射
部署容器化的 DLS 软件镜像时,将创建多个卷映射,以维护 DLS 设备中 NVIDIA 许可应用程序的状态。
卷到容器文件系统的映射可以在相应的部署文件中找到,具体取决于容器化设备部署在哪个编排平台之上。
创建的卷映射如下:
- configurations
- 包含 DLS 设备容器的状态,以便在容器发生故障时可以检索其动态属性。
- logs
- 包含 DLS 设备中 NVIDIA 许可应用程序创建的日志文件。
- postgres-data
- 包含 PostgreSQL 数据库创建的 NVIDIA 许可应用程序数据。由于此卷包含有关可用许可证和已检出许可证的信息,请确保限制对此卷的访问。
- rabbitmq_data
- 包含有关 DLS 实例 HA 集群中节点之间数据实时复制的信息。
这些卷映射维护 DLS 设备中 NVIDIA 许可应用程序的状态。因此,不要修改这些卷映射。
2.6.5. 容器化 DLS 软件镜像部署问题故障排除
2.6.5.1. 容器化的 DLS 设备在 Kubernetes 平台上启动失败
发生此问题时,服务会进入崩溃循环、容器创建、挂起序列,然后容器进入错误状态。
此问题可能会影响 Kubernetes、Red Hat OpenShift Container Platform 或 VMware Tanzu Application Platform。它不影响 Docker。
- 确保卷上的文件访问权限允许数据库容器和 DLS 设备容器写入访问,例如
707 (rwx---rwx)
。 - 如果容器化的 DLS 软件镜像部署在多节点集群上,请确保数据库容器和 DLS 设备容器在同一工作节点上运行。
- 如果 Kubernetes 集群在创建持久卷声明时未动态配置持久卷,请确保手动创建持久卷,并设置文件访问权限,以允许数据库容器和 DLS 设备容器写入这些卷。
- 确保数据库容器和 DLS 设备容器的版本相同。
2.6.5.2. Kubernetes 平台上 DLS 设备资源的卷模式访问不正确
DLS 应用程序容器和 PostgreSQL 数据库容器共享一个公共卷,用于在它们之间交换信息。如果卷模式访问不正确,则只有第一个启动的容器 Pod 才能成功启动。其余容器 Pod 启动失败,因为该卷已挂载在第一个启动的容器 Pod 上。
此问题可能会影响 Kubernetes、Red Hat OpenShift Container Platform 或 VMware Tanzu Application Platform。它不影响 Docker。
- 如果两个容器都部署在多节点集群上,请确保 DLS 应用程序容器和 PostgreSQL 数据库容器在同一工作节点上运行。
- 确保在 DLS 设备容器 Pod 之前启动 PostgreSQL 数据库容器 Pod。有关更多信息,请参阅在 Kubernetes 平台上部署容器化的 DLS 软件镜像。
2.6.5.3. 数据验证错误阻止 Kubernetes 上的 DLS 设备容器 Pod 启动
如果在部署文件中将端口号指定为对环境变量的引用,则会发生此问题。由于 Kubernetes 不接受端口号的字符串值,因此您不能通过设置环境变量来为 Kubernetes 指定端口号。
此问题可能会影响 Kubernetes。它不影响其他受支持的容器编排平台。发生此问题时,将显示以下错误消息:
error: error validating ".": error validating data:[
ValidationError(Deployment.spec.template.spec.containers[0].ports[0].containerPort):
invalid type for io.k8s.api.core.v1.ContainerPort.containerPort: got "string", expected "integer",
ValidationError(Deployment.spec.template.spec.containers[0].ports[0].hostPort):
invalid type for io.k8s.api.core.v1.ContainerPort.hostPort: got "string", expected "integer",
ValidationError(Deployment.spec.template.spec.containers[0].ports[1].containerPort):
invalid type for io.k8s.api.core.v1.ContainerPort.containerPort: got "string", expected "integer",
ValidationError(Deployment.spec.template.spec.containers[0].ports[1].hostPort):
invalid type for io.k8s.api.core.v1.ContainerPort.hostPort: got "string", expected "integer",
ValidationError(Deployment.spec.template.spec.containers[0].ports[2].containerPort):
invalid type for io.k8s.api.core.v1.ContainerPort.containerPort: got "string", expected "integer",
ValidationError(Deployment.spec.template.spec.containers[0].ports[2].hostPort):
invalid type for io.k8s.api.core.v1.ContainerPort.hostPort: got "string", expected "integer",
ValidationError(Deployment.spec.template.spec.containers[0].ports[3].hostPort):
invalid type for io.k8s.api.core.v1.ContainerPort.hostPort: got "string", expected "integer"];
- 编辑部署文件,将端口号指定为整数值,而不是对环境变量的引用。有关说明,请参阅将整数值指定为实际值。
- 使用提供的部署文件 nls-si-0-deployment.yaml 启动 DLS 设备容器 Pod。
$ kubectl create -f directory/nls-si-0-deployment.yaml
- 目录
- 包含文件 nls-si-0-deployment.yaml 的目录的完整路径。
2.6.5.4. NVIDIA 许可应用程序的管理界面加载失败
发生此问题时,容器化的 DLS 设备已正确启动,但 NVIDIA 许可应用程序的管理界面未加载到浏览器中。
- 确保
DLS_DB_HOST
环境变量设置为数据库容器的 IP 地址。 - 确保在部署文件中设置的端口映射的环境变量正确,并且这些端口在 Kubernetes 节点上已打开。
- 确保
DLS_EXPOSED_HTTPS_PORT
环境变量指定的端口在托管 DLS 设备容器的节点上的防火墙中已打开。 - 如果 Kubernetes 集群在创建持久卷声明时未动态配置持久卷,请确保手动创建持久卷,并设置文件访问权限,以允许数据库容器和 DLS 设备容器写入这些卷。
- 确保数据库容器和 DLS 设备容器的版本相同。
2.6.5.5. HA 配置或在线升级失败
如果端口映射或卷配置不正确,则两个容器化的 DLS 设备之间的 HA(高可用性)配置或在线升级将失败。
- 确保两个容器都暴露和映射了相同的内部端口。以下环境变量对于两个容器必须相同:
-
DLS_EXPOSED_HTTP_PORT
-
DLS_EXPOSED_HTTPS_PORT
-
- 确保两个容器的
DLS_RABBITMQ_SSL_PORT
环境变量都设置为 5671 - 确保容器化 DLS 设备部署在其中的容器中,端口 5671、8081 和 8084 已打开。
- 确保每个工作节点上端口 8080 到 8085 已打开。
- 确保 rabbitmq-data、postgres-data、logs 和 configurations 卷的大小等于或超过最小建议存储空间。
平台 文件 Docker docker-compose.yml Kubernetes nls-si-0-deployment.yaml Podman compose.yml Openshift nls-si-0-deployment.yaml Tanzu nls-si-0-deployment.yaml 卷 最小建议存储空间 rabbitmq-data 2 GiB postgres-data 10 GiB logs 500 MiB configurations 1 GiB - 确保 rabbitmq-data 卷内文件夹上的文件访问权限允许容器写入访问。
2.6.5.6. Windows 客户端无法退回许可证,因为退回端点不可用
获得许可的 Windows 客户端通过向端口 80 上的 DLS 实例发送 HTTP 请求来退回许可证。如果部署了容器化 DLS 设备的容器编排器无法在此端口上接收请求,则客户端无法退回许可证。
如何解决此问题取决于您是否可以控制容器编排器监听 HTTP 请求的端口。
- 如果您可以控制容器编排器监听来自许可客户端的 HTTP 请求的端口,请确保
DLS_EXPOSED_HTTP_PORT
环境变量设置为 80。 - 否则,请使用负载均衡器对所有许可证退回请求执行基于路径的路由,路由到 URL
https://<i>dls-ip-address</i>:<i>dls-exposed-https-port</i>/leasing/v1/lessor/shutdown
- dls-ip-address
DLS_PUBLIC_IP
环境变量中指定的 IP 地址。- dls-exposed-https-port
DLS_EXPOSED_HTTPS_PORT
环境变量中指定的端口号。
有关这些环境变量的更多信息,请参阅为容器化的 DLS 软件镜像设置属性。
2.6.5.7. 如果客户端配置令牌指定域名,则客户端无法获取许可证
如果客户端配置令牌指定完全限定域名,则容器化的 DLS 实例的配置错误可能会阻止许可客户端获取许可证。但是,如果客户端配置令牌指定 IP 地址,则此错误不会阻止客户端获取许可证。
- 将
FQDN
环境变量设置为映射到部署了 DLS 软件镜像的容器的 IP 地址的完全限定域名。确保许可客户端可以解析此名称。 不要指定只能由容器编排器解析的名称。
- 重新启动部署了 DLS 设备的容器。
2.6.5.8. 服务实例页面中缺少节点运行状况信息
容器化的 DLS 实例的存储空间不足可能会阻止节点运行状况信息显示在 NVIDIA 许可应用程序管理服务的“服务实例”页面上。
- 强制重新加载浏览器中的“服务实例”页面。
- 如果在页面重新加载后节点运行状况信息仍然缺失,请检查为 DLS 设备容器创建的卷中的可用存储空间量。有关这些卷的更多信息,请参阅容器化 DLS 软件镜像的卷映射。
- 如果任何卷已满,请调整卷大小,然后重新启动部署了 DLS 设备的容器。
2.6.5.9. podman-compose 命令因缺少网络错误而失败
在某些部署中,podman-compose up
命令可能会因错误 RuntimeError: missing networks: back-tier
而失败。
此故障是由 Podman Compose 1.0.3 及更早版本中的已知问题引起的。
确保您使用的是NVIDIA Delegated License Service 发行说明中列出的受支持的 Podman Compose 版本之一。如有必要,请从 GitHub 安装最新版本的 Podman。
# pip3 install https://github.com/containers/podman-compose/archive/devel.tar.gz
2.6.5.10. 在 Red Hat OpenShift Container Platform 上重新部署容器化的 DLS 软件镜像失败
在 Red Hat OpenShift Container Platform 上重新部署容器化的 DLS 软件镜像可能会失败,因为权限问题阻止了新 PostgreSQL 数据库容器的部署。此问题可能会导致就地升级失败,因为就地升级需要重新部署容器化的 DLS 软件镜像。
发生此问题时,将显示以下错误消息:
chown: /etc/dls/config/ldap3-2.9.1.dist-info: Permission denied
chown: /etc/dls/config/ldap3: Permission denied
chown: /etc/dls/config/chardet-4.0.0.dist-info: Permission denied
chown: /etc/dls/config/chardet: Permission denied
chown: /etc/dls/config/certifi-2022.12.7.dist-info: Permission denied
chown: /etc/dls/config/certifi: Permission denied
- 切换到配置卷挂载的目录。
- 切换到 /etc/dls/config/ 目录。
$ cd /etc/dls/config/
- 强制删除拒绝访问权限的目录及其内容。
$ \rm -rf ldap3-2.9.1.dist-info ldap3 \ chardet-4.0.0.dist-info chardet \ certifi-2022.12.7.dist-info certifi
- 再次尝试在 Red Hat OpenShift Container Platform 上部署容器化的 DLS 软件镜像。有关详细说明,请参阅在 Kubernetes 平台上部署容器化的 DLS 软件镜像。
2.6.5.11. 容器化的 DLS 设备在 Openshift 平台上启动失败
容器化的 DLS 设备在 Openshift 平台上启动失败,并显示“错误:名为路径 /var/log/supervisor/supervisord.log
一部分的目录不存在”。
- 导航到 logs 卷并创建文件夹 supervisor 和 nginx 。
- 确保日志卷上的文件访问权限允许 DLS 设备容器写入访问,例如
$ 707 (rwx---rwx)
2.7. 在 Red Hat Enterprise Linux 操作系统上安装 DLS 软件镜像
对于在受支持的操作系统上的安装,NVIDIA 许可系统的 Delegated License Server (DLS) 组件以可安装软件包的形式提供。该软件包包含在操作系统上运行 NVIDIA 许可应用程序所需的容器化软件和容器镜像。操作系统可以运行在您选择的 hypervisor 的虚拟化服务器环境中,也可以运行在裸机服务器上。
确保您要在其上安装 DLS 软件镜像的服务器至少有 15 GB 的可用磁盘空间。
Red Hat Enterprise Linux 操作系统的 DLS 软件镜像 ZIP 存档包含以下工件:
- Docker 容器编排器 RPM 软件包
- 设备容器镜像
- 数据库容器镜像
- 应用程序容器镜像
- 带有辅助脚本的安装脚本
- README 文件
- VERSION 文件
- 将 ZIP 存档的内容解压到本地文件夹。
- 更新 installApplicance.sh 文件的文件访问权限,以允许执行权限。
$ chmod +x installAppliance.sh
- 运行 installApplicance.sh 安装脚本。
- 安装完成后,确认控制台上的消息指示 NVIDIA 许可应用程序已启动。
2.8. 在 DLS 虚拟设备上配置用户帐户
每个 DLS 软件镜像都配置有一个用于访问 DLS 设备的标准用户帐户,以及一个具有 sudo 用户权限的帐户,用于安装 DLS 设备软件的更新。对这些帐户的修改受到严格控制。您不能向软件镜像添加其他用户帐户。但是,您可以使用轻型目录访问协议 (LDAP) 目录来代替配置的帐户,以便管理用户对 DLS 设备的访问。
用户帐户 | 用途 |
---|---|
dls_admin | DLS 管理员帐户。此帐户通过基于 Web 的管理界面提供对 DLS 虚拟设备上的 NVIDIA 许可应用程序的访问。DLS 管理员用户名可以从预设的 dls_admin 名称更改。 |
rsu_admin | DLS sudo 用户帐户。此用户帐户具有安装 NVIDIA 定期发布的 DLS 设备软件更新所需的提升权限。为了遵守 GPL/LGPL v3 许可条款,根据该条款,DLS 虚拟设备中的 GPL/LGPL v3 许可的开源软件 (OSS) 库被发布,此帐户还具有更新和升级这些库所需的提升权限。 注意
此帐户不适用于容器化的 DLS 软件镜像。 |
2.8.1. 注册 DLS 管理员用户
每个 DLS 虚拟设备都配置了一个专门用于管理 DLS 的用户帐户。此帐户通过基于 Web 的管理界面提供对设备上的 NVIDIA 许可应用程序的访问。在管理 DLS 虚拟设备之前,您必须注册此用户才能访问此管理界面。
如果您打算配置 DLS 实例集群,则只需为您将从中配置集群的 DLS 实例执行此任务。当您配置集群时,DLS 管理员用户的注册将从此实例传播到其他实例。
- 打开 Web 浏览器并连接到 URL
https://<i>dls-vm-ip-address</i>
。- dls-vm-ip-address
- 安装了 DLS 虚拟设备的 VM 的 IP 地址,或者如果已定义,则为完全限定域名或 CNAME。
您可以从 hypervisor 的管理控制台获取 IP 地址。
- 在打开的“设置”页面上,单击全新安装。
- 在打开的“注册用户”页面上,提供 DLS 管理员用户的凭据。注意
如果 DLS 管理员用户已注册,则会打开登录页面,而不是“注册用户”页面。
- 可选:如果您想将用户名从预设名称 dls_admin 更改,请将用户名字段中的文本替换为您选择的用户名。
- 为 DLS 管理员用户提供密码并确认密码。密码长度必须至少为八个字符,并且区分大小写。
注意您可以在 DLS 管理员用户注册后的任何时间更改 DLS 管理员用户名和密码。有关说明,请参阅更改 DLS 管理员用户名和密码。
- 确定您是否要启用可以访问 DLS 虚拟设备的日志文件的其他用户。
- 如果您想要启用此附加用户,请确保创建诊断用户选项保持选中状态。
- 否则,请取消选择创建诊断用户选项。
- 单击注册。“注册用户”页面将刷新以确认用户已注册,并显示本地重置密钥,使您可以重置用户的密码。
- 复制本地重置密钥并安全地存储它,例如,通过单击剪贴板图标并将本地重置密钥粘贴到只有您可以读取的纯文本文件中。您将需要此密钥来重置 DLS 管理员用户的密码。
- 单击继续登录。
- 在打开的登录页面上,键入 DLS 管理员用户的用户名,提供您为此用户设置的密码,然后单击登录。
如果您想将虚拟设备用于单个 DLS 实例,则下一步操作取决于您是否打算为托管 DLS 实例的虚拟设备使用静态 IP 地址。
-
如果您想在 DLS 实例的 HA 集群中使用虚拟设备,请按照配置 DLS 实例的 HA 集群中的说明配置集群。
-
如果您想为托管 DLS 实例的虚拟设备使用静态 IP 地址,请按照设置 DLS 虚拟设备的静态 IP 地址中的说明设置地址。
-
否则,请按照配置服务实例中的说明配置 DLS 实例。
如果您需要重置 DLS 管理员用户的密码,请单击登录页面上的忘记密码?链接,并在出现提示时,键入本地重置密钥,为此用户提供新密码,并确认新密码。
2.8.2. 检索 DLS 管理员用户的重置密钥
如果您需要重置 DLS 管理员用户的密码,但没有本地重置密钥,您可以从 NVIDIA Licensing Portal 下载重置密钥。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 在左侧导航窗格中,单击服务实例。
- 在打开的服务实例页面上的服务实例列表中,从 DLS 实例的操作菜单中,选择下载重置密钥。(请注意,菜单太窄,因此文本被截断。)
- 出现提示时,单击下载。名为 dls_local_reset_secret_mm-dd-yyyy-hh-mm-ss.tok 的文件将保存到您的默认下载文件夹中。
重置 DLS 管理员用户的密码时,将重置密钥上传到 DLS 实例。
2.8.3. 更改 DLS 管理员用户名和密码
如果您选择在注册 DLS 管理员用户时不更改 DLS 管理员用户名,则可以在 DLS 管理员用户注册后的任何时间更改它。您也可以更改 DLS 管理员用户的密码。
- 打开 Web 浏览器并连接到 URL
https://<i>dls-vm-ip-address</i>
。- dls-vm-ip-address
- 安装了 DLS 虚拟设备的 VM 的 IP 地址,或者如果已定义,则为完全限定域名或 CNAME。
您可以从 hypervisor 的管理控制台获取 IP 地址。
- 在 DLS 设备上 NVIDIA Licensing 应用程序的仪表板页面右上角,单击查看设置。
- 在打开的“我的信息”窗口中,单击更改用户名/密码。
- 在打开的“更改用户名/密码”窗口中,进行您想要的更改,然后单击更改用户名/密码。
- 如果您要更改用户名,请将用户名字段中的文本替换为您选择的用户名。
- 在当前密码文本输入字段中,键入 DLS 管理员用户的当前密码。
- 在新密码文本输入字段中,键入您想要用于 DLS 管理员用户的密码。如果您不想更改密码,请键入 DLS 管理员用户的当前密码。您不能将此字段留空。
- 在确认新密码文本输入字段中,键入您在新密码文本输入字段中键入的密码。
2.8.4. 创建 DLS sudo 用户帐户
预定义的 DLS sudo 用户帐户 rsu_admin
具有安装 NVIDIA 定期发布的 DLS 设备软件更新所需的提升权限。为了遵守 GPL/LGPL v3 许可的条款,DLS 虚拟设备中的 GPL/LGPL v3 许可的开源软件 (OSS) 库根据该许可发布,此帐户还具有更新和升级这些库所需的提升权限。
为您要创建 DLS sudo 用户帐户的每个 DLS 虚拟设备执行此任务。如果 DLS 虚拟设备托管 HA 集群中的节点,则用户的创建不会自动传播到集群中的其他节点。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
- 从虚拟机管理程序,以用户 dls_admin 身份登录到托管 DLS 虚拟设备的虚拟机。
- 运行 /etc/adminscripts/enable_sudo.sh 脚本。
$ /etc/adminscripts/enable_sudo.sh
- 出现提示时,为
rsu_admin
用户提供密码。
将创建具有提升权限的 sudo 用户 rsu_admin
。
2.8.5. 将 DLS 实例与 LDAP 服务器集成
您可以使用轻型目录访问协议 (LDAP) 目录代替配置的帐户来管理用户对 DLS 设备的访问。当与 LDAP 服务器集成时,DLS 设备使用 Windows 质询/响应(以前称为 NT(新技术)LAN 管理器,(NTLM))进行用户身份验证。
dls_diagnostics 和 dls_system 用户已被默认用户替换,默认用户是 dls_admin 用户。对于 DLS 的初始安装以及在 UI 上注册之前,dls_admin 用户的默认密码为 welcome。一旦在门户上完成注册,可以使用相同的密码和用户名从虚拟机管理程序控制台登录到 VM 设备。
- 由于 DLS 3.X 中使用了新的用户角色,因此必须重置 dls_admin 的密码,才能在从 DLS 2.X 及更早版本迁移后登录到 DLS 设备的 CLI。
- dls_admin 用户具有与 dls_system 和 dls_diagnostics 相同的能力。换句话说,所有用户都能够配置设备网络属性、启用 sudo 用户、配置磁盘扩展、查看日志文件、配置文件等。
- rsu_admin 用户角色将用于就地升级、应用安全补丁和执行 NVIDIA 提供的脚本。除非用于基于操作系统的软件包更新,否则情况如此;在这种情况下,无需担心 DLS 支持。
如果您想启用安全 LDAP (LDAPS),请确保满足以下先决条件
-
您已获得正确格式的所需证书文件。
对于 TLS 证书,身份验证证书是 Base-64 编码的 X.509 (.cer) 格式的根 CA 证书。
- 证书文件具有正确的文件名。
证书文件 文件名 TLS 证书
(Base-64 编码的 X.509 格式的根 CA 服务器证书)
扩展名为 .cer 的证书 有关 LDAP 的更多信息,请参阅 。
- 登录到您正在与 LDAP 目录集成的 DLS 虚拟设备。
- 在左侧导航窗格中,单击设置。可以在打开的服务实例设置页面上完成集成配置。
- 在配置 LDAP 集成时,对于 DLS VM 设备,用户必须提供其他详细信息才能将 LDAP 与操作系统集成,以便 LDAP 用户可以使用 SSH 或虚拟机管理程序控制台登录到 VM 设备。有关与操作系统集成 LDAP 的更多设置,用户可以使用 dls_admin 用户从虚拟机管理程序控制台登录到 DLS 设备 VM,然后编辑文件
/etc/ldap.conf
- 可选:如果您想启用 LDAPS,请在服务实例设置页面上,单击使用安全 LDAP (LDAPS)?以测试 LDAPS 连接。
- 如果 LDAP 用户想要启用 sudo 用户 rsu_admin,他们必须执行管理员脚本
/etc/adminscripts/enable_sudo.sh
注意请注意,此脚本不会启用 rsu_admin 用户,但它将为当前登录的 LDAP 用户授予 1 小时的 sudo 权限。这仅在为 DLS 设备启用了 LDAP 集成时才会发生。
- 如果未为 DLS 设备配置 LDAP 集成,您可以通过执行以下脚本来创建具有 sudo 权限的 rsu_admin 用户帐户
/etc/adminscripts/enable_sudo.sh
2.8.6. 登录到 DLS 虚拟设备
每个 DLS 虚拟设备都配置了一个专门用于管理 DLS 的用户帐户。此帐户通过基于 Web 的管理界面提供对设备上 NVIDIA Licensing 应用程序的访问。
确保已为设备注册 DLS 管理员用户,如注册 DLS 管理员用户中所述。
- 打开 Web 浏览器并连接到 URL
https://<i>dls-vm-ip-address</i>
。- dls-vm-ip-address
- 安装了 DLS 虚拟设备的 VM 的 IP 地址,或者如果已定义,则为完全限定域名或 CNAME。
您可以从 hypervisor 的管理控制台获取 IP 地址。
- 在打开的登录页面上,提供 DLS 虚拟设备上 DLS 管理员用户的用户凭据,然后单击登录。
如果 LDAP 用作用户管理的固定用户帐户集的替代方案,您可以使用 rsu_admin 帐户来管理 DLS 虚拟设备。有关更多信息,请参阅将 DLS 实例与 LDAP 服务器集成。
2.8.7. 收集日志文件以进行分析和故障排除
要收集 DLS 虚拟设备的日志文件以进行问题排查,请使用 dls_admin 用户并运行 sudo /etc/adminscripts/collect_dls_logs.sh
命令。
collect_dls_logs.sh 脚本收集以下信息以进行分析
- 关键信息
- 来自 /proc/cpuinfo 的 CPU 信息
- 来自 /proc/meminfo 的 RAM 信息
- DLS 启动日志文件 /var/log/applicationStartup.log
- DLS VM 设备日志文件 /var/log/applianceOps.log
- IP 地址信息日志文件 /var/log/ip_address.log
- 磁盘消耗(使用量超过 100 MB 的目录和数据库磁盘消耗)和可用空间
- 两个容器的 Docker 日志
- 非关键日志
- Chrony、timesyncd 和 timedatectl 输出
- Syslog 信息
- 审计日志文件
- 服务日志文件
- DLS 服务的日志文件
2.9. 配置 DLS 实例的 HA 集群
为了在 DLS 实例发生故障时为获得许可的客户端提供对许可证的持续访问,您可以配置由两个或多个 DLS 实例组成的具有高可用性 (HA) 的故障转移集群。故障转移配置由主实例(主动为获得许可的客户端提供许可证服务)和一个或多个辅助实例(充当主实例的备份)组成。
如果您要配置容器化 DLS 实例的 HA 集群,则必须将托管实例的容器部署在不同的 Kubernetes 集群上。为了防止 NVIDA Licensing 应用程序行为异常,请不要将容器部署在同一 Kubernetes 集群中的不同工作节点上。应用程序行为会异常,因为编排器会将请求转发到映射到相应 Kubernetes 服务的端口。
如果配置容器化 DLS 实例的 HA 集群的尝试失败,请参阅HA 配置或在线升级失败以获取故障排除信息。
2.9.1. 设置 DLS 实例的最大集群大小
默认情况下,DLS 实例只能添加到两个实例的 HA 集群中。如果您想将 DLS 实例添加到超过两个 DLS 实例的集群中,则必须显式设置最大集群大小。
为 DLS 实例设置最大集群大小后,您将无法更改它。
如何为 DLS 实例设置最大集群大小取决于实例是基于 VM 的实例还是容器化实例。有关详细说明,请参阅
2.9.1.1. 为基于 VM 的 DLS 实例设置最大集群大小
在您要添加到超过两个 DLS 实例的集群中的每个 DLS 实例上执行此任务。
- 使用设备的虚拟机管理程序管理控制台,以用户 dls_admin 身份登录到托管 DLS 实例虚拟设备的虚拟机。如果 dls_admin 用户尚未注册,您仍然可以使用默认密码 welcome 以 dls_admin 用户身份登录到虚拟机。
- 运行脚本 /etc/adminscripts/enable_ha_max.sh。
$ /etc/adminscripts/enable_ha_max.sh
- 出现提示时,输入一个 2-9 范围内的整数,指定您要将此实例添加到的集群中的最大实例数。
为实例设置最大集群大小后,按照创建或扩展 DLS 实例的 HA 集群中的说明将实例添加到集群。
2.9.1.2. 为容器化 DLS 实例设置最大集群大小
在您要添加到超过两个 DLS 实例的集群中的每个 DLS 实例上执行此任务。
- 编辑容器编排平台的相应部署文件,以取消注释设置环境变量
DLS_HA_MAX_NODES_ENV
的行。要确定容器编排平台的部署文件,请参阅为容器化 DLS 软件映像设置属性 - 将
DLS_HA_MAX_NODES_ENV
环境变量设置为 2-9 范围内的整数,该整数指定您要将此实例添加到其中的集群的最大实例数。如何设置整数值取决于您的容器编排平台。有关更多信息,请参阅以下主题
此示例将容器化 DLS 实例的最大集群大小设置为 3。
DLS_HA_MAX_NODES_ENV=${DLS_HA_MAX_NODES_ENV:-3}
- 重新启动容器。
为实例设置最大集群大小后,按照创建或扩展 DLS 实例的 HA 集群中的说明将实例添加到集群。
2.9.2. 创建或扩展 DLS 实例的 HA 集群
在创建或配置独立的 DLS 实例后的任何时间,您都可以通过将实例转换为集群中的节点并将第二个实例添加到集群来创建 DLS 实例的 HA 集群。您还可以通过将 DLS 实例添加到现有集群来扩展现有集群。
确保满足以下先决条件:
- 将托管要添加到集群的 DLS 实例的 DLS 虚拟设备已安装并启动。注意
此虚拟设备的版本必须与托管已成为集群成员的实例的虚拟设备的版本相同。您不能配置虚拟设备版本不同的 HA 集群。
- DLS 管理员用户尚未在将托管要添加到集群的 DLS 实例的 DLS 虚拟设备上注册。当您配置集群时,DLS 管理员用户的注册将传播到其他实例。注意
如果您要从一对新创建的独立 DLS 实例创建集群,请确保仅在一个虚拟设备上注册了 DLS 管理员用户。
- 如果您要配置超过两个节点的集群,请确保已为要成为集群成员的每个 DLS 实例设置了最大集群大小。有关详细说明,请参阅设置 DLS 实例的最大集群大小。
- 登录到将托管或已经托管主 DLS 实例的 DLS 虚拟设备。
- 如果您要创建集群,请登录到托管您要转换的 DLS 实例的 DLS 虚拟设备。
实例转换后,它将最初成为主 DLS 实例。
- 如果您要扩展现有集群,请登录到托管集群中主节点的 DLS 虚拟设备。
- 如果您要创建集群,请登录到托管您要转换的 DLS 实例的 DLS 虚拟设备。
- 在左侧导航窗格中,单击服务实例。
- 在打开的服务实例页面上,在节点配置下,设置启用高可用性选项。文本输入字段和 PING 按钮被激活,创建 HA 集群按钮被禁用。
- 在文本输入字段中,键入要配置在集群中的另一个虚拟设备的 IP 地址,或者如果已配置,则键入完全限定域名,然后单击 PING。集群配置完成后,此 DLS 虚拟设备将最初托管辅助 DLS 实例。
- 如果可以访问最初将托管辅助 DLS 实例的虚拟设备,则 PING 按钮旁边将显示消息
SUCCESS
,并且 创建 HA 集群按钮将被激活。 - 否则,PING 按钮旁边将显示消息
FAILURE
,并且 创建 HA 集群按钮将保持禁用状态。
- 如果可以访问最初将托管辅助 DLS 实例的虚拟设备,则 PING 按钮旁边将显示消息
- 单击创建 HA 集群以启动配置并等待其完成。服务实例页面显示 HA 集群配置的进度。配置过程大约需要 10 分钟才能完成。
配置完成后,服务实例页面将更新以显示集群的节点运行状况。
如果您打算对托管集群中 DLS 实例的虚拟设备使用静态 IP 地址,请按照设置 DLS 虚拟设备的静态 IP 地址中的说明设置每个虚拟设备的地址。否则,按照配置服务实例中的说明配置托管主 DLS 实例的虚拟设备上的 DLS 实例。
如果已为集群中的任何实例生成客户端配置令牌,请按照生成客户端配置令牌中的说明为实例重新生成客户端配置令牌。
要进行故障转移或更改 DLS 实例的角色,请重新启动托管主 DLS 实例的 DLS 虚拟设备。
如果 HA 集群中的 DLS 实例同时发生故障或关闭,请避免竞争状况,方法是仅重新启动一个实例,并等待该实例启动完成后再启动下一个实例。
2.9.3. 从 HA 集群中删除节点
您可以从 HA 集群中删除辅助节点。如果从双节点集群中删除辅助节点,则主节点将转换为独立 DLS 实例。即使辅助节点已关闭,您也可以执行此任务来删除辅助节点。
- 登录到托管集群中主节点的 DLS 虚拟设备。
- 在左侧导航窗格中,单击服务实例。
- 在打开的服务实例页面上的节点运行状况下,单击要删除的托管辅助节点的 DLS 虚拟设备旁边的删除。
- 当询问您是否要删除节点时,单击确认。
已删除的节点会发生什么情况取决于托管集群中节点的平台类型
- 对于基于 VM 的 DLS 虚拟设备上的实例集群,托管该节点的虚拟设备将关闭,并且节点上的所有数据都将被删除。
- 对于不同容器编排器上的实例集群,托管该节点的容器不会关闭。您必须手动关闭容器。
如果从双节点集群中删除辅助节点,则主节点将转换为独立 DLS 实例。
如果已为集群中的任何实例生成客户端配置令牌,请按照生成客户端配置令牌中的说明为实例重新生成客户端配置令牌。
如果所有节点都发生故障或关闭,您必须首先重新启动最后一个发生故障或关闭的节点。如果您首先重新启动第一个发生故障或关闭的节点,则该节点将无法正常工作,直到其他节点启动。
2.9.4. 将节点标记为 HA 集群中的主节点
最初,HA 集群中的主节点是在从中创建集群的 DLS 设备上托管的节点。它仍然是主节点,除非它发生故障,此时会发生故障转移,辅助节点将成为主节点。如果您想控制哪个节点是集群中的主节点,您可以将辅助节点标记为集群中的主节点。
- 登录到托管您要标记为主节点的辅助节点的 DLS 虚拟设备。
- 在 NVIDIA Licensing 仪表板的左侧导航窗格中,单击服务实例。
- 在打开的服务实例页面上,找到当前节点角色属性,然后单击标记为主节点。
- 当要求您确认是否要将节点标记为主节点时,单击标记为主节点。节点承担主角色并开始为客户端提供许可证服务。集群中的所有其他节点(包括曾经是主节点的节点)都标记为辅助节点。
2.10. 配置基于 VM 的 DLS 虚拟设备
基于 VM 的 DLS 虚拟设备严格控制对底层操作系统的访问。因此,NVIDIA Licensing 应用程序的管理界面使您能够执行更改底层操作系统的配置任务。
您只能在基于 VM 的 DLS 虚拟设备上执行这些任务。您不能在容器化 DLS 软件映像上执行这些任务。相反,您可以使用运行容器编排平台的操作系统标准接口,为容器化 DLS 软件映像进行等效更改。
2.10.1. 设置 DLS 虚拟设备的静态 IP 地址
您可以使用 NVIDIA Licensing 应用程序的管理界面将设备的现有 IP 地址替换为新的静态 IP 地址。现有 IP 地址可以是 DHCP 分配的地址或其他静态 IP 地址。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
VMware VM 的 IP 地址(该 VM 托管 DLS 设备)可以在从 OVF 模板安装设备时设置。如果 IP 地址是以这种方式设置的,则您必须按照更改在 DLS 设备安装期间设置的 VMware VM 的 IP 地址中的说明进行操作。如果您使用任何其他方法来更改此地址,则在 VM 重新启动时,它将恢复为原始设置。在这种情况下,配置 IP 地址按钮将被禁用并灰显。
DLS 虚拟设备托管的实例必须已配置为独立 DLS 实例或 HA 集群中的实例。
您可以从集群中的主节点设置 HA 集群中辅助节点的静态 IP。
- 如果您尚未登录,请登录到 DLS 虚拟设备。
- 在左侧导航窗格中,单击服务实例。
- 在打开的服务实例页面上的节点运行状况下,单击您要为其设置静态 IP 地址的 DLS 虚拟设备旁边的配置 IP 地址。注意
如果您要为其设置静态 IP 地址的 DLS 虚拟设备是 HA 集群中的节点,并且任何节点的类型未知,请勿尝试设置静态 IP 地址。对静态 IP 地址的任何更改都不会传播到类型未知的节点,因为该节点不可访问。
- 在打开的“配置节点 IP 地址”窗口中,提供节点的 IP 地址详细信息,然后单击更新。
- 在静态 IP 地址文本输入字段中,键入您要分配给 DLS 虚拟设备的 IP 地址。
- 在网关文本输入字段中,键入 DLS 虚拟设备默认网关的 IP 地址。注意
如果您将网关字段留空,则 DLS 虚拟设备将使用 DHCP 设置。
- 在网络掩码前缀文本输入字段中,以无类别域间路由 (CIDR) 格式键入 DLS 虚拟设备网络的子网掩码,不带前导斜杠字符 (/)。网络掩码前缀必须是 2-32 范围内的整数。要从其十进制等效值获取 CIDR 格式的子网掩码,请参阅IETF RFC 1878:IPv4 的可变长度子网表第 2 页上的表。例如,十进制等效值 255.255.255.0 的 CIDR 格式的子网掩码为 24。
- 在第一个DNS 服务器文本输入字段中,键入要用于名称解析的第一个 DNS 服务器的 IP 地址。
- 在第二个DNS 服务器文本输入字段中,键入要用于名称解析的第二个 DNS 服务器的 IP 地址。
如果您要设置您已登录的实例的 IP 地址,则在更新完成后,您的浏览器将与该实例断开连接。在这种情况下,您将需要使用您设置的 IP 地址再次登录到 DLS 设备。
注意设置 HA 集群中实例的 IP 地址会导致集群故障转移。由于故障转移,集群中主实例和辅助实例的角色将反转。
- 如有必要,通过连接到 URL
https://<i>dls-vm-static-ip-address</i>
再次登录到 DLS 虚拟设备。- dls-vm-static-ip-address
- 您为 DLS 虚拟设备设置的静态 IP 地址。
如果 DLS 实例尚未配置,并且是独立实例或 HA 集群中的主实例,请按照配置服务实例中的说明配置实例。
2.10.2. 将 DLS 设备的网络配置恢复为 DHCP
如有必要,在为 DLS 设备分配静态 IP 地址后,您可以将 DLS 设备的网络配置恢复为 DHCP。将网络配置恢复为 DHCP 后,设备的网络接口的 IP 地址将自动分配。要将网络配置恢复为 DHCP,请使用操作系统命令 nmcli。每个 DLS 虚拟设备都配置了一个用户帐户,该帐户具有运行 nmcli 命令所需的提升权限。
从虚拟机管理程序控制台执行此任务,而不是从安全外壳 (SSH) 会话执行。此任务需要重新启动 DLS 设备的网络服务,这会断开 SSH 会话。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
在以下步骤中用于更改 DLS 设备网络接口配置的 nmcli 命令中,您可以使用 modify 子命令代替 edit 子命令。
确保已创建 sudo DLS 用户帐户 rsu_admin
。
- 使用设备的虚拟机管理程序管理控制台,以用户 rsu_admin 身份登录到托管 DLS 设备的虚拟机。
- 获取 DLS 设备网络接口的连接名称。
$ sudo nmcli connection show
$ sudo nmcli connection show NAME UUID TYPE DEVICE Wired connection 1 458e8070-3a5b-41a2-9946-25b519bfc8f4 ethernet --
- 将 IP 地址到 DLS 设备网络接口的分配从手动更改为自动。
$ sudo nmcli conn edit "connection-name" ipv4.method auto
- connection-name
- 您在上一步中获得的连接名称。
本示例将 IP 地址到 DLS 设备网络接口 Wired connection 1 的分配从手动更改为自动。
$ sudo nmcli conn edit "Wired connection 1" ipv4.method auto
- 从设备网络接口的 DNS 设置中删除为 DLS 设备设置的静态 IP 地址。
$ sudo nmcli conn edit "connection-name" -ipv4.addresses ip-address-to-remove
- connection-name
- 您在上一步中指定的连接名称。
- ip-address-to-remove
- 您要删除的 IP 地址,即为 DLS 设备网络接口设置的静态 IP 地址。
本示例从 DLS 设备网络接口 Wired connection 1 的 DNS 设置中删除 IP 地址
192.0.2.89
。$ sudo nmcli conn edit "Wired connection 1" -ipv4.addresses 192.0.2.89
- 重新启动 DLS 设备的网络服务。
- 停止 DLS 设备的网络服务。
$ sudo nmcli networking off
- 启动网络服务。
$ sudo nmcli networking on
- 停止 DLS 设备的网络服务。
- 重新启动托管 DLS 设备的虚拟机。
2.10.3. 更改基于 VM 的 DLS 虚拟设备的主机名
基于 VM 的 DLS 虚拟设备的主机名在虚拟设备映像中预先设置。如果您需要特定的主机名,可以从虚拟机管理程序更改名称。每个 DLS 虚拟设备都为此目的提供了 shell 脚本。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
- 使用设备的虚拟机管理程序管理控制台,以用户 dls_admin 身份登录到托管 DLS 设备的虚拟机。如果 dls_admin 用户尚未注册,您仍然可以使用默认密码 welcome 以 dls_admin 用户身份登录到虚拟机。
- 运行 /etc/adminscripts/set-hostname.sh 脚本。
$ /etc/adminscripts/set-hostname.sh
- 出现提示时,输入您为基于 VM 的 DLS 虚拟设备选择的新主机名。
2.10.4. 扩展 DLS 虚拟设备上的磁盘空间
您可以使用 NVIDIA Licensing 应用程序的管理界面来扩展 DLS 虚拟设备的磁盘空间。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
在安装 DLS 设备的虚拟机管理程序上执行此任务。
- 关闭虚拟机。
- 通过虚拟机管理程序控制台扩展与 VM 关联的虚拟硬盘。
- 右键单击 VM 并导航到编辑设置。
- 从控制台扩展磁盘空间。
- 单击确定以确认。
- 启动虚拟机。
- 使用设备的虚拟机监控程序管理控制台以用户 dls_admin 身份登录到托管 DLS 虚拟设备的 VM。如果 dls_admin 用户尚未注册,您仍然可以使用默认密码 welcome 以 dls_admin 用户身份登录到 VM。
- 运行以下脚本:/etc/adminscripts/expand_disk.sh 忽略显示以下内容的日志消息
Information: you may need to update /etc/fstab
- 使用
df -h
命令验证/dev/mapper/vgnls--si--0-root
的磁盘大小。
对于 ESXi、Hyper V 和 KVM,每个 DLS 虚拟机都应从相应 hypervisor 的镜像导入。如果虚拟机是通过克隆或快照创建的,您将无法从 hypervisor 控制台编辑或扩展磁盘。
如果您需要释放更多磁盘空间,可以以 dls_admin 用户身份登录,并运行 sudo /etc/dls/scripts/db_data_purge.sh
命令来清理磁盘。
服务实例的配置方式取决于该服务是云许可服务 (CLS) 实例还是委派许可服务 (DLS) 实例。
DLS 实例说明
您可以通过托管 DLS 实例的虚拟设备上的 NVIDIA Licensing 应用程序以及 NVIDIA Licensing Portal 管理和维护 DLS 实例。
在配置 DLS 实例之前,请确保已按照安装和配置 DLS 虚拟设备中的说明安装和配置了将托管该实例的虚拟设备。要配置 DLS 实例,请按照以下步骤操作
- 可选:更改 DLS 实例的名称和描述
- 有关创建许可证服务器或转换旧版 NVIDIA vGPU 软件许可证服务器的说明
- 有关注册 DLS 实例的说明
- 将许可证服务器绑定到服务实例
- 在 DLS 实例上安装许可证服务器
3.1. 更改 DLS 实例的名称和描述
默认情况下,DLS 实例的名称为 DEFAULT_时间戳,描述为 ON_PREM_SERVICE_INSTANCE。要在配置多个 DLS 实例时区分 NVIDIA Licensing Portal 上的 DLS 实例,请将这些默认值更改为有意义的名称和描述。
从 DLS 虚拟设备执行此任务。
- 登录到托管要更改名称和描述的实例的 DLS 虚拟设备。
- 在 NVIDIA Licensing 仪表板的左侧导航窗格中,单击服务实例。
- 在打开的服务实例页面上,单击编辑。
- 在打开的“编辑服务实例”对话框中,输入您选择的实例名称和描述,然后单击更新。注意
实例名称不能包含特殊字符。
更改 DLS 实例的名称后,请按照在 NVIDIA Licensing Portal 上创建许可证服务器中的说明进行操作。
3.2. 在 NVIDIA Licensing Portal 上创建许可证服务器
为了能够将许可证分配给 NVIDIA License System 实例,您必须在 NVIDIA Licensing Portal 上创建至少一个许可证服务器。创建许可证服务器定义了要分配的许可证集。
您还可以在 NVIDIA Licensing Portal 上创建多个服务器,并根据需要跨服务器分配许可证,例如,按功能或地理位置对许可证进行分组。
- 在 NVIDIA Licensing Portal 中,导航到要为其创建许可证服务器的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭“我的信息”窗口。
如果尚未为您的组织或虚拟组创建许可证服务器,则 NVIDIA Licensing Portal 仪表板将显示一条消息,询问您是否要创建许可证服务器。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,展开许可证服务器,然后单击创建服务器。“创建许可证服务器”向导将启动。
如果要为已创建许可证服务器的组织或虚拟组添加许可证服务器,请单击创建服务器。
“创建许可证服务器”向导将打开。
- 在向导的“创建许可证服务器”页面上,逐步完成配置要求,以提供许可证服务器的详细信息。
- 步骤 1 – 标识:在名称字段中,输入您选择的许可证服务器名称,并在描述字段中,输入许可证服务器的文本描述。描述是必需的,并将显示在您正在创建的许可证服务器的详细信息页面上。
- 步骤 2 – 功能:从您的权利中选择一个或多个可用功能,以分配给此许可证服务器。
- 步骤 3 - 环境:选择云 (CLS) 或本地部署 (DLS) 以安装此许可证服务器。要在创建许可证服务器后进行选择,请选择延迟选项。
- 步骤 4 – 配置:从租赁模式下拉列表中,选择以下租赁模式之一
- 标准网络许可
- 选择此模式可简化对支持网络许可的许可证服务器上的许可证的管理。在此模式下,无需对服务器上的许可证进行额外配置。
- 高级网络许可
- 如果您需要控制对支持网络许可的许可证服务器上的许可证的管理,请选择此模式。此模式需要额外的配置才能在服务器上创建许可证池和履行条件。有关更多信息,请参阅管理许可证池和管理履行条件。
- 节点锁定许可
- 仅当许可证服务器将为无法通过网络连接从远程许可证服务器获取许可证的客户端提供服务时,才选择此模式 。在此模式下,客户端从本地安装在客户端系统上的文件中获取节点锁定许可证。有关更多详细信息,请参阅生成节点锁定许可证。注意
此模式需要额外的工作来创建本地安装的许可证文件,并在客户端关闭时返回许可证。如果设置了此模式,则许可证服务器的模式无法更改。
- 单击查看摘要以在创建许可证服务器之前查看配置摘要。
- 在“创建许可证服务器”页面上,从步骤 4 – 配置菜单中,单击创建服务器选项以创建此许可证服务器。或者,您可以单击“服务器摘要”页面上的创建服务器。
3.3. 将旧版 NVIDIA vGPU 软件许可证服务器转换为 NLS 许可证服务器
为了简化迁移到 NLS 的过程并保留现有旧版 NVIDIA vGPU 软件许可证服务器群上的许可证分配,您可以将每个现有许可证服务器转换为 NLS 许可证服务器。转换旧版 NVIDIA vGPU 软件许可证服务器后,许可证服务器的名称和分配给服务器的许可产品将保留。
将旧版 NVIDIA vGPU 软件许可证服务器转换为 NLS 许可证服务器仅影响 NVIDIA Licensing Portal 上的服务器。旧版 NVIDIA vGPU 软件许可证服务器将继续为客户端提供许可证,直到您重新配置客户端以使用转换后的 NLS 许可证服务器。
转换过程将转换后的许可证服务器的许可模式设置为标准网络许可。如果您希望转换后的许可证服务器使用不同的模式,请按照更改许可证服务器的租赁模式中的说明进行更改。
3.3.1. 在 DLS 实例上将旧版许可证服务器转换为 NLS 许可证服务器
如果您希望转换后的旧版 NVIDIA vGPU 软件托管在可从您的专用网络(例如数据中心内部)访问的本地部署位置,则可以使用自定义 DLS 实例。您可以使用已注册的实例,也可以在转换期间注册实例。
- 在 NVIDIA Licensing Portal 中,导航到旧版许可证服务器所属的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭“我的信息”窗口。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,展开许可证服务器,然后单击服务器列表。
- 在打开的“许可证服务器”页面上的许可证服务器列表中,从旧版许可证服务器的操作菜单中,选择迁移到 NLS。
- 在打开的“将旧版许可证服务器迁移到 NVIDIA License System”窗口中,选择本地部署 (DLS)。
- 选择或注册要将转换后的许可证服务器绑定到的 DLS 实例。
- 从下拉列表中选择已注册的 DLS 实例。
- 按如下方式注册未注册的 DLS 实例
- 单击选择实例令牌。
- 在打开的文件浏览器中,导航到包含下载的 DLS 实例令牌文件的文件夹,然后选择该文件。
该文件名为 dls_instance_token_mm-dd-yyyy-hh-mm-ss.tok。
- 返回“将旧版许可证服务器迁移到 NVIDIA License System”窗口,单击上传令牌。
- 单击迁移许可证服务器。
您选择的许可证服务器将被转换,并自动绑定到您选择或注册的 DLS 实例。在“许可证服务器”页面上的列表中,转换后的服务器名称旁边的旧版标签将被删除。
转换完成后,按照在 DLS 实例上安装许可证服务器中的说明,在您选择或注册的 DLS 实例上安装转换后的许可证服务器。
3.4. 在 NVIDIA Licensing Portal 上注册本地部署的 DLS 实例
当安装 DLS 实例所在的虚拟设备时,将自动创建 DLS 实例。但是,要使实例能够绑定到许可证服务器,您必须在 NVIDIA Licensing Portal 上注册该实例。
在 NVIDIA Licensing Portal 上注册本地部署的 DLS 实例涉及在实例和 NVIDIA Licensing Portal 之间交换 DLS 实例令牌。
DLS 实例令牌由 DLS 实例创建。它向 NVIDIA Licensing Portal 标识 DLS 实例,并使其能够定位 NVIDIA Licensing Portal。从 DLS 实例下载令牌后,您必须将其上传到 NVIDIA Licensing Portal 才能完成服务实例的注册。
- 如果您尚未登录,请使用安装了 DLS 虚拟设备的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。
- 在 NVIDIA Licensing 仪表板的左侧导航窗格中,单击服务实例。
- 在打开的“服务实例详细信息”页面上,从操作菜单中,选择下载 DLS 实例令牌。将下载一个名为 dls_instance_token_mm-dd-yyyy-hh-mm-ss.tok 的 DLS 实例令牌文件。
- 在 NVIDIA Licensing Portal 中,导航到要为其注册服务实例的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭“我的信息”窗口。
- 在打开的服务实例页面上,从操作菜单中,选择注册 DLS 实例。
- 在打开的“注册 DLS 实例”窗口中,选择新安装选项,然后单击选择实例令牌。
- 在打开的文件浏览器中,导航到包含您下载的名为 dls_instance_token_mm-dd-yyyy-hh-mm-ss.tok 的 DLS 实例令牌文件的文件夹,然后选择该文件。
- 返回“注册 DLS 实例”窗口,单击上传令牌。服务实例将添加到已注册服务实例的列表中。
在 NVIDIA Licensing Portal 上注册本地部署的 DLS 实例后,请按照将许可证服务器绑定到服务实例中的说明进行操作。
3.5. 允许您的组织手动注册 DLS 实例
默认情况下,您组织中的用户必须通过下载 DLS 实例令牌并上传到 NVIDIA Licensing Portal 来注册 DLS 实例。如果您希望您组织中的用户能够通过在 NVIDIA Licensing Portal 上手动输入其详细信息来注册 DLS 实例,则必须显式启用此选项。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 单击页面右上角的查看设置。
- 在打开的“我的信息”窗口中,选择备用服务实例注册选项。
- 关闭“我的信息”窗口。
如果您希望您组织中的用户能够再次通过下载 DLS 实例令牌并上传到 NVIDIA Licensing Portal 来注册 DLS 实例,请取消选择备用服务实例注册选项。
3.6. 在 NVIDIA Licensing Portal 上注册气隙网络上的 DLS 实例
如果您的 DLS 实例位于气隙网络上,则无法下载 DLS 实例令牌并上传到 NVIDIA Licensing Portal 来注册该实例。相反,您必须通过在 NVIDIA Licensing Portal 上手动输入其详细信息来注册该实例。
在开始之前,请确保您的组织管理员已启用您的组织手动注册 DLS 实例。有关更多信息,请参阅允许您的组织手动注册 DLS 实例。
- 如果您尚未登录,请使用安装了 DLS 虚拟设备的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。
- 在 NVIDIA Licensing 仪表板的左侧导航窗格中,单击服务实例。
- 在打开的“服务实例详细信息”页面上,从操作菜单中,选择预注册服务实例。
- 在打开的“预注册 DLS 服务实例”窗口中,单击预注册服务实例。
- 在“服务实例”页面上,记下有关 DLS 实例的信息,当您通过在 NVIDIA Licensing Portal 上手动输入其详细信息来注册它时,您将需要这些信息。
- 服务实例 ID
- 名称
- 描述
- 在 NVIDIA Licensing Portal 中,导航到要为其注册服务实例的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭“我的信息”窗口。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,单击服务实例。
- 在打开的“服务实例”页面上,从操作菜单中,选择为气隙网络注册 DLS。
- 在打开的“为气隙网络注册 DLS 实例”窗口中,输入您在步骤 5 中获得的名称、服务实例 ID 和描述,然后单击注册。
注册 DLS 实例后,执行以下一系列任务以完成实例的配置
- 将许可证服务器绑定到您注册的 DLS 实例,如将许可证服务器绑定到服务实例中所述。
- 下载许可证服务器并将其安装在托管 DLS 实例的虚拟设备上,如在 DLS 实例上安装许可证服务器中所述。
3.7. 删除服务实例
删除服务实例后,绑定到该服务实例并在其上安装的任何许可证服务器都将被卸载并从中释放。删除安装了许可证服务器的 DLS 实例会强制从服务器中删除所有许可产品,并将许可产品返回到其权利。此行为使您能够从失败的 DLS 实例中恢复许可证。
如果要删除安装了许可证服务器的 CLS 实例,请按照管理许可证服务器上的许可证和许可产品中的说明,从服务器中删除所有许可产品。
在 NVIDIA Licensing Portal 上执行此任务。删除服务实例的过程对于 CLS 实例和 DLS 实例是相同的。
- 在 NVIDIA Licensing Portal 中,导航到服务实例所属的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭我的信息窗口。
- 在左侧导航窗格中,单击服务实例。
- 在打开的“服务实例”页面上的服务实例列表中,从服务实例的操作菜单中,选择删除。
- 当系统询问您是否要确认删除服务实例时,单击删除。
3.8. 将许可证服务器绑定到服务实例
将许可证服务器绑定到服务实例可确保服务器上的许可证仅可从该服务实例获得。因此,许可证仅可用于由许可证服务器绑定到的服务实例提供服务的许可客户端。
您可以将多个许可证服务器绑定到同一 CLS 实例,但只能将一个许可证服务器绑定到同一 DLS 实例。如果您想使用与最初绑定到 DLS 实例的许可证服务器不同的许可证服务器,请按照从服务实例中释放许可证服务器中的说明释放许可证服务器。
只有当您不使用默认 CLS 实例时,此任务才是必要的。
- 在 NVIDIA Licensing Portal 中,导航到 许可证服务器所属的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭“我的信息”窗口。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,展开许可证服务器,然后单击服务器列表。
- 在打开的“许可证服务器”页面上的许可证服务器列表中,从许可证服务器的操作菜单中,选择绑定。
- 在打开的“绑定服务实例”弹出窗口中,选择要将许可证服务器绑定到的服务实例,然后单击绑定。“绑定服务实例”弹出窗口确认许可证服务器已绑定到服务实例。
许可证服务器绑定到服务实例后,当删除服务实例时,许可证服务器将从服务实例中释放。您还可以按照从服务实例中释放许可证服务器中的说明释放许可证服务器。
3.9. 从服务实例中释放许可证服务器
如果要将许可证服务器移动到不同的服务实例,请在将其绑定到新服务实例并在其上安装之前释放许可证服务器。如果您想使用与最初绑定到 DLS 实例的许可证服务器不同的许可证服务器,请先从 DLS 实例中释放许可证服务器。
确保满足以下先决条件之一
- 许可证服务器尚未安装在服务实例上。
- 已安装的许可证服务器上没有许可证被许可客户端检出。如果不满足此先决条件,会发生什么情况取决于服务实例的类型
- CLS 实例:NVIDIA Licensing Portal 会阻止从服务实例中释放许可证服务器。
- DLS 实例:由于该实例未连接到 NVIDIA Licensing Portal,因此 NVIDIA Licensing Portal 允许从服务实例中释放许可证服务器。但是,任何尝试在服务实例上安装许可证服务器的操作都会失败。
- 在 NVIDIA Licensing Portal 中,导航到 许可证服务器所属的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭“我的信息”窗口。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,展开许可证服务器,然后单击服务器列表。
- 在打开的“许可证服务器”页面上的许可证服务器列表中,从许可证服务器的操作菜单中,选择取消绑定。
- 当系统提示您确认是否要取消绑定许可证服务器时,单击取消绑定。
释放许可证服务器后,您可以按照以下步骤重新使用它
3.10. 在服务实例上安装许可证服务器
将许可证服务器绑定到服务实例后,您必须在服务实例上安装许可证服务器,以使服务器上的许可证可用于该实例。如果您更改了绑定到 DLS 实例的许可证服务器上的许可证或许可产品,则必须使用最新版本的许可证服务器更新该实例。
只有当您不使用默认 CLS 实例时,此任务才是必要的。
在服务实例上创建和安装许可证服务器后,通过创建客户端配置令牌以及可选地创建许可证池和履行条件来管理服务器上的许可证。有关更多信息,请参阅管理许可证服务器上的许可证。
3.10.1. 在 DLS 实例上安装许可证服务器
- 在 NVIDIA Licensing Portal 中,导航到为其创建许可证服务器的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭我的信息窗口。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,展开许可证服务器,然后单击服务器列表。
- 在打开的“许可证服务器”页面上的许可证服务器列表中,单击要安装的许可证服务器的名称。
- 在打开的“许可证服务器详细信息”页面上,从操作菜单中,选择下载。
- 在打开的“下载许可证文件”窗口中,单击下载。将下载一个名为 license_mm-dd-yyyy-hh-mm-ss.bin 的许可证服务器文件。
- 如果您尚未登录,请使用安装了 DLS 虚拟设备的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。登录后,NVIDIA Licensing 仪表板上显示的信息取决于是否已在 DLS 虚拟设备上安装许可证服务器。
- 如果尚未在 DLS 虚拟设备上安装许可证服务器 ,则 NVIDIA Licensing 仪表板将显示一条消息,询问您是否要安装许可证服务器。
- 否则,NVIDIA Licensing 仪表板将显示已安装许可证服务器的“许可证服务器详细信息”页面。
- 在 DLS 虚拟设备上安装或更新许可证服务器。您是安装还是更新许可证服务器取决于是否已在 DLS 虚拟设备上安装许可证服务器。
-
如果尚未在 DLS 虚拟设备上安装许可证服务器,请在 NVIDIA Licensing 仪表板上,单击选择许可证服务器文件。
-
如果已在 DLS 虚拟设备上安装许可证服务器,请更新许可证服务器。
- 从许可证服务器的操作菜单中,选择从 NLP 更新服务器。
- 在打开的“更新许可证服务器”弹出窗口中,单击选择许可证服务器文件。
-
- 在打开的文件浏览器中,导航到包含您下载的名为 license_mm-dd-yyyy-hh-mm-ss.bin 的许可证服务器文件的文件夹,然后选择该文件。
- 当系统询问您是否要安装所选文件时,单击安装。
NVIDIA Licensing 仪表板将使用您安装的许可证服务器的详细信息进行更新。
如果您更新了现有许可证服务器,则新服务器上的许可证不会分配给任何现有许可证池。您必须按照管理许可证池中的说明分配这些许可证
3.11. 更改许可证服务器的租赁模式
您可以在创建许可证服务器后更改其租赁模式。
您无法更改绑定到 DLS 实例并在其上安装的许可证服务器的租赁模式。您必须先从 DLS 实例中释放许可证服务器。有关说明,请参阅从服务实例中释放许可证服务器。
- 导航到要更改租赁模式的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,从ACTIONS菜单中,选择更改租赁模式。
- 在“租赁模式”弹出窗口中,选择所需的租赁模式,然后单击更改租赁模式。注意
如果您选择节点锁定选项,则无法在服务器上还原此租赁模式更改。
在服务实例上安装许可证服务器后,您可以通过在多个许可证池之间分配许可证,并为来自已许可客户端的请求定义履行条件,来管理要从服务器提供的许可证。通过这种方式,您可以为特定类型的用户保留许可证。
例如
- 在一个组织中,一些用户使用图形密集型计算机辅助设计 (CAD) 工具,而另一些用户仅使用办公效率工具,该组织可以为 CAD 工具用户创建一个 NVIDIA RTX Virtual Workstation 许可证池,并为办公效率工具用户创建一个 GRID Virtual PC 许可证池。
- 在一个组织中,一些用户执行关键任务,该组织可以创建一个仅供这些用户使用的保留许可证池和一个所有用户可用的许可证池。通过设置合适的履行条件,该组织可以确保当所有用户可用的许可证池耗尽时,只有执行关键任务的用户的许可证请求才能从保留池中得到满足。
在服务实例上安装许可证服务器时,会在服务器上创建一个默认许可证池和一个默认履行条件。默认许可证池最初包含分配给服务器的所有许可证。默认履行条件允许从默认许可证池为任何客户端提供服务。如果您希望所有已许可的客户端在相同条件下从同一许可证池获得许可证服务,则可以生成客户端配置令牌,而无需创建任何许可证池或履行条件。有关客户端配置令牌的更多信息,请参阅生成客户端配置令牌。
4.1. 导航到许可证服务器的“许可证服务器详细信息”页面
如何导航到许可证服务器的“许可证服务器详细信息”页面取决于您是在 NVIDIA Licensing Portal 还是 DLS 实例上执行此任务。
- 如果您尚未登录,请登录到用于管理许可证服务器的 Web 用户界面。
-
在 NVIDIA Licensing Portal 上,登录到 NVIDIA Enterprise Application Hub,然后单击 NVIDIA LICENSING PORTAL 以转到 NVIDIA Licensing Portal。
NVIDIA Licensing Portal 仪表板打开。
-
在 DLS 实例上,使用安装 DLS 虚拟设备的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。
DLS 虚拟设备上许可证服务器的“许可证服务器详细信息”页面打开。无需进一步操作。
其余步骤仅适用于 NVIDIA Licensing Portal。
-
- 如果您分配的角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭我的信息窗口。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,展开许可证服务器,然后单击服务器列表。
- 在打开的“许可证服务器”页面上的许可证服务器列表中,单击要管理许可证的许可证服务器的名称。
4.2. 管理许可证池
许可证池使您可以划分许可证服务器上的产品功能,以便从不同的许可证池为不同类别的用户提供许可证。所有许可证都从许可证池中提供。只有属于许可证池的许可证服务器上的许可证才能用于向许可证客户端提供服务。
在服务实例上安装许可证服务器时,会在服务器上创建一个默认许可证池。默认许可证池最初包含分配给服务器的所有许可证。您可以将许可证服务器上的许可证细分为任意数量的许可证池。但是,如果您想从单个池中提供服务器上的所有许可证,则可以使用默认许可证池,而无需创建任何其他许可证池。
设置了节点锁定许可模式?选项的许可证服务器不支持多个许可证池。服务器上的所有许可证都保留在默认许可证池中。
4.2.1. 创建许可证池
如果许可证服务器上唯一的许可证池是初始默认池,请按照管理许可证池中的许可证和许可产品中所述,将要分配给许可证池的任何许可证返回到许可证服务器。创建许可证服务器时,将创建一个包含服务器上所有许可证的默认许可证池。当默认许可证池包含服务器上的所有许可证时,CREATE LICENSE POOL按钮处于非活动状态。
- 导航到要在其上创建许可证池的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,通过单击禁用服务器禁用许可证服务器,并在出现提示时,确认要禁用许可证服务器。禁用许可证服务器后,它无法向已许可的客户端提供许可证。
- 从 ACTIONS 菜单中,选择 创建池。
“创建许可证池”弹出窗口打开。
- 在许可证池名称字段中,输入您选择的许可证池名称。名称必须是四个字符长的列表,只能包含字母和数字,并且不得包含任何空格或特殊字符。
- 添加要分配给此许可证池的产品的许可证。对于每个产品,按如下方式添加许可证
- 从可用功能列表中,选择要为其添加许可证的产品。在可用功能列表中,仅列出许可证服务器上不属于其他许可证池的产品。
- 在 ADDED 列的文本输入字段中,输入要添加的产品的许可证数量。
- 单击创建许可证池。许可证池将添加到“许可证服务器详细信息”页面中许可证池选项卡上的许可证池列表中。
- 在“许可证服务器详细信息”页面的“概述”选项卡上,通过单击启用服务器启用许可证服务器,并在出现提示时,确认要启用许可证服务器。许可证服务器现在可以向已许可的客户端提供许可证。
创建许可证池后,您可以更改池中的许可证集,如下列主题中所述
4.2.2. 删除许可证池
删除许可证池后,池中的所有产品功能都将返回到许可证池所属的许可证服务器。
确保池中没有许可证被已许可的客户端检出。当池中的任何许可证被客户端检出时,都无法删除许可证池。
- 导航到许可证池所属的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,单击许可证池选项卡。
- 在“许可证池”选项卡上的许可证池列表中,从许可证池的 Actions 菜单中,选择 禁用。禁用许可证池后,无法从该池向已许可的客户端提供许可证。
- 出现提示时,确认要禁用许可证池。
- 从许可证池的 Actions 菜单中,选择 删除。
- 当询问您是否要删除许可证池时,单击删除许可证池。
4.2.3. 管理许可证池中的许可证和许可产品
如果您需要添加或删除池中特定产品的许可证,请管理许可证池中的许可证。您还可以从许可证池中添加和删除许可产品。当从许可证池中删除许可产品时,所有许可证都将返回到许可证服务器。
- 导航到许可证池所属的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,单击许可证池选项卡。
- 在“许可证池”选项卡上的许可证池列表中,从许可证池的 Actions 菜单中,选择 禁用。禁用许可证池后,无法从该池向已许可的客户端提供许可证。
- 出现提示时,确认要禁用许可证池。
- 展开包含要管理的许可证的许可证池。
- 从许可证池的 Actions 菜单中,选择 管理功能。
- 在打开的“管理许可证”弹出窗口中,为您感兴趣的许可产品添加或删除许可证。
按如下方式为每个许可产品添加或删除许可证
- 在 ADDED 列的文本输入字段中,输入您希望在更新许可证后保留在池中的产品的许可证数量。
-
要向池中添加许可证,请输入一个大于池中已有的数量,但小于或等于许可证服务器上可用许可证总数的数字。
如果您输入的数字大于可用许可证总数,则会发生错误。
-
要从池中删除许可证,请输入一个小于已分配给服务器的数量但大于 0 的数字。
例如,要从包含 10 个许可证的池中删除 4 个许可证,并在许可证服务器上留下 6 个许可证,请在许可证字段中输入 6。
您不能将许可证字段设置为 0。您必须在许可证池中至少保留 1 个许可证。如果要从许可证池中删除产品的所有许可证,则必须通过单击垃圾桶图标从池中删除该产品。
-
- 单击添加。
产品和许可证数量将添加到要修改的功能列表中。
- 在 ADDED 列的文本输入字段中,输入您希望在更新许可证后保留在池中的产品的许可证数量。
- 在添加或删除所有您感兴趣的许可证和许可产品后,单击更新池功能。
- 从许可证池的 Actions 菜单中,选择 启用,并在出现提示时,确认要启用许可证池。
现在可以从该池向已许可的客户端提供许可证。
4.2.4. 合并两个许可证池
如果您需要将两个池中的许可证合并到一个池中,则可以合并这两个池。当您合并两个许可证池时,您选择作为源池的池中的所有许可证都将迁移到您选择作为目标池的池,并且源池将被删除。
确保源池中没有许可证被已许可的客户端检出。当池中的任何许可证被客户端检出时,都无法合并许可证池。如果池中有许可证被检出,则池的 拆分或合并命令将变灰且处于非活动状态。
- 导航到这两个许可证池所属的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,单击许可证池选项卡。
- 在“许可证池”选项卡上的许可证池列表中,从许可证池的 Actions 菜单中,选择 禁用。禁用许可证池后,无法从该池向已许可的客户端提供许可证。
- 出现提示时,确认要禁用许可证池。
- 从源许可证池的 Actions 菜单中,选择 拆分或合并。
- 在打开的拆分/合并池功能弹出窗口中,选择目标许可证池,选择合并所有功能?选项,然后单击合并池。
您选择作为源池的池中的所有许可证都将迁移到您选择作为目标池的池,并且源池将被删除。
4.2.5. 在许可证池之间迁移许可证
如果来自不同池的许可证需求发生变化,您可以在池之间迁移许可证以满足变化的需求。
确保满足以下先决条件:
- 您将在其间迁移许可证的两个池都已存在。如果要将许可证迁移到新池,请先创建该池。
- 没有要迁移的许可证被已许可的客户端检出。
- 导航到这两个许可证池所属的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,单击许可证池选项卡。
- 在“许可证池”选项卡上的许可证池列表中,从许可证池的 Actions 菜单中,选择 禁用。禁用许可证池后,无法从该池向已许可的客户端提供许可证。
- 出现提示时,确认要禁用许可证池。
- 从您禁用的许可证池的 Actions 菜单中,选择 拆分或合并。
- 从目标池下拉列表中,选择要将许可证迁移到的许可证池。
- 在打开的“拆分/合并池功能”弹出窗口中,选择要迁移的许可证。
按如下方式选择每个许可产品的许可证
- 在产品列表中,选择要为其迁移许可证的许可产品。
- 在 MOVE LICENSES 列的文本输入字段中,输入要迁移的产品的许可证数量。您必须在要从中迁移许可证的许可证池中至少保留一个许可证。如果要从许可证池中删除产品的所有许可证,则必须按照管理许可证池中的许可证和许可产品中的说明进行操作。
- 单击添加。
产品和许可证数量将添加到要移动的功能列表中。
- 单击拆分池功能。
- 从许可证池的 Actions 菜单中,选择 启用,并在出现提示时,确认要启用许可证池。
现在可以从该池向已许可的客户端提供许可证。
4.3. 管理履行条件
履行条件选择从中提供已许可客户端请求的许可证的许可证池。它是一个应用于来自已许可客户端的任何请求的测试,以确定是否可以从指定的许可证池集中满足该请求。
履行条件绑定到许可证池的有序列表。如果请求满足测试条件,则按顺序评估绑定的许可证池,以确定是否可以从该池提供请求。
履行条件只能属于一个许可证服务器。但是,一个许可证服务器可以包含任意数量的履行条件。如果一个许可证服务器包含多个履行条件,则这些条件是有序的。来自已许可客户端的每个请求都将按顺序针对每个履行条件进行测试,直到可以满足请求或已针对所有履行条件进行测试为止。
设置了节点锁定许可模式?选项的许可证服务器不支持多个履行条件。仅默认履行条件可用。
4.3.1. 关于匹配条件
匹配条件确定是否可以从绑定到履行条件的许可证池中满足来自已许可客户端的请求。创建或编辑履行条件时,必须指定匹配条件。
引用匹配
“引用匹配”条件仅允许为已配置与履行条件关联的客户端配置令牌的客户端提供服务。客户端配置令牌包含履行条件的唯一标识符。每当客户端从服务器请求许可证时,客户端都会向服务器提供此唯一标识符。
通用匹配
“通用匹配”条件允许为任何客户端提供服务。它是默认履行条件,如果未满足更具体的条件或无法满足请求,则应用该条件。由于此条件是最通用的条件,因此它是最后一个要评估的条件。
许可证服务器的履行条件中只能有一个指定“通用匹配”条件。如果服务器的另一个履行条件指定了此匹配条件,则它将从匹配条件下拉列表中消失。
4.3.2. 创建履行条件
- 导航到服务实例绑定的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,通过单击禁用服务器禁用许可证服务器,并在出现提示时,确认要禁用许可证服务器。禁用许可证服务器后,它无法向已许可的客户端提供许可证。
- 从 Actions 菜单中,选择 创建条件。
“创建履行条件”向导打开。
- 在名称字段中,输入您选择的履行条件名称。
- 可选:在描述字段中,输入履行条件的文本描述。
- 在匹配条件下,选择一个匹配条件,以确定可以从绑定到此履行条件的许可证池中为哪些客户端提供许可证。
定义了以下匹配条件
- 指定将从中为客户端提供许可证的许可证池的顺序。
许可证按照它们在绑定的许可证池列表中出现的顺序提供。
注意您可以在任意数量的履行条件的许可证池绑定中指定许可证池。
- 在许可证池列表中,选择要从中提供许可证的许可证池,然后单击向右箭头图标。许可证池将移动到绑定的许可证池列表中。
- 在绑定的许可证池列表中,根据需要调整许可证池的顺序,方法是选择每个需要移动的许可证池,然后单击向上箭头和向下箭头图标将许可证池移动到其在序列中的所需位置。
- 单击创建履行条件。
履行条件将添加到“许可证服务器详细信息”页面的 履行条件选项卡上的履行条件列表中。
- 在“许可证服务器详细信息”页面的“概述”选项卡上,通过单击启用服务器启用许可证服务器,并在出现提示时,确认要启用许可证服务器。许可证服务器现在可以向已许可的客户端提供许可证。
4.3.3. 删除履行条件
为了能够提供许可证,许可证服务器必须至少有一个履行条件。如果您删除属于许可证服务器的所有履行条件,则该许可证服务器将不再能够向客户端提供许可证。
删除履行条件不会删除绑定到该履行条件的许可证池。如果您删除许可证池绑定的所有履行条件,则池中的许可证将无法再提供给客户端。
- 导航到服务实例绑定的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面上,单击履行条件选项卡。
- 在履行条件选项卡上的履行条件列表中,从要删除的履行条件的 Actions 菜单中,选择 禁用。
禁用履行条件后,将无法使用它来满足来自已许可客户端的许可证请求。
- 从要删除的履行条件的 Actions 菜单中,选择 删除。
- 当询问您是否要删除履行条件时,单击删除履行条件。
删除履行条件后,在指定该条件的请求中将忽略该条件。此外,如果请求仅指定已删除的履行条件,则请求将不会得到满足。
4.3.4. 编辑履行条件
- 导航到服务实例绑定的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面上,单击履行条件选项卡。
- 在履行条件选项卡上的履行条件列表中,从要删除的履行条件的 Actions 菜单中,选择 禁用。
禁用履行条件后,将无法使用它来满足来自已许可客户端的许可证请求。
- 从要编辑的履行条件的 Actions 菜单中,选择 编辑。将启动 编辑履行条件向导。
- 使用“编辑履行条件”向导进行所需的更改。
- 在名称字段中,编辑履行条件的名称。
- 在描述字段中,编辑履行条件的描述。
- 在匹配条件下,选择一个新的匹配条件,以确定可以从绑定到此履行条件的许可证池中为哪些客户端提供许可证。注意
如果更改匹配条件,则必须重新生成指定了该履行条件的所有客户端配置令牌,并使用新令牌配置所有受影响的已许可客户端。
定义了以下匹配条件
- 单击下一步:选择许可证池。
- 修改将从中为客户端提供许可证的许可证池的顺序。
使用向左和向右箭头图标在许可证池列表和绑定的许可证池列表之间移动选定的许可证池。使用向上和向下箭头图标调整绑定的许可证池列表中许可证池的顺序。许可证按照它们在绑定的许可证池列表中出现的顺序提供。
- 单击预览条件更新。
- 单击编辑履行条件。
- 从您编辑的履行条件的 Actions 菜单中,选择 启用。现在可以使用履行条件来满足来自已许可客户端的许可证请求。
4.3.5. 更改履行条件的顺序
默认情况下,使用“引用匹配”条件配置的履行条件按照它们添加到许可证服务器的顺序进行测试。如果您希望按特定顺序测试履行条件,则可以更改此顺序。
确保许可证服务器包含至少两个使用“引用匹配”条件配置的履行条件。
- 导航到服务实例绑定的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,通过单击禁用服务器禁用许可证服务器,并在出现提示时,确认要禁用许可证服务器。禁用许可证服务器后,它无法向已许可的客户端提供许可证。
- 单击重新索引。“重新索引履行条件”窗口打开。
- 按照您想要的顺序重新排列履行条件。按如下方式移动每个要向上或向下移动的履行条件
- 在履行条件列表中,选择要移动的条件。注意
使用“通用匹配”条件配置的履行条件不在此列表中显示,因为它最后处理。
- 当您将光标悬停在向上和向下箭头上时,您的光标将变为手形。使用手形光标将条件拖动到您想要的处理顺序中的位置。
- 在履行条件列表中,选择要移动的条件。
- 重新排序条件后,您将看到以下警报:您在排序中具有未保存的更改。单击警报以重新索引履行条件的顺序。“许可证服务器详细信息”页面上列出履行条件的顺序将更新为与您指定的顺序匹配。
- 在“许可证服务器详细信息”页面的“概述”选项卡上,通过单击启用服务器启用许可证服务器,并在出现提示时,确认要启用许可证服务器。许可证服务器现在可以向已许可的客户端提供许可证。
4.4. 生成客户端配置令牌
客户端配置令牌标识服务实例、许可证服务器和履行条件,用于响应来自已许可客户端的请求来提供许可证。此信息必须在服务实例和已许可客户端之间交换,以使服务实例能够为客户端提供许可证。
生成客户端配置令牌后,将其复制到要使用该令牌的每个已许可客户端。然后,每当客户端从服务器请求许可证时,客户端都会将令牌中的数据返回到服务器。
客户端配置令牌在生成后 12 年内有效。
为您要用于响应来自已许可客户端的请求来提供许可证的许可证服务器和履行条件的每种组合创建 一个客户端配置令牌。
您无法从绑定到设置了节点锁定许可模式?选项的许可证服务器的服务实例生成客户端配置令牌。而是按照生成节点锁定许可证中所述生成节点锁定许可证。
从服务实例创建客户端配置令牌后,将客户端配置令牌复制到要使用令牌中指定的许可证服务器和履行条件组合的每个已许可客户端。
4.4.1. 为 DLS 实例生成客户端配置令牌
- 如果您尚未登录,请使用 DLS 实例所在的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。
- 在左侧导航窗格中,单击服务实例。
- 在打开的服务实例页面上,从要为其生成客户端配置令牌的 DLS 实例的 Actions 菜单中,选择生成客户端配置令牌。
- 在打开的生成客户端配置令牌弹出窗口中,选择要包含在客户端配置令牌中的引用。
- 单击范围引用选项卡,然后从范围引用列表中,选择要包含的范围引用。
您必须选择至少一个范围引用。
每个范围引用指定将满足许可证请求的许可证服务器。
- 可选:单击履行类引用选项卡,然后从履行类引用列表中,选择要包含的履行类引用。
包括履行类引用是可选的。
- 可选:如果您希望通过其 IP 地址标识服务实例或实例 HA 集群中的每个节点,请单击服务器地址首选项选项卡,然后选择您想要的 IP 版本的地址:IPv6 或 IP v4。
默认情况下,服务实例或实例 HA 集群中的每个节点都通过其完全限定域名来标识。
- 可选:在过期部分中,为客户端配置令牌选择过期日期。如果您未选择日期,则默认令牌过期时间为 12 年。
- 单击下载客户端配置令牌。
名为 client_configuration_token_mm-dd-yyyy-hh-mm-ss.tok 的文件将保存到您的默认下载文件夹中。
- 单击范围引用选项卡,然后从范围引用列表中,选择要包含的范围引用。
您可以将租赁端口与 UI 端口分离,以进行身份验证和租赁操作。完成此操作后,您可以阻止客户端 VM 的 UI 端口。
为了向后兼容,VM 版本中的默认 HTTPS 端口 (443) 仍将支持租赁操作。
- 默认 HTTPS 端口 443 将支持所有 UI 和租赁操作。
- 租赁端口 8082 仅支持租赁操作。
4.5. 生成节点锁定许可证
NVIDIA vGPU 软件 15.0 中引入了对节点锁定许可的支持。早期的 NVIDIA vGPU 软件版本不支持它。
- 导航到要从中生成节点锁定许可证的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,确保许可证服务器已启用。
- 从 ACTIONS 菜单中,选择生成节点锁定许可证。
- 在打开的“生成节点锁定许可证”弹出窗口中,配置要生成的节点锁定许可证,然后单击生成。
- 对于要应用许可证的每个客户端,在文本输入字段中输入客户端的 MAC 地址,然后单击添加 MAC 地址。您可以按以下任何格式指定 MAC 地址
- 作为六个两位十六进制数字,用冒号分隔,例如,00:00:5E:00:53:10
- 作为六个两位十六进制数字,用连字符分隔,例如,00-00-5E-00-53-10
- 作为三个四位十六进制数字,用句点分隔,例如,0000.5E00.5310
- 从可用功能下拉列表中,选择要为其生成许可证的每个产品。注意
为每个产品生成的许可证的到期日期是产品所属权利的到期日期。未提供用于设置您希望节点锁定许可证过期的日期的选项。
将创建一个名为 nll.zip 的 ZIP 存档并下载到您的默认下载文件夹。此 ZIP 存档包含以下文件
- 为您输入的每个 MAC 地址的客户端创建一个许可证文件
- 一个名为 index.txt 的索引文件,使您能够从其 MAC 地址识别为每个客户端创建的许可证文件
- 对于要应用许可证的每个客户端,在文本输入字段中输入客户端的 MAC 地址,然后单击添加 MAC 地址。您可以按以下任何格式指定 MAC 地址
- 当您准备好使用生成的节点锁定许可证配置已许可的客户端时,请解压缩 ZIP 存档 nll.zip 的内容。
解压缩 ZIP 存档 nll.zip 的内容后,按照使用 NVIDIA vGPU 软件节点锁定许可证配置已许可的客户端中所述,为您生成节点锁定许可证的每个已许可客户端配置。
4.6. 禁用和启用许可证服务器、许可证池或履行条件
修改许可证服务器、许可证池或履行条件时,必须先禁用它,然后再进行修改。为了确保服务实例可以向已许可的客户端提供许可证,您必须确保其许可证服务器、许可证池和履行条件已启用。
您可以从相关的“许可证服务器详细信息”页面禁用和启用许可证服务器、许可证池或履行条件。有关如何导航到“许可证服务器详细信息”页面的信息,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 要禁用许可证服务器,请导航到许可证服务器的“许可证服务器详细信息”页面的概览选项卡。然后单击禁用服务器,并在出现提示时,确认您要禁用许可证服务器。许可证服务器禁用后,将无法向获得许可的客户端提供许可证。
- 要启用许可证服务器,请导航到许可证服务器的“许可证服务器详细信息”页面的概览选项卡。然后单击启用服务器,并在出现提示时,确认您要启用许可证服务器。许可证服务器现在可以向获得许可的客户端提供许可证。
- 要禁用许可证池,请导航到许可证池所属的许可证服务器的“许可证服务器详细信息”页面的许可证池选项卡。然后从许可证池的操作菜单中,选择禁用。许可证池禁用后,将无法从该池向获得许可的客户端提供许可证。
- 要启用许可证池,请导航到许可证池所属的许可证服务器的“许可证服务器详细信息”页面的许可证池选项卡。然后从许可证池的操作菜单中,选择启用。现在可以从该池向获得许可的客户端提供许可证。
- 要禁用履行条件,请导航到履行条件所属的许可证服务器的“许可证服务器详细信息”页面的履行条件选项卡。然后从履行条件的操作菜单中,选择禁用。履行条件禁用后,将无法用于履行来自获得许可的客户端的许可证请求。
- 要启用履行条件,请导航到履行条件所属的许可证服务器的“许可证服务器详细信息”页面的履行条件选项卡。然后从履行条件的操作菜单中,选择启用。履行条件现在可以用于履行来自获得许可的客户端的许可证请求。
4.7. 编辑许可证服务器设置
许可证服务器设置控制服务实例如何处理已提供给获得许可的客户端的许可证。您可以编辑单个许可证服务器的设置,也可以编辑绑定到服务实例的所有许可证服务器的设置。您为单个许可证服务器编辑的任何设置都将覆盖绑定到服务实例的许可证服务器的设置。
这些设置不影响用于节点锁定许可证的许可证服务器,即,节点锁定许可模式?选项已设置的许可证服务器。
- 编辑您要更改的设置,然后单击保存设置。
- 查看功能超额设置。
- 最大允许功能超额
- 此设置无法从其预设值更改,仅供参考。对于计数许可证,它是可用许可证数量的最大百分比,当所有可用许可证都已检出时,可以在有限的时间段内租借给许可证客户端。例如,如果您有 100 个并发用户许可证,并且所有许可证都已检出,则最多可以将额外的 10 个许可证租借给许可证客户端一段时间。在使用超额配额期间,可能会生成管理警告。
- 在左侧导航窗格中,单击租借持续时间设置,然后编辑以下设置。
这些设置的效果取决于客户端的许可证请求是否指定了许可证的有效期。仅当设置了
LicenseInterval
Windows 注册表值或 Linux 配置文件参数时,客户端的请求才会指定许可证的有效期。有关更多信息,请参阅 Virtual GPU 客户端许可用户指南。- 租借持续时间
- 如果许可证请求中未指定此期限,则许可证在提供后保持有效的期限。在租借期结束时,许可证在客户端变为无效,并可供提供给其他获得许可的客户端。
仅当客户端的许可证请求未指定许可证的有效期时,此设置才适用。否则,将忽略此设置。
- 最大租借持续时间
- 许可证提供给客户端后,许可证在获得许可的客户端上保持有效的最长期限。
-
如果客户端的许可证请求指定许可证应保持更长时间有效,则此设置将覆盖请求中指定的期限。
- 最小租借持续时间
- 许可证提供给客户端后,许可证在获得许可的客户端上保持有效的最短期限。
-
如果客户端的许可证请求指定许可证应保持更短时间有效,则此设置将覆盖请求中指定的期限。
- 在左侧导航窗格中,单击其他设置,然后编辑以下设置。
- 默认续订周期
- 获得许可的客户端可以续订许可证之前必须经过的租借期百分比。通过在租借期到期之前续订许可证,获得许可的客户端可以将其许可证期限延长到许可证的原始到期时间之后。延长许可证期限可确保如果获得许可的客户端临时失去与许可服务的网络连接,则有足够的时间在许可证到期之前恢复连接。
例如,如果租借期为一天,续订周期为 20%,则客户端每 4.8 小时尝试续订其许可证。如果网络连接丢失,则在许可证续订期间检测到连接丢失,并且客户端有 19.2 小时的时间重新建立连接,然后其许可证到期。
- 离线租借
- 启用或禁用向客户端离线租借许可证。启用向客户端离线租借许可证后,客户端即使在断电时也可以保留其许可证。
- 查看功能超额设置。
- 仅限单个许可证服务器:在“许可证服务器详细信息”页面上,通过单击启用服务器来启用许可证服务器,并在出现提示时,确认您要启用许可证服务器。许可证服务器现在可以向获得许可的客户端提供许可证。
4.8. 从服务器手动释放租借
本节将介绍如果需要立即释放许可证,如何使用许可证服务器 GUI 手动释放许可证的选项。
在许可证客户端 VM 已非正常停止并从系统中删除的示例中,许可证将保持在服务器上使用状态,并且直到租借到期才会被释放。因此,从服务器手动管理员释放非常有用,以下步骤将描述此过程。
4.8.1. 手动释放许可给 NLS 服务实例的特定客户端
本节将介绍如何查找和手动从服务器释放特定 VM。
每天手动释放的客户端 VM 有 10% 的滚动限制。这 10% 基于分配到服务器的总许可证数量。(示例:100 个许可证分配到服务器,可以专门手动释放 10 个租借)。
对于 DLS
- 导航到 DLS GUI 并使用
dls_admin
登录。 - 从左侧导航窗格导航到租借选项卡。
- 单击红色的释放按钮以手动释放虚拟机。
- 在弹出的对话框中单击强制释放。
对于 CLS
- 导航到 NVIDIA 许可门户并登录。
- 从左侧导航窗格导航到租借选项卡。
- 从标题中的下拉列表中,选择要强制释放已持有租借的服务实例。
- 单击红色的释放按钮以手动释放虚拟机。
- 在弹出的对话框中单击强制释放。
4.8.2. 手动强制批量释放许可给 NLS 服务实例的所有客户端
本节将介绍如何查找和强制释放给定 NVIDIA 许可证系统服务实例上正在使用的所有租借。
对于 DLS
- 导航到 DLS GUI 并使用
dls_admin
登录。 - 从左侧导航窗格导航到租借选项卡。
- 使用搜索栏搜索要释放的特定许可证客户端。要进行筛选,您可以按以下内容搜索:ID、功能名称、客户端来源引用、客户端主机名、客户端 MAC 地址或客户端 IP 地址。
- 选择要释放的多个许可证,然后单击红色的批量释放按钮。
对于 CLS
- 导航到 NVIDIA 许可门户并登录。
- 从左侧导航窗格导航到租借选项卡。
- 从标题中的下拉列表中,选择要强制释放已持有租借的服务实例。
- 使用搜索栏搜索要释放的特定许可证客户端。要进行筛选,您可以按以下内容搜索:ID、功能名称、客户端来源引用、客户端主机名、客户端 MAC 地址或客户端 IP 地址。
- 选择要释放的多个许可证,然后单击红色的批量释放按钮。
重置批量释放限制
总共可以从服务器批量释放 5 个许可证。一旦达到此限制,用户可以安装重置批量释放限制令牌。
对于 DLS
- 导航到 NVIDIA 许可门户并登录。
- 单击“服务实例”页面。
- 从右侧的“操作”菜单中,选择下载批量释放令牌。
- 下载令牌后,必须将其上传到 DLS VM 上。
- 如果存在活动租借,并且用户已用尽 DLS 上的批量强制释放限制,则将显示一个选项,用于上传此令牌以重置限制。
对于 CLS
- 导航到 NVIDIA 许可门户并登录。
- 单击“服务实例”页面。
- 从右侧的“操作”菜单中,选择重置批量释放限制。这将把限制重置回默认值 5。
- 如果用户在用尽当前限制之前执行此操作,则不允许执行该操作。
4.8.3. 强制释放节点锁定许可证
如果使用节点锁定许可证许可的客户端发生故障或突然关闭,则许可证将保持使用状态,并且直到到期才会被释放。如果您无法通过重新启动并正常关闭客户端来释放许可证,则可以使用分配了许可证的许可证服务器来强制释放它。
NVIDIA 许可证系统不限制您在给定期间内可以强制释放的节点锁定许可证的数量。
- 导航到分配了许可证的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅 导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,单击租借选项卡。
- 在租借选项卡上的租借文件列表中,单击您要释放的许可证的释放链接。
- 当询问您是否要强制释放许可证时,单击强制释放。
4.9. 支持非持久桌面池
非持久桌面池由具有重用 MAC 地址的 VM 实例使用,例如使用 Citrix Machine Creation Services (MCS) 或 VMware Instant Clone 技术创建的 VM 实例。如果您计划从服务实例向非持久桌面池提供许可证,请防止服务实例向具有相同 MAC 地址的客户端提供多个许可证。
当服务实例支持非持久桌面池时,它会在每个检出许可证的请求中检查客户端的 MAC 地址。如果请求指定了已检出许可证的客户端的 MAC 地址,则在履行请求之前清除现有检出。
您不能为绑定到节点锁定许可模式?选项已设置的许可证服务器的服务实例启用对非持久桌面池的支持。
4.9.1. 从 DLS 实例支持非持久桌面池
- 如果您尚未登录,请使用 DLS 实例所在的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。
- 在左侧导航窗格中,单击服务实例。
- 在打开的“服务实例”页面上,从操作菜单中,选择切换非持久桌面池。
- 当询问您是否要支持非持久桌面池时,单击启用非持久桌面池。
- 从切换非持久桌面池菜单中,选择以下选项之一,以根据您的设置检测地址冲突并避免重复租借
- 主机名:主机名
- Mac 地址:客户端的 MAC 地址
- 主机名/Mac 地址:客户端的主机名或 MAC 地址
注意非持久桌面池的状态显示在服务实例页面和服务器详细信息页面上。
要使用获得许可的产品,每个 NVIDIA 许可证系统客户端系统必须能够从 NVIDIA 许可证系统的服务实例或从本地安装在客户端系统上的许可证文件获取产品的许可证。客户端系统可以是配置了 NVIDIA vGPU 的 VM、配置为 GPU 直通的 VM,或在裸机部署中分配了物理 GPU 的物理主机。
5.1. 使用网络许可证配置获得许可的客户端
具有网络连接的客户端通过从 NVIDIA 许可证系统服务实例租借来获取许可证。服务实例通过网络从 NVIDIA 许可门户获取的浮动许可证池向客户端提供许可证。当获得许可的客户端不再需要许可证时,许可证将返回到服务实例。
早于 13.0 的 NVIDIA vGPU 软件版本不支持 NVIDIA 许可系统。有关支持 NVIDIA 许可系统的 NVIDIA vGPU 软件版本的完整详细信息,请参阅NVIDIA Delegated License Service 发行说明。
在配置获得许可的客户端之前,请确保满足以下先决条件
- NVIDIA vGPU 软件图形驱动程序已安装在客户端上。
- 您要部署在客户端上的客户端配置令牌已从 NVIDIA 许可门户或 DLS 创建,如 生成客户端配置令牌 中所述。
- 防火墙或代理中的端口 443 和 80 必须打开,以允许服务实例及其获得许可的客户端之间的 HTTPS 流量。对于 CLS 实例和 DLS 实例,这些端口都必须打开。注意
对于 DLS 1.1之前的 DLS 版本,还需要打开端口 8081 和 8082,以允许 DLS 实例及其获得许可的客户端之间的 HTTPS 流量。尽管不再需要这些端口,但为了向后兼容性,它们仍然受支持。
NVIDIA vGPU 软件图形驱动程序创建一个默认位置,用于在客户端上存储客户端配置令牌。如果您想使用此位置作为客户端配置令牌,并且在 Windows 上,正在使用 NVIDIA vGPU 配置客户端,则可以使用默认设置配置客户端。否则,您必须使用自定义设置配置客户端,如 使用自定义设置配置具有网络许可证的获得许可的客户端 中所述。
用于配置获得许可的客户端的过程对于 CLS 和 DLS 实例是相同的,但取决于客户端上运行的操作系统。
5.1.1. 在 Windows 上使用默认设置配置具有网络许可证的获得许可的客户端
从客户端执行此任务。
- 将客户端配置令牌复制到 %SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken 文件夹。
- 重新启动 NvDisplayContainer 服务。
客户端上的 NVIDIA 服务现在应自动从 CLS 或 DLS 实例获取许可证。
5.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
- 4:NVIDIA Virtual Compute 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
- 客户端配置令牌目录
- 您在上一步中将客户端配置令牌复制到的目录。
- 确定客户端配置令牌的当前文件访问模式。
- 保存您对 /etc/nvidia/gridd.conf 文件的更改并关闭该文件。
- 重新启动 nvidia-gridd 服务。
客户端上的 NVIDIA 服务现在应自动从 CLS 或 DLS 实例获取许可证。
5.1.3. 使用自定义设置配置具有网络许可证的获得许可的客户端
NVIDIA 许可证系统为获得许可的客户端的以下配置属性提供自定义设置
- 物理 GPU 的功能类型
- 用于存储客户端配置令牌的目录
- 获得许可的客户端和 CLS 实例之间的代理服务器的详细信息
如果您想使用默认目录来存储客户端配置令牌,并且在 Windows 上,正在使用 NVIDIA vGPU 配置客户端,请按照 配置具有网络许可证的获得许可的客户端 中的简化配置说明进行操作。
5.1.3.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 类型选择正确的许可证类型。 - 如果您正在升级现有驱动程序,则此值已设置。
- 对于 15.0 之前的 NVIDIA vGPU 软件版本,请将注册表值添加到 Windows 注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\GridLicensing
。
- 0:NVIDIA Virtual Applications
- 2:NVIDIA RTX Virtual Workstation
- 4:NVIDIA Virtual Compute Server
- 如果您正在许可 NVIDIA vGPU,则
- 可选:如果您想将客户端配置令牌存储在自定义位置,请将
ClientConfigTokenPath
字符串 (REG_SZ
) 注册表值添加到 Windows 注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
。注意对于 15.0 之前的 NVIDIA vGPU 软件版本,请将注册表值添加到 Windows 注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\GridLicensing
。将该值设置为您要为客户端存储客户端配置令牌的文件夹的完整路径。您可以对文件夹路径使用 \\完全限定域名\共享名 语法。默认情况下,客户端会在 %SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken 文件夹中搜索客户端配置令牌。
通过指定客户端上映射的共享网络驱动器,您可以简化在多个客户端上部署相同客户端配置令牌的操作。您可以只在共享网络驱动器中保留一个副本,而无需将客户端配置令牌单独复制到每个客户端。
- 如果您要将客户端配置令牌存储在自定义位置,请创建您要存储客户端配置令牌的文件夹。
如果文件夹是共享网络驱动器,请确保满足以下条件
- 该文件夹在客户端上本地映射到
ClientConfigTokenPath
注册表值中指定的路径。 COMPUTER
对象具有访问共享网络驱动器上文件夹的权限。COMPUTER
对象需要这些权限,因为许可证服务在任何用户登录之前运行。
如果您要将客户端配置令牌存储在默认位置,请省略此步骤。存储客户端配置令牌的默认文件夹在安装 NVIDIA vGPU 软件图形驱动程序后自动创建。
- 该文件夹在客户端上本地映射到
- 将客户端配置令牌复制到您要存储客户端配置令牌的文件夹中。确保此文件夹仅包含您要部署在客户端上的客户端配置令牌,而不包含其他文件或文件夹。如果文件夹包含多个客户端配置令牌,则客户端将使用文件夹中最新的客户端配置令牌。
- 如果您想将客户端配置令牌存储在默认位置,请将客户端配置令牌复制到 %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 软件 15.2 之前的版本不支持经过身份验证的非透明代理服务器。
通过将以下注册表值添加到 Windows 注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
来提供此信息。注意对于 15.0 之前的 NVIDIA vGPU 软件版本,请将注册表值添加到 Windows 注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\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 实例获取许可证。
5.1.3.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
- 4:NVIDIA Virtual Compute 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
配置文件参数中指定的路径。如果您要将客户端配置令牌存储在默认位置,请省略此步骤。存储客户端配置令牌的默认目录在安装 NVIDIA vGPU 软件图形驱动程序后自动创建。
- 将客户端配置令牌复制到您要存储客户端配置令牌的目录中。确保此目录仅包含您要部署在客户端上的客户端配置令牌,而不包含其他文件或目录。如果目录包含多个客户端配置令牌,则客户端将使用目录中最新的客户端配置令牌。
- 如果您想将客户端配置令牌存储在默认位置,请将客户端配置令牌复制到 /etc/nvidia/ClientConfigToken 目录。
- 如果您想将客户端配置令牌存储在自定义位置,请将令牌复制到您在上一步中创建的目录。
- 确保客户端配置令牌的文件访问模式允许所有者读取、写入和执行令牌,而组和其他人只能读取令牌。
- 确定客户端配置令牌的当前文件访问模式。
# ls -l client-configuration-token-directory
- 如有必要,将客户端配置令牌的模式更改为 744。
# chmod 744 client-configuration-token-directory/client_configuration_token_*.tok
- 客户端配置令牌目录
- 您在上一步中将客户端配置令牌复制到的目录。
- 确定客户端配置令牌的当前文件访问模式。
- 可选:如果您希望获得许可的客户端在用户登录到客户端时检出许可证,请将
EnableLicenseOnLogin
配置文件参数添加到文件 /etc/nvidia/gridd.conf 的新行,格式为EnableLicenseOnLogin=TRUE
。默认情况下,获得许可的客户端在客户端启动时检出许可证。 - 如果在获得许可的客户端和 CLS 实例之间配置了非透明代理服务器,请提供获得许可的客户端所需的有关代理服务器的信息。注意
NVIDIA vGPU 软件 15.2 之前的版本不支持经过身份验证的非透明代理服务器。
- 对于所有非透明代理服务器,请提供代理服务器的地址和端口号。
通过将以下配置文件参数添加到文件 /etc/nvidia/gridd.conf 的单独行中来提供此信息。
ProxyServerAddress=address ProxyServerPort=port
- 地址
- 代理服务器的地址。地址可以是完全限定域名,例如
iproxy1.example.com
,也可以是 IP 地址,例如10.31.20.45
。 - 端口
- 代理服务器的端口号。
此示例将代理服务器的地址设置为
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
- 域
- 用户所属的域,例如
example.com
。 - 用户名
- 将登录到代理服务器的用户的用户名,例如
clsuser
。 - path
- 包含将登录到代理服务器的用户的加密凭据的文件完整路径,例如,/etc/nvidia/proxy-credentials.dat。
此文件是按照 生成加密凭据文件 中所述生成的。
此示例将登录到代理服务器的用户的域和用户名设置为
example.com\clsuser
,并将包含用户加密凭据的文件的路径设置为 /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 服务。
5.1.4. 生成加密凭据文件
某些身份验证方法要求获得许可的客户端在向代理服务器进行身份验证时提供用户凭据。要使客户端能够安全地提供这些凭据而无需用户输入,您必须生成一个文件,其中包含客户端可以读取的加密形式的这些凭据。
以下身份验证方法需要加密凭据文件
- 基本身份验证
- 适用于非 Active Directory 域成员的客户端的 Microsoft Windows 质询/响应 (NTLM) 身份验证
如何生成加密凭据文件取决于客户端正在运行的操作系统。有关详细说明,请参阅以下主题
5.1.4.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 上配置网络许可的获得许可的客户端中所述。
5.1.4.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 上配置网络许可的获得许可的客户端中所述。
5.2. 配置具有 NVIDIA vGPU 软件节点锁定许可证的获得许可的客户端
没有网络连接或在气隙网络上的客户端系统可以从本地安装在客户端系统上的文件中获取节点锁定的 NVIDIA vGPU 软件许可证。
NVIDIA vGPU 软件 15.0 中引入了对节点锁定许可的支持。早期的 NVIDIA vGPU 软件版本不支持它。
在配置具有节点锁定许可证的获得许可的客户端之前,请确保满足以下先决条件
- NVIDIA vGPU 软件图形驱动程序已安装在客户端上。
- 包含要用于许可客户端的节点锁定许可证文件的 ZIP 存档已生成和下载,并且其内容已提取,如生成节点锁定许可证中所述。
NVIDIA vGPU 软件图形驱动程序创建默认位置,用于在客户端上存储许可证文件。您可以通过在 Windows 上添加注册表值或在 Linux 上设置配置参数来为许可证文件指定自定义位置。
配置具有节点锁定许可证的获得许可的客户端的过程取决于客户端上运行的操作系统。
5.2.1. 在 Windows 上配置具有节点锁定许可证的获得许可的客户端
从 VM 或物理主机执行此任务。
- 可选:如果要将许可证文件存储在自定义位置,请在 VM 或物理主机上创建一个本地文件夹,用于存储许可证文件。
如果要将许可证文件存储在默认位置,请省略此步骤。存储许可证文件的默认文件夹在安装 NVIDIA vGPU 软件图形驱动程序后自动创建。
- 可选:如果要将许可证文件存储在自定义位置,请将
LicenseFilePath
字符串 (REG_SZ
) 注册表值添加到 Windows 注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
。注意对于 15.0 之前的 NVIDIA vGPU 软件版本,请将注册表值添加到 Windows 注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\GridLicensing
。将值设置为您在上一步中创建的文件夹的完整路径。
如果要将许可证文件存储在默认位置,请省略此步骤。默认情况下,客户端在 %SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\License 文件夹中搜索许可证文件。
- 使用名为 index.txt 的索引文件,通过客户端的 MAC 地址识别客户端的许可证文件。此示例显示了 index.txt 文件,该文件标识了下表中为每个客户端生成的许可证文件。
客户端 MAC 地址 许可证文件名 00:00:5E:00:53:10
1a6e8f90-599e-4459-b2e0-06f67fc183fd.lic 00:00:5E:00:53:27
32894809-3f79-4461-9d53-100b7f6bc338.lic [{"id": "VM0", "pevi": [{"id": "MAC", "val": "00:00:5E:00:53:27", "mod": null}], "file_name": "32894809-3f79-4461-9d53-100b7f6bc338.lic"}, {"id": "VM1", "pevi": [{"id": "MAC", "val": "00:00:5E:00:53:10", "mod": null}], "file_name": "1a6e8f90-599e-4459-b2e0-06f67fc183fd.lic"}]
- 将为获得许可的客户端生成的 NVIDIA 许可证 .lic 文件复制到客户端上的本地文件夹。确保此文件夹仅包含您要部署在客户端上的许可证文件,而不包含其他文件或文件夹。如果文件夹包含多个许可证文件,客户端将使用文件夹中最新的许可证文件。
- 如果要将许可证文件存储在默认位置,请将许可证文件复制到 %SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\License 文件夹。
- 如果要将许可证文件存储在自定义位置,请将许可证文件复制到您在上一步中指定的文件夹。
- 重新启动 VM 或物理主机。
VM 或物理主机上的 NVIDIA 服务现在应自动从许可证文件获取许可证。
在 Windows VM 或物理主机配置了节点锁定的 NVIDIA vGPU 软件许可证后,NVIDIA 控制面板中不再提供用于配置基于网络的许可证服务器的选项。
5.2.2. 在 Linux 上配置具有节点锁定许可证的获得许可的客户端
从 VM 或物理主机执行此任务。
- 可选:如果要将许可证文件存储在自定义位置,请在 VM 或物理主机上创建一个本地目录,用于存储许可证文件。
如果要将许可证文件存储在默认位置,请省略此步骤。存储许可证文件的默认目录在安装 NVIDIA vGPU 软件图形驱动程序后自动创建。
- 可选:如果要将许可证文件存储在自定义位置,请将
LicenseFilePath
配置参数添加到文件 /etc/nvidia/gridd.conf。如果要将许可证文件存储在默认位置,请省略此步骤。默认情况下,客户端在 /etc/nvidia/vGPULicense 目录中搜索许可证文件。- 以 root 用户身份,在纯文本编辑器(如 vi)中打开文件 /etc/nvidia/gridd.conf。
$ sudo vi /etc/nvidia/gridd.conf
注意您可以通过复制提供的模板文件 /etc/nvidia/gridd.conf.template 来创建 /etc/nvidia/gridd.conf 文件。
- 将以下行添加到文件 /etc/nvidia/gridd.conf。
LicenseFilePath="path"
- path
- 您在上一步中创建的目录的完整路径。
此示例演示了如何配置获得许可的 Linux 客户端以在 /etc/nvidia/nll 目录中搜索许可证文件。
# /etc/nvidia/gridd.conf.template - Configuration file for NVIDIA Grid Daemon … # Description: Used to specify the directory path which is checked for node-locked licensing files. # Data type: string # Format: "<directory path>" LicenseFilePath="/etc/nvidia/nll" ...
- 保存您对 /etc/nvidia/gridd.conf 文件的更改并关闭该文件。
- 以 root 用户身份,在纯文本编辑器(如 vi)中打开文件 /etc/nvidia/gridd.conf。
- 使用名为 index.txt 的索引文件,通过客户端的 MAC 地址识别客户端的许可证文件。此示例显示了 index.txt 文件,该文件标识了下表中为每个客户端生成的许可证文件。
客户端 MAC 地址 许可证文件名 00:00:5E:00:53:10
1a6e8f90-599e-4459-b2e0-06f67fc183fd.lic 00:00:5E:00:53:27
32894809-3f79-4461-9d53-100b7f6bc338.lic [{"id": "VM0", "pevi": [{"id": "MAC", "val": "00:00:5E:00:53:27", "mod": null}], "file_name": "32894809-3f79-4461-9d53-100b7f6bc338.lic"}, {"id": "VM1", "pevi": [{"id": "MAC", "val": "00:00:5E:00:53:10", "mod": null}], "file_name": "1a6e8f90-599e-4459-b2e0-06f67fc183fd.lic"}]
- 将为获得许可的客户端生成的 NVIDIA 许可证 .lic 文件复制到客户端上的本地目录。确保此目录仅包含您要部署在客户端上的许可证文件,而不包含其他文件或目录。如果目录包含多个许可证文件,客户端将使用目录中最新的许可证文件。
- 如果要将许可证文件存储在默认位置,请将许可证文件复制到 /etc/nvidia/vGPULicense 目录。
- 如果要将许可证文件存储在自定义位置,请将许可证文件复制到您在上一步中指定的目录。
- 重新启动 VM 或物理主机。
VM 或物理主机上的 NVIDIA 服务现在应自动从许可证文件获取许可证。
在 Linux VM 或物理主机配置了基于文件的 NVIDIA vGPU 软件许可证后,NVIDIA X Server 设置中不再提供用于配置联网许可证服务器的选项。
5.3. 验证获得许可的客户端的 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 :
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)
…
…
在完成服务实例的初始配置后,在服务实例的生命周期内根据需要执行这些例行管理任务。
6.1. 迁移 DLS 实例
迁移 DLS 实例简化了 DLS 设备 的升级。安装新版本的 DLS 设备后,您可以将许可证服务器、用户注册、IP 地址和服务实例从现有 DLS 设备传输到新的 DLS 设备。但是,现有 DLS 设备上的事件记录不会迁移。
迁移 DLS 实例 HA 集群的注意事项
如果要为 HA 集群中的 DLS 实例升级 DLS 设备,请仅迁移主实例。在迁移过程中,辅助 DLS 实例中的所有数据都将被删除,并且该实例将从集群中移除。完成主实例的迁移过程后,您可以从新的主实例配置 HA 集群。
NVIDIA 许可证系统支持的迁移类型
要执行的迁移类型取决于新版本的 DLS 虚拟设备是包含安全更新和错误修复的软件更新,还是新的主要版本。
- 就地升级
- 当 NVIDIA 提供安全更新和错误修复时,就地升级使您能够将软件更新应用于 DLS 设备。就地升级 DLS 设备会将软件更新覆盖安装在现有设备上,而不会中断服务。设备上的所有数据在升级过程中都会保留。由于更新是覆盖安装在现有设备上的,因此您无法通过执行就地升级来更改 DLS 设备的平台类型。注意
NVIDIA 许可证系统 3.0.0 及更高版本支持就地升级。早于 3.0.0 的 NVIDIA 许可证系统版本不支持就地升级。
- 基于文件的升级
- 这是一种新的升级形式,它取代了门户辅助升级,并且从 DLS 虚拟设备 3.3.0 版本开始提供。在此升级中,您无需将任何文件上传到 NVIDIA 许可门户。
执行基于文件的升级可能会有一些停机时间。
开始之前
确保端口 8081 和 8084 的端口映射未从其默认值更改。为防止迁移失败时数据丢失,请在迁移 DLS 设备之前创建其快照。如果迁移失败,您可以从快照还原 DLS 设备。有关如何创建快照以及如何从快照还原 DLS 设备的信息,请参阅下表中设备类型的说明。
设备类型 | 创建快照 | 还原设备 |
---|---|---|
Citrix Hypervisor VM | 创建 VM 快照 | 将 VM 还原到其先前的状态 |
基于 Linux 内核的虚拟机 (KVM) VM | 如何创建 QEMU/KVM 虚拟机的快照 (linuxconfig.org) | 如何创建 QEMU/KVM 虚拟机的快照 (linuxconfig.org) |
带有 Hyper-V VM 的 Microsoft Windows Server | 使用检查点将虚拟机还原到先前的状态 | 应用检查点 |
Red Hat Enterprise Linux 基于内核的虚拟机 (KVM) VM | 创建快照 | snapshot-revert |
Red Hat Virtualization VM | 创建快照 | snapshot-revert |
Ubuntu Hypervisor VM | 如何创建 QEMU/KVM 虚拟机的快照 (linuxconfig.org) | 如何创建 QEMU/KVM 虚拟机的快照 (linuxconfig.org) |
VMware vSphere Hypervisor (ESXi) VM | 在 VMware Host Client 中拍摄快照 | 还原快照 |
容器 | 备份 DLS 容器卷 | 停止 DLS 容器,还原 DLS 容器卷,然后再次启动容器。 |
迁移 DLS 1.0.0 或 1.0.1 实例的注意事项
如果要迁移 DLS 1.0.0 或 1.0.1 实例,则 VA 升级作业进度页面上显示的版本为 1.0.0,以保持向后兼容性。
迁移 DLS 1.0.0 或 1.0.1 实例后,您必须更改 dls_admin
用户的密码,以在新实例上启用或禁用 dls_system
用户。
从早期版本升级的说明
本文档中的说明解释了如何从此版本升级到更高版本。要从早期版本升级,请按照该版本指定的说明进行操作:
- 从 DLS 3.1.0 升级的说明
- 从 DLS 3.0.0 升级的说明
- 从 DLS 2.1.0 升级的说明
- 从 DLS 2.0.1 升级的说明
- 从 DLS 2.0.0 升级的说明
- 从 DLS 1.1 升级的说明
- 从 DLS 1.0.1 升级的说明
- 从 DLS 1.0 升级的说明
执行 DLS 实例的基于文件的迁移
当 NVIDIA 发布新主要版本的 DLS 虚拟设备时,DLS 实例的基于文件的迁移使您能够基于 DLS 实例的二进制迁移文件执行升级。
- 启动 DLS 实例的升级
- 用于准备新设备以从中生成 DLS 迁移令牌的说明:
- 为要迁移的 DLS 实例生成迁移文件
- 将迁移数据传输到升级后的虚拟设备上的 DLS 实例
- 对于 HA 集群:与 HA 集群中的主节点同步更改
- 对于 HA 集群:配置 DLS 实例的 HA 集群
要执行 DLS 实例的基于文件的升级,请按照以下说明顺序进行操作
6.1.1. 就地升级 DLS 设备
为了提供安全更新和错误修复,NVIDIA 会定期发布 DLS 设备软件的更新。要将软件更新应用于 DLS 设备,请就地升级 DLS 设备。就地升级 DLS 设备会将软件更新覆盖安装在现有设备上,而不会中断服务。设备上的所有数据在升级过程中都会保留。
要就地升级 DLS 设备,请按照以下说明顺序进行操作
- 启动 DLS 设备的就地升级
- DLS 设备托管平台的类型说明
6.1.1.1. 启动 DLS 设备的就地升级
启动 DLS 设备的就地升级会将托管在该设备上的实例置于维护模式。如果实例是 DLS 实例 HA 集群中的节点,则集群中的所有节点都将置于维护模式。在维护模式下,DLS 实例只能执行许可操作。所有其他操作均被禁用。
对于 HA 集群:仅从托管当前主实例的 DLS 虚拟设备执行此任务。
- 登录到要启动就地升级的 DLS 虚拟设备。
- 在 NVIDIA 许可仪表板的左侧导航窗格中,单击维护。
- 在打开的“维护”页面上,向下滚动到页面上的虚拟设备升级部分。
- 确保基于文件的升级选项未设置。
- 单击启动就地升级。
按照 DLS 设备托管平台的类型说明进行操作
6.1.1.2. 就地升级基于容器的 DLS 设备
- 包含 NVIDIA 许可证系统更新的 ZIP 存档已从 NVIDIA 许可门户下载。
- 升级已启动,如启动 DLS 设备的就地升级中所述。
对于 HA 集群:在托管集群中实例的每个 DLS 设备上执行此任务。在升级托管当前主实例的 DLS 设备之前,升级集群中每个其他实例的 DLS 设备。
- 停止 DLS 设备容器。
- 以 postgres 用户身份,运行 /etc/dls/take-snapshot.sh 脚本以创建 PostgreSQL 数据库容器的快照。运行脚本的命令取决于您正在使用的容器编排平台。
- 停止 PostgreSQL 数据库容器。
- 备份 postgres-data、logs、rabbitmq_data 和 configurations 卷。
- 清理 postgres-data 和 rabbitmq_data 卷。注意
不要清理 configurations 卷。
- 提取包含 NVIDIA 许可证系统更新的 ZIP 存档的内容。
$ sudo unzip nls-version-bios.zip
- version
- 您要升级到的 NVIDIA 许可证系统的版本号,例如,2.2.1。
- 使用现有卷映射在现有主机上部署更新后的容器。按照您正在使用的容器编排平台的说明进行操作。
- 确认 NVIDIA 许可应用程序和关联软件已升级,并且现有数据已保留在 DLS 设备上。
- 以 dls_admin 用户身份登录到您刚刚升级的 DLS 设备。
- 在左侧导航窗格中,单击支持。
- 在打开的“支持”页面上,确认NVIDIA Delegated License System字段显示正确的软件版本。
- 在左侧导航窗格中,单击服务实例,并确认设备上 DLS 实例的详细信息已保留。
- 在左侧导航窗格中,单击仪表板,并确认已安装的许可证服务器的详细信息已保留。
6.1.1.3. 就地升级基于 VM 的 DLS 设备
启动 DLS 设备的就地升级会将托管在该设备上的实例置于维护模式。如果实例是 DLS 实例 HA 集群中的节点,则集群中的所有节点都将置于维护模式。在维护模式下,DLS 实例只能执行许可操作。所有其他操作均被禁用。
对于 HA 集群:仅从托管当前主实例的 DLS 虚拟设备执行此任务。
- 登录到要启动就地升级的 DLS 虚拟设备
- 在 NVIDIA 许可仪表板的左侧导航窗格中,单击维护。
- 在打开的“维护”页面上,向下滚动到页面上的虚拟设备升级部分。
- 确保基于文件的升级选项未选中。
- 单击启动就地升级。
- 包含 NVIDIA 许可证系统更新的 ZIP 存档已从 NVIDIA 许可门户下载。
- DLS 虚拟机设备源节点版本为 3.3.0,并且已安装许可证服务器。
- 已创建 DLS 设备虚拟机快照。
- 就地升级需要防火墙中打开端口 8443。
- 就地升级限制
- 操作系统软件包未更改。升级到最新的 VM。
- LDAP 配置设置未更改。与 LDAP 相关的任何问题或增强功能都需要迁移到新的 VM
dls_admin
脚本和所有其他脚本均未升级、更新或添加。- NTP 配置设置未更改。与 NTP 相关的任何问题或增强功能都需要迁移到新的 VM。
- NFS 配置设置未更改。与 NFS 相关的任何问题或增强功能都需要迁移到新的 VM。
- 操作系统用户配置和设置未更改。
- 如果要执行 DLS 升级以解决与这些字段相关的问题,则需要基于文件的升级。
对于 HA 集群:在托管集群中实例的每个 DLS 设备上执行此任务。在升级托管当前主实例的 DLS 设备之前,升级集群中每个其他实例的 DLS 设备。
- 登录到 DLS 节点。
- 导航到“维护”选项卡。
- 在“虚拟设备升级”部分中,选择“就地升级”切换按钮。
- 触发就地升级。用户可以通过单击用户界面按钮“启动就地升级过程”来执行此操作。
- 这样做会将所有节点置于维护模式以进行升级,并启用“升级工作流”的导航界面。
- 在此期间,只要独立节点在升级期间处于运行状态,它将继续提供租约服务。
- 用户将无法对许可证服务器执行任何管理操作。
- 一旦 DLS UI 的“维护”页面上的用户界面上启用了“打开 DLS 升级工作流”按钮,用户就可以在单独的浏览器选项卡上导航到“升级”工作流屏幕。
- 在“升级”工作流屏幕上,用户应上传容器映像 zip 文件。
- 容器映像 zip 文件上传完成后,升级将立即开始。此过程包含 10 个步骤,其详细信息可在“升级工作流”屏幕的右侧看到。
- “升级”屏幕工作流显示升级进度的逐步详细信息。
- 在升级过程的步骤 10 中,系统将等待新容器启动。设备服务和容器完成启动最多需要 10 分钟。
- 如果新容器/服务未按时启动,您可以选择“回滚”升级。
- 您可以选择“重新启动”容器,以解决任何瞬时问题。
- 一旦步骤 10 完成且容器成功启动,升级即被视为完成,用户将能够使用“升级工作流”屏幕上可见的 UI 按钮导航到 DLS UI 门户。
- 此步骤将关闭“升级工作流”屏幕,并且它将不再可访问。
6.1.1.4. DLS 设备就地升级故障排除
如果 DLS 设备的就地升级失败,您可以将设备还原到其先前版本。如何将设备还原到其先前版本取决于升级是针对 DLS 实例的整个 HA 集群失败,还是仅针对集群中的某些实例失败。
- 基于容器的设备:
- 停止升级后的 DLS 设备容器。
- 还原备份的 postgres-data、logs 和 rabbitmq_data 卷。
- 使用现有卷映射在现有主机上部署先前版本的容器。
- 如果升级仅针对集群中的某些实例失败,请从成功升级的节点重新创建集群。
- 将升级后的节点标记为集群中的主节点。
- 从集群中移除升级失败的任何节点。
- 安装或部署新的 DLS 设备,其网络配置与未能创建的设备相同。
- 将新的 DLS 设备添加到集群。
执行 DLS 实例的基于文件的迁移
当 NVIDIA 发布新主要版本的 DLS 虚拟设备时,DLS 实例的基于文件的迁移使您能够基于 DLS 实例的二进制迁移文件执行升级。
对于基于 HA 的基于文件的迁移,许可客户端在迁移后重新创建集群时可能会看到一些瞬时故障。
一旦在升级过程完成后还原 HA 集群,这些瞬时故障将得到解决。如果某些客户端仍然失败,则需要重新启动它们。
要执行 DLS 实例的基于文件的升级,请按照以下步骤操作
- 启动 DLS 实例的升级
- 用于准备新设备以从中生成 DLS 迁移令牌的说明
- 为要迁移的 DLS 实例生成迁移文件
- 将迁移数据传输到升级后的虚拟设备上的 DLS 实例
- 对于 HA 集群:与 HA 集群中的主节点同步更改
- 对于 HA 集群:配置 DLS 实例的 HA 集群
6.1.2.1. 启动 DLS 实例的升级
- 登录到托管要迁移的 DLS 实例的现有 DLS 虚拟设备。DLS 实例必须是独立 DLS 实例或 HA 集群中的主节点。
- 在 NVIDIA 许可仪表板的左侧导航窗格中,单击维护。
- 在打开的“维护”页面上,向下滚动到页面上的虚拟设备升级部分。
- 设置基于文件的升级选项。
- 如果 DLS 实例是 HA 集群中的主节点,则列出集群中节点的表将添加到“维护”页面。表中的每个节点(主节点除外)都有一个升级按钮。在打开的“触发基于文件的升级”窗口中,单击升级。
- 在基于文件的迁移完成之前,对现有 DLS 虚拟设备的修改将被阻止。实例在迁移过程中的状态取决于实例是独立实例还是 HA 集群中的节点。
- 如果实例是独立 DLS 实例,则该实例的所有操作(包括许可操作)都将被禁用。
- 如果实例是 DLS 实例 HA 集群中的节点,则辅助节点中的所有数据都将被删除,并且辅助节点将从集群中移除。集群中的主节点将置于维护模式,并继续作为独立 DLS 实例运行。在维护模式下,DLS 实例只能执行许可操作。所有其他操作均被禁用。
准备一个新的设备,从中生成 DLS 实例令牌。如何准备设备取决于设备的类型以及设备将托管的节点类型。
6.1.2.2. 为独立 DLS 实例准备新设备
迁移 DLS 实例需要从运行新版本 DLS 软件的设备生成 DLS 迁移令牌。为独立 DLS 实例准备新设备涉及安装或部署新版本的 DLS 设备,其方式与首次安装 DLS 设备相同。
确保包含最新 DLS 虚拟设备映像的 ZIP 存档已从 NVIDIA 许可门户下载。
- 安装或部署新版本的 DLS 设备。有关详细说明,请参阅以下主题: 在受支持的虚拟机管理程序上安装 DLS 虚拟设备映像
- 启动托管升级后的 DLS 设备的新 VM。
一旦您能够看到上面安装的节点的 Web 界面,请单击“升级”。在“升级”页面中,选择基于文件的升级并下载 DLS 迁移令牌。
生成并上传新虚拟设备的 DLS 迁移令牌,以生成迁移文件,如为要迁移的 DLS 实例生成迁移文件中所述
6.1.2.3. 为 HA 集群中基于 VM 的节点准备新设备
迁移 DLS 实例需要从运行新版本 DLS 软件的设备生成 DLS 迁移令牌。为 HA 集群中基于 VM 的节点准备新设备涉及安装新版本的 DLS 设备,其方式与首次安装 DLS 设备相同。新设备将托管集群中的辅助节点。
确保已从 NVIDIA 许可门户下载包含您选择的虚拟机管理程序的最新 DLS 虚拟设备映像的 ZIP 存档。
- 关闭 VM,该 VM 托管您已选择在启动 DLS 实例的升级中的迁移文件中升级的现有辅助节点。
- 在您选择的虚拟机管理程序上安装新版本的 DLS 设备,如在受支持的虚拟机管理程序上安装 DLS 虚拟设备映像中所述。
- 使用与托管现有辅助节点的 VM 相同的网络属性配置托管新版本 DLS 设备的 VM。
一旦您能够看到上面安装的节点的 Web 界面,请单击“升级”。在“升级”页面中,选择基于文件的升级并下载 DLS 迁移令牌。
上传新虚拟设备的 DLS 迁移令牌,以生成迁移文件,如为要迁移的 DLS 实例生成迁移文件中所述。
6.1.2.4. 为要迁移的 DLS 实例生成迁移文件
在为升级后的 DLS 实例生成迁移令牌后,您必须为该实例生成迁移文件。生成迁移文件涉及为将托管迁移后的 DLS 实例的新虚拟设备生成和上传 DLS 迁移令牌。确保您拥有来自升级后的 DLS 实例的 DLS 迁移令牌,如下列主题中所述
- 登录到托管要迁移的 DLS 实例的现有 DLS 虚拟设备。
- 在 NVIDIA 许可仪表板的左侧导航窗格中,单击维护。
- 在打开的“维护”页面上,向下滚动到页面上的虚拟设备升级部分。
- 设置基于文件的升级选项。
- 上传从升级后的 DLS 实例下载的迁移令牌。出现提示时,确认您要上传迁移令牌。
- 等待迁移文件生成。迁移文件生成后,单击下载迁移文件。名为 on_prem_migration_file_mm-dd-yyyy-hh-mm-ss.bin 的迁移文件将保存到您的下载文件夹中。
获取迁移文件后,请按照 将迁移数据传输到升级后的虚拟设备上的 DLS 实例 中的说明进行操作。
6.1.2.5. 将迁移数据传输到升级后的虚拟设备上的 DLS 实例
- 返回到升级后的虚拟设备上 NVIDIA Licensing 应用程序的“虚拟设备升级”页面。
- 在“虚拟设备升级”页面上,选择文件库升级。
- 单击上传迁移文件。
- 在打开的“上传迁移文件”弹出窗口中,单击选择文件。
- 在打开的文件浏览器中,导航到包含名为 on_prem_migration_file_mm-dd-yyyy-hh-mm-ss.bin 的迁移文件的文件夹,然后选择该文件。
- 返回“上传迁移文件”窗口,单击上传。
如果要传输独立 DLS 实例的迁移数据,则无需执行进一步操作。虚拟设备即可使用。
如果要传输 HA 集群中节点的迁移数据,请按照 与 HA 集群中的主节点同步更改 中的说明,与集群中的主节点同步数据更改。要同步的数据更改来自迁移期间执行的许可操作。
6.1.2.6. 与 HA 集群中的主节点同步更改
- 登录到托管要从中同步数据的 DLS 实例的现有 DLS 虚拟设备。此实例以维护模式运行。
- 在 NVIDIA 许可仪表板的左侧导航窗格中,单击维护。
- 在打开的“维护”页面上,向下滚动到页面上的虚拟设备升级部分。
- 在列出集群中节点的表格中,单击同步更改。现有 DLS 实例上的任何更改数据都将复制到新的 DLS 实例。复制更改的数据后,旧实例和新实例都以维护模式运行。
- 登录到托管已同步数据的 DLS 实例的新的 DLS 虚拟设备。
如果已登录,请重新加载浏览器页面。
- 在 NVIDIA Licensing 仪表板上,单击确认。现有 DLS 实例上的所有数据都将被删除。新的 DLS 实例现在是集群中的主节点,并将继续使用来自现有 DLS 实例的更改进行更新。当新的 DLS 实例使用来自现有实例的所有更改进行更新后,现有 DLS 实例将从托管它的 DLS 设备中删除。
- 删除托管现有 DLS 实例的 DLS 设备。
在新 DLS 实例更新后的七天内,“维护”页面会显示有关迁移前集群节点的信息。您可以使用此信息在迁移后重新创建集群。
- 按照以下主题中的说明,为集群中的辅助节点安装或部署新的 DLS 虚拟设备:在受支持的虚拟机管理程序上安装 DLS 虚拟设备镜像
要获取有关升级前集群中节点的信息(例如 IP 地址),请参阅升级后的主节点的“维护”页面。
- 按照 配置 DLS 实例的 HA 集群 中的说明,将新的辅助节点添加到集群。
6.2. 设置服务实例的租用授权令牌的有效期
您可以设置租用授权令牌的有效期,以提高性能或增强安全性。延长有效期可以通过减少客户端在服务实例授予许可请求之前获得授权的频率来提高性能。缩短过期时间可以通过增加客户端在服务实例授予许可请求之前获得授权的频率来提高安全性。
默认有效期为一小时。您可以将有效期设置为最多 24 小时的任何值。
6.2.1. 设置 DLS 实例的租用授权令牌的有效期
在托管 DLS 实例的虚拟设备上的 NVIDIA Licensing 应用程序上执行此任务。
- 打开 Web 浏览器并连接到 URL
https://<i>dls-vm-ip-address</i>
。- dls-vm-ip-address
- 安装了 DLS 虚拟设备的 VM 的 IP 地址,或者如果已定义,则为完全限定域名或 CNAME。
您可以从 hypervisor 的管理控制台获取 IP 地址。
- 在打开的登录页面上,提供 DLS 虚拟设备上 DLS 管理员用户的用户凭据,然后单击登录。
- 在 NVIDIA Licensing 仪表板的左侧导航窗格中,单击服务实例。
- 在打开的“服务实例”页面上,单击编辑设置。
- 在打开的窗口顶部选择服务实例设置,根据需要修改授权令牌到期时间,然后单击保存设置。
6.3. 指定客户端注册的保留期限
为了防止数据库中过度消耗内存,DLS 实例会定期删除在特定时间段内处于非活动状态的许可客户端的详细信息。非活动客户端没有从绑定到 DLS 实例的许可证服务器检出任何许可证。您可以控制客户端必须处于非活动状态多长时间后其详细信息才会被删除。
- 在 DLS 设备上启用 sudo 用户 rsu_admin。
- 使用 rsu_admin 登录到设备。
- 您可以列出现有配置值,也可以更新这些值。
- 列出:运行以下命令获取当前值。
sudo python /etc/adminscripts/configure_client_registrations_clean_up_settings.py --action list --username dls_user --password dls_password
- 更新:运行以下命令更新现有值。
sudo python /etc/adminscripts/configure_client_registrations_clean_up_settings.py --action update --username dls_user --password dls_password -time-window-for-purging-inactive-clients P1D -time-threshold-for-inactive-clients-registration P5D
以
中描述的格式指定以下配置值。 - time-window-for-purging-inactive-clients
- 没有活动租用,并且在此配置窗口中没有租用活动的许可客户端将被清除。
- time-threshold-for-inactive-clients-registration
- 清除非活动客户端时要考虑的客户端注册时间窗口。
注意DLS 3.1.0 中 /etc/dls/network/registered_origin_cleanup_config.properties 文件中的先前设置不会迁移到 DLS 3.2.0 及更高版本。通过脚本定义的当前设置(属于 DLS 3.2.0 的一部分)将迁移到更新的 DLS 版本。
- 列出:运行以下命令获取当前值。
6.4. 收集许可证使用情况统计信息
您可以使用许可证使用情况统计信息来估算您需要购买的许可证数量。这些统计信息仅可从 DLS 实例获取。它们不可从 CLS 实例获取。
使用情况统计信息需要事件数据,如果没有任何事件可用,则统计信息可能不正确。为了确保收集的统计信息正确,请按照 设置 DLS 实例上事件的保留期限 中的说明,将事件的保留期限设置为 90 天。
- 打开 Web 浏览器并连接到 URL
https://<i>dls-vm-ip-address</i>
。- dls-vm-ip-address
- 安装了 DLS 虚拟设备的 VM 的 IP 地址,或者如果已定义,则为完全限定域名或 CNAME。
您可以从 hypervisor 的管理控制台获取 IP 地址。
- 在打开的登录页面上,提供 DLS 虚拟设备上 DLS 管理员用户的用户凭据,然后单击登录。
- 在 NVIDIA Licensing 仪表板的左侧导航窗格中,单击指标。
- 在打开的“指标”页面中,指定您要收集的统计信息的详细信息,然后单击获取许可证使用率。
- 在日期范围(最多 92 天)下,使用日历小部件设置您要收集许可证使用情况统计信息的时间段的开始日期和结束日期。
- 从指标下拉列表中,选择您要收集的统计信息。
- 在功能下,选择您要收集使用情况统计信息的许可产品。
- 要排除在您要收集许可证使用情况统计信息的时间段的开始日期之前检出的正在使用的许可证,请选择排除先前的租用选项。
您请求的统计信息将添加到“指标”页面底部的表格中。
- 可选:如果您想要 CSV 格式的报告,请按如下方式创建报告
- 在“指标”页面底部表格的右上角,单击导出数据图标。
- 在打开的“导出数据”弹出窗口中,指定要导出的 CSV 文件的名称,然后单击导出。
一个 .csv 文件将保存到您的默认下载文件夹中。
6.5. 配置许可事件的电子邮件警报
为了避免服务中断,您可以为与 NLS 资源过期或耗尽相关的许可事件配置电子邮件警报。这些警报提醒您在受影响的资源过期或耗尽之前续订它们。默认情况下,NLS 不发送任何警报。如果您希望 NLS 发送警报,则必须创建它们。创建警报后,您可以编辑它,并且如果您希望 NLS 停止发送它,可以禁用它或停止警报。
您可以为 NVIDIA Licensing Portal 和 DLS 设备配置电子邮件警报。您可以为其配置电子邮件警报的许可事件类型取决于警报的范围。
容器编排平台 | 命令 |
---|---|
Docker |
|
Kubernetes |
|
Podman |
|
Red Hat OpenShift Container Platform |
|
VMware Tanzu Application Platform |
|
容器编排平台 | 操作说明 |
---|---|
Docker | 在 Docker 上部署容器化的 DLS 软件镜像 |
Kubernetes | 在 Kubernetes 平台上部署容器化的 DLS 软件镜像 |
Podman | 在 Podman 上部署容器化的 DLS 软件镜像 |
Red Hat OpenShift Container Platform | 在 Kubernetes 平台上部署容器化的 DLS 软件镜像 |
VMware Tanzu Application Platform | 在 Kubernetes 平台上部署容器化的 DLS 软件镜像 |
许可事件类型 | 范围 |
---|---|
租用消耗 |
|
许可证过期 | NVIDIA Licensing Portal |
许可证获取失败 | NVIDIA Licensing Portal |
许可证续订失败 | NVIDIA Licensing Portal |
API 密钥过期 | NVIDIA Licensing Portal |
故障转移事件 | DLS 设备 |
服务可用性 | DLS 设备 |
系统资源 | DLS 设备 |
对于每种类型的事件,您可以指定谁应该接收电子邮件警报以及特定于每种事件类型的其他属性,这些属性确定发送警报的标准。但是,每种事件类型的警报内容都是预设的,无法更改。
如果要为 DLS 设备配置电子邮件警报,请确保 DLS 设备可以访问简单邮件传输协议 (SMTP) 服务器以发送警报。
- 导航到 NVIDIA Licensing 应用程序中配置您感兴趣的范围的电子邮件警报的部分。
- 如果出现提示,请提供 SMTP 服务器的详细信息,以便从此 DLS 设备发送警报,然后单击配置 SMTP。
您可以通过单击更新 SMTP 配置链接来更改先前提供的详细信息。您还可以更改用于从使用 SMTP 中继的 DLS 实例发送电子邮件的“发件人”电子邮件地址。
- 主机
- 完全限定域名,例如 smtp.example.com,或用于从此设备发送警报的 SMTP 服务器的 IP 地址。
- 用户名
-
DLS 设备将作为该用户登录到 SMTP 服务器以从此设备发送警报的用户名。用户名必须标识 SMTP 服务器上的有效用户帐户。
此字段为可选字段。
- 密码
-
用户登录到 SMTP 服务器的密码。
此字段为可选字段。
- 安全性
-
-
强制 SSL
客户端将尝试建立安全连接,而无需询问服务器的兼容性。如果成功,将建立安全连接,然后进行握手。如果服务器不兼容或连接超时,则传输将被放弃。
-
机会性 SSL
客户端将运行 STARTTLS 命令以将连接升级为加密连接。如果服务器兼容且未发生任何错误,则将建立安全的 SSL 连接。如果在此过程中发生任何故障,则将建立纯文本传输。
-
无 SSL
电子邮件传输中未使用 SSL 加密协议。
-
- 端口号
- SMTP 端口,用于管理从一台服务器到另一台服务器的信息传输。可用的端口号为 587、465、25 和 2525。
- 发件人电子邮件地址
-
如果需要,请更改用于从 DLS 实例发送电子邮件的“发件人”电子邮件地址。默认电子邮件地址值为 noreply@nvidia.com。
- 创建或编辑您感兴趣的警报。
- 要创建警报,请单击创建。
- 要编辑警报,请单击编辑。
- 在打开的弹出窗口中,指定谁应该接收电子邮件警报以及特定于每种事件类型的其他属性,这些属性确定发送警报的标准,然后单击创建警报或编辑警报。
当您收到警报时,请在受影响的资源过期或耗尽之前续订它们。受影响的资源以及如何续订它们取决于导致 NLS 发送警报的许可事件类型
- API 密钥过期:续订 API 密钥。
- 许可证过期:续订您现有的授权或购买新的授权。
- 租用消耗:如果还有其他许可证可用,请从消耗许可证的许可证池中添加更多许可证。否则,计划购买更多许可证并将购买的许可证添加到许可证池。
- 服务可用性:检查DLS 服务实例选项卡,查看状态是否指示为“活动”。如果不是,请重新启动服务。
- 系统资源
- 要在 DLS 设备上扩展 CPU 和 RAM,请增加虚拟机管理程序上 vCPU 的数量和总 RAM。
- 要增加 DLS 设备上的硬盘存储空间,请按照 扩展 DLS 虚拟设备上的磁盘空间 中的说明进行操作。如果磁盘使用率达到 65%,系统将清除审计事件。使用导出事件功能来保留事件。
- 故障转移事件:当主 DLS 实例发生故障时,将向用户发送电子邮件警报,指示故障转移的原因。当辅助 DLS 实例成为主实例并开始提供许可证时,将发送电子邮件警报,确认故障转移事件成功。
6.5.1. 磁盘空间阈值配置
默认情况下,DLS 虚拟设备的磁盘空间阈值设置为 65%。当磁盘使用率超过 65% 阈值时,系统会自动启动一个进程来删除所有事件和旧的注册数据。此外,当磁盘空间阈值超过 60% 时,您将收到电子邮件警报,这比 DLS 设备上设置的默认阈值低 5%。
要调整默认阈值,请通过修改部署文件中的 PURGE_DISK_THRESHOLD 环境变量来指定不同的百分比值,然后重新启动应用程序。
6.6. 设置 DLS 实例上事件的保留期限
DLS 实例记录与实例管理以及从实例向许可客户端提供许可证相关的事件。事件是实时捕获的,并在 5 秒内在实例的“事件”页面上显示。您可以通过设置 DLS 实例上事件的保留期限来控制在此页面上显示的事件数量。任何早于保留期限的事件都将从实例中删除。
- 打开 Web 浏览器并连接到 URL
https://<i>dls-vm-ip-address</i>
。- dls-vm-ip-address
- 安装了 DLS 虚拟设备的 VM 的 IP 地址,或者如果已定义,则为完全限定域名或 CNAME。
您可以从 hypervisor 的管理控制台获取 IP 地址。
- 在打开的登录页面上,提供 DLS 虚拟设备上 DLS 管理员用户的用户凭据,然后单击登录。
- 在左侧导航窗格中,单击设置。
- 在打开的“服务实例设置”页面上,展开基本设置部分,然后单击事件选项卡。
- 在事件选项卡中,设置每种事件类型的保留天数,然后单击保存设置。
6.7. 使用第三方签名 SSL 证书配置 DLS 虚拟设备
默认情况下,DLS 虚拟设备配置有自签名 SSL 证书,该证书包含在创建 DLS 虚拟设备的 DLS 虚拟设备镜像中。如有必要,您可以将自签名证书替换为由第三方(例如证书颁发机构 (CA))签名的 SSL 证书。
要使用第三方签名 SSL 证书配置 DLS 虚拟设备,请按照以下说明顺序进行操作
6.7.1. 获取 DLS 虚拟设备的第三方签名 SSL 证书
通过向合适的第三方(例如证书颁发机构 (CA))提交证书签名请求 (CSR) 来获取第三方签名 SSL 证书。
确保任何将配置证书的 DLS 虚拟设备的 IP 地址都映射到您将在证书中指定的域名。
对于 DLS 实例的 HA 集群,您可以选择为集群中的所有节点获取单个通配符域名证书,也可以为集群中的每个节点获取一个完全限定域名证书。
对于您需要的每个证书,向 CA 提交证书签名请求 (CSR)。
确保您请求的每个证书都满足以下要求
- 证书必须是 PEM 文本文件(不是 Java 密钥库格式),并使用私钥进行保护。
- 证书和私钥必须位于单独的文件中。
- 为了确保 Web 浏览器信任该域,域名必须是主题备用名称 (SAN) 属性的一部分,而不是 CSR 的公用名称 (CN) 属性。
- CSR 的 SAN 属性必须指定任何将配置证书的 DLS 虚拟设备的完全限定域名。
请勿在 CSR 的 SAN 属性中指定 IP 地址。DLS 虚拟设备无法使用指定 IP 地址的 SSL 证书进行配置。
- 证书必须使用至少 2048 位长的 RSA、DSA 和 DH 密钥。
- 证书必须使用大于 224 位长的 ECC 密钥。
- 证书不得受密码保护。
如有必要,请联系将提供您的证书的 CA,以获取有关如何请求满足这些要求的证书或转换现有证书以满足这些要求的信息。
6.7.2. 在 DLS 虚拟设备上安装第三方签名 SSL 证书
确保满足以下先决条件:
- 您已获得要安装的 SSL 证书及其私钥文件。
- 确保服务实例上已安装许可证服务器,如 在服务实例上安装许可证服务器 中所述。
如果要为 HA 集群中的所有节点安装通配符域名证书,请仅从集群中的主节点执行此任务。证书会自动传播到集群中的辅助节点。如果要为集群中的每个节点安装一个完全限定域名证书,请从每个节点分别执行此任务。
- 登录到您要在其上安装 SSL 证书的 DLS 虚拟设备。
- 在左侧导航窗格中,单击设置。
- 在打开的“服务实例设置”页面上,展开 SSL 配置 部分。
- 在 SSL 配置 部分中,指定您要安装的 SSL 证书及其私钥文件。
- 如果要为 HA 集群中的所有节点安装通配符域名证书,请设置应用通配符选项。
- 确保域名字段包含证书中指定的域名。注意
域名字段区分大小写。此字段中名称的大小写必须与证书中指定的名称的大小写完全匹配。
- 单击证书旁边的选择文件,然后在打开的文件浏览器中,导航到包含 SSL 证书的文件夹并选择该文件。
- 单击私钥旁边的选择文件,然后在打开的文件浏览器中,导航到包含 SSL 证书私钥的文件夹并选择该文件。
- 单击配置。
6.8. 隐藏 DLS 实例上的组织和虚拟组信息
您可以使用 REST API 来隐藏 DLS 实例提供的许可证所属的组织和虚拟组。
- 提交带有基本身份验证的 HTTP POST 请求,以 DLS 管理员用户身份登录到托管 DLS 设备的 DLS 设备。
POST https://host:port/auth/v1/login
- 主机
- 托管 DLS 设备的 VM 或容器的 IP 地址或完全限定域名。
- 端口
- 托管 DLS 设备的 VM 或容器侦听 HTTPS 请求的端口。
在请求中,传递 DLS 管理员用户的用户名和密码。默认用户名为
dls_admin
。以下示例使用 curl 命令以用户
dls_admin
和密码changeit
登录到端口 8081 上的 DLS 设备dls.example.com
。curl -k --location --request POST 'https://dls.example.com:8081/auth/v1/login' \ --header 'Content-Type: application/json' \ --data-raw '{ "username": "dls_admin" "password": "changeit"}'
响应在 LIC-TOKEN cookie 中设置授权令牌,并将令牌包含在响应正文中。
- 提交 HTTP PUT 请求以隐藏 DLS 实例上的组织和虚拟组。
PUT https://host/service_instance_manager/v1/config/hide-name-on-ui
- 主机
- 托管 DLS 设备的 VM 或容器的 IP 地址或完全限定域名。
如果您用于提交请求的工具支持 cookie,则无需授权令牌即可提交请求。否则,您必须将上一步中返回的授权令牌作为不记名令牌在标头中传递。
以下示例使用 curl 命令来隐藏设备
dls.example.com
上的 DLS 实例上的组织和虚拟组。为了清晰起见,该示例仅显示占位符令牌。curl -k --location --request PUT \ ' https://dls.example.com/service_instance_manager/v1/config/hide-name-on-ui' \ --header 'Authorization: Bearer token'
如果在 DLS 管理员用户登录到 DLS 设备后组织和虚拟组被隐藏,则 DLS 管理员用户必须重新加载基于 Web 的管理界面才能看到更改。要再次显示组织和虚拟组,请在使用查询参数 hide=false 的 REST 端点上提交 PUT 请求。
PUT https://host/service_instance_manager/v1/config/hide-name-on-ui?hide=false
6.9. 在 DLS 虚拟设备中重新配置 Rsyslog 工具
基于 VM 的 DLS 虚拟设备使用 Rsyslog 工具在 IP 网络中转发日志消息。如果您想将设备上 DLS 实例的事件和警报导出到外部 syslog 或安全信息和事件管理 (SIEM) 服务器,则可以在设备中重新配置 Rsyslog 工具。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
来自 DLS 虚拟设备的每种类型的日志消息的格式如下
- syslog 消息采用标准 syslog 格式,每条消息中的字段用空格分隔
timestamp hostname program-name message-text
- NLS 服务消息格式为 JSON 字符串
SEMANTIC:service-name: semantic-json-string
不支持通用事件格式 (CEF)。但是,您可以在日志转发到 syslog 服务器后配置格式或将数据传输到 SIEM 服务器。
- 使用设备的虚拟机管理程序管理控制台以用户 dls_diagnostics 身份登录到托管 DLS 虚拟设备的 VM。
- 编辑 /etc/rsyslog.conf 文件以更新外部 syslog 服务器的地址和端口。在 /etc/rsyslog.conf 的第一行添加 $LocalHostName
- 重新启动 Rsyslog 工具。
# sudo -u root /etc/adminscripts/restart_rsyslog.sh
6.10. 在 DLS 虚拟设备上配置 NTP
网络时间协议 (NTP) 配置是指客户需要将其许可证服务器的时钟与所需的计时服务器同步的情况。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
确保服务实例上已安装许可证服务器,如 在服务实例上安装许可证服务器 中所述。
- 打开 Web 浏览器并连接到 URL
https://<i>dls-vm-ip-address</i>
。- dls-vm-ip-address
- 安装了 DLS 虚拟设备的 VM 的 IP 地址,或者如果已定义,则为完全限定域名或 CNAME。
您可以从 hypervisor 的管理控制台获取 IP 地址。
- 在打开的登录页面上,提供 DLS 虚拟设备上 DLS 管理员用户的用户凭据,然后单击登录。
- 在左侧导航窗格中,单击设置。
- 在打开的“服务实例设置”页面上,展开NTP 服务器配置部分。
- 在NTP 服务器配置部分中,输入一个或多个 NTP 服务器的 IP 地址或域名,多个服务器的地址或名称之间用逗号分隔。
- 单击PING 服务器以检查与端口 123 上的 NTP 服务器的连接,并验证输入的 IP 地址或域名是否为有效的 NTP 服务器。如果 ping 服务器成功,配置按钮将变为绿色。
- 单击配置。配置的服务器旁边的绿色复选标记表示与 NTP 的时间同步已完成。
6.11. 设置 PostgreSQL 数据库卷的最大大小
为了限制基于容器的 DLS 设备的磁盘使用量,您可以设置 PostgreSQL 数据库卷 postgres-data 的最大大小。默认最大大小为 15 GB。
您仅可以在容器化的 DLS 软件设备上执行此任务。您不能在基于 VM 的 DLS 虚拟设备上执行此任务。
- 登录到您要为其设置 PostgreSQL 数据库卷最大大小的 DLS 设备。
- 在 NVIDIA Licensing 仪表板的左侧导航窗格中,单击设置。
- 在打开的“服务实例设置”页面上,展开基本设置部分,然后单击事件选项卡。
- 在清除设置部分的容器卷磁盘分配 (GB) 下,键入 PostgreSQL 数据库卷的最大大小(GB),然后单击保存设置。
6.12. 排除 DLS 实例故障
为了方便故障排除,DLS 提供了对日志文件、事件记录和 DLS 实例内部服务状态的访问。如果 DLS 实例的内部服务失败,您可以从 DLS 虚拟设备上的 NVIDIA Licensing 应用程序重新启动它们。
6.12.1. DLS 虚拟设备的日志文件位置和类型
DLS 虚拟设备的日志文件包含诊断信息,以帮助进行故障排除。DLS 管理员用户可以通过虚拟机管理程序控制台或安全外壳 (SSH) 访问这些日志文件。
DLS 虚拟设备的日志文件位于下表中的位置。范围 | 步骤 |
---|---|
DLS 设备 |
|
事件类型 | 步骤 |
---|---|
仅限 NVIDIA Licensing Portal:API 密钥过期 | |
仅限 NVIDIA Licensing Portal:功能过期 |
|
租用量 |
|
故障转移事件 |
|
服务可用性 |
|
系统资源 |
|
日志消息类型 | 日志文件位置 |
---|---|
NVIDIA License System 许可消息 | /var/lib/docker/volumes/logs/_data/licensing |
NVIDIA License System 服务消息 | /var/lib/docker/volumes/logs/_data/op_log_archive |
/var/lib/docker/volumes/logs/_data/op_log_capture | |
/var/lib/docker/volumes/logs/_data/op_log_ingest | |
DLS Web 服务器消息 | /var/lib/docker/volumes/logs/_data/nginx |
与以下内容相关的 DLS 虚拟设备内部消息
| /var/lib/docker/volumes/logs/_data/rabbitmq_stdout.log |
/var/lib/docker/volumes/logs/_data/rabbitmq_stderr.log |
以下标准 Linux 目录中的文件包含来自操作系统的日志消息
- /tmp
- /var/log
- /var/tmp
6.12.2. 在网络文件共享上存储 DLS 虚拟设备的日志文件
由于 DLS 虚拟设备中可用的磁盘空间可能有限,因此 DLS 虚拟设备不会保留 DLS 虚拟设备生命周期内生成的所有日志消息。如果您想保留所有日志消息,您可以配置虚拟设备以在网络文件共享上存储 DLS 虚拟设备的日志文件。
如果虚拟设备配置为在网络文件共享上存储 DLS 虚拟设备的日志文件,它会定期聚合日志文件,并将它们从 DLS 虚拟设备的本地磁盘移动到共享。
确保满足以下先决条件:
- 网络文件共享已在网络连接存储服务器上创建,可以从 DLS 虚拟设备访问。
- DLS 虚拟设备上的 DLS 管理员用户被授予对网络文件共享的完全访问权限。
- 登录到 DLS 虚拟设备。
- 在左侧导航窗格中,单击设置。
- 在打开的服务实例设置页面上,展开 日志存档 部分。
- 在日志存档部分,提供网络文件共享的详细信息,然后单击 挂载。
- 从平台下拉列表中,选择与网络连接存储服务器上共享类型对应的操作系统。
- 对于对应于 Windows 操作系统的共享(例如 CIFS 共享),选择 Windows。
- 对于对应于 UNIX 操作系统的共享(例如 NFS 共享),选择 Unix。
- 在网络共享路径文本输入字段中,键入网络连接存储服务器上共享的路径,格式如下
//nas-server/file-path
- nas-server
- 已在其上创建共享的网络连接存储服务器的 IP 地址或完全限定域名。
- file-path
- 从网络连接存储服务器上的文件系统根目录到共享的完整路径。在该路径中,即使您从平台下拉列表中选择了 Windows,也请使用正斜杠作为文件分隔符。
- 如果您从平台下拉列表中选择了 Windows,请提供网络连接存储服务器上将访问共享的用户的用户名和密码。
- 从平台下拉列表中,选择与网络连接存储服务器上共享类型对应的操作系统。
网络文件共享挂载在 DLS 虚拟设备上的 /var/log/licensing。此挂载点在 DLS 虚拟设备中预设,无法更改。
6.12.3. 从 DLS 实例导出和导入事件记录
为了帮助 NVIDIA 企业支持人员解决 DLS 实例的问题,您可以从 DLS 实例导出事件记录,并将它们导入到 NVIDIA Licensing Portal。
可以从 DLS 实例导出或导入到 NVIDIA Licensing Portal 的文件最大大小为 250 MB。
如果未选择任何过滤器,则将导出最近 7 天的记录。
- 登录到托管 DLS 实例的 DLS 虚拟设备。
- 在 NVIDIA 许可仪表板的左侧导航窗格中,单击维护。
- 可选:筛选您要导出的事件。
- 在打开的“维护”页面上,设置显示高级过滤器选项。
- 使用添加到页面中的日历小部件来设置您要导出事件记录的日期范围。
- 选择您要导出的事件类别。
- 在“维护”页面上,单击 导出事件。名为 on-premises_export_mm-dd-yyyy-hh-mm-ss.log 的事件日志文件将保存到您的下载文件夹中。
- 在 NVIDIA Licensing Portal 中,导航到 DLS 实例所属的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请从页面右上角的虚拟组列表中选择 DLS 实例所属的虚拟组。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,单击 仪表板。
- 在打开的“仪表板”页面上,在 DLS 数据同步 下,单击 导入。
- 在打开的文件浏览器中,导航到包含名为 on-premises_export_mm-dd-yyyy-hh-mm-ss.log 的事件日志文件的文件夹(您已下载该文件),然后选择该文件。
- 可选:对于您要导入的每个其他事件文件,单击 选择其他文件,然后导航到并选择该文件。
- 选择完所有要导入的文件后,单击 上传事件。
6.12.4. 重启 DLS 实例的内部服务
如果 DLS 实例因其内部服务不再活动而失败,您可以重启非活动服务以从故障中恢复。
- 登录到托管 DLS 实例的 DLS 虚拟设备。如果 DLS 实例是 HA 集群中的节点,您必须登录到托管特定节点的 DLS 虚拟设备。您不能从主节点重启辅助节点的内部服务,也不能从辅助节点重启主节点的内部服务。
- 在左侧导航窗格中,单击服务实例。
- 在打开的“服务实例”页面上,在 节点运行状况 下,确定 DLS 实例的任何内部服务的状态是否为非活动状态。将提供 DLS 实例的关键服务和其他服务的状态信息。
- 如果任何服务集处于非活动状态,请为该服务集单击 重启。
6.12.5. 从客户端配置令牌中不正确的 DLS 名称或地址恢复
客户端配置令牌使用 IP 地址或完全限定域名来标识从中向客户端提供许可证的 DLS 实例。如果客户端配置令牌中的 IP 地址或完全限定域名不正确,则使用该令牌配置的所有客户端的许可请求都将无法满足。
当发生此问题时,类似于以下示例的错误消息将写入客户端上的许可事件日志。
Failed to acquire license from 192.0.2.206
(Info: NVIDIA RTX Virtual Workstation -
Error: Could not communicate to server, timeout has been reached)
要确定不正确的 DLS 名称或地址是否导致许可请求失败,请将错误消息中的 IP 地址或完全限定域名与“服务实例详细信息”页面上的相同信息进行比较。如果两个位置的信息不匹配,则许可请求失败是由不正确的 DLS 名称或地址引起的。
通过以下方式之一从该问题中恢复
- 将客户端配置令牌替换为 IP 地址或完全限定域名正确的新令牌。
- 按照为 DLS 实例生成客户端配置令牌中的说明生成新的客户端配置令牌,以确保令牌中的 IP 地址或完全限定域名正确。
- 按照使用联网许可证配置获得许可的客户端中的说明,使用新令牌配置每个获得许可的客户端。
- 更改托管 DLS 实例的 VM 的 IP 地址或完全限定域名,以使其与客户端配置令牌中的 IP 地址或完全限定域名匹配。
6.12.6. 从 IPv6 网络中的 HA 配置失败中恢复
尝试在 VM 之间通过 IPv6 通信的基于 VM 的 DLS 实例中创建 HA 集群可能会失败。发生故障的原因是托管其中一个实例的 DLS 虚拟设备无法 ping 通托管另一个实例的 DLS 虚拟设备。要从这种故障中恢复,请使用每个 DLS 虚拟设备专门为此目的提供的 shell 脚本。
您只能在基于 VM 的 DLS 虚拟设备上执行此任务。您不能在容器化 DLS 软件映像上执行此任务。相反,您可以使用容器编排平台运行所在的 OS 的标准接口来进行此更改。
为集群中每个 DLS 实例的 DLS 虚拟设备安装所在的每个 VM 执行此任务。
- 使用设备的虚拟机监控程序管理控制台以用户 dls_admin 身份登录到托管 DLS 虚拟设备的 VM。如果 dls_admin 用户尚未注册,您仍然可以使用默认密码 welcome 以 dls_admin 用户身份登录到 VM。
- 以 root 用户身份,运行 /etc/dls/scripts/support_only_ipv6.sh 脚本。
$ sudo -u root /etc/dls/scripts/support_only_ipv6.sh
- 按照创建或扩展 DLS 实例的 HA 集群中的说明,重复创建集群的尝试。
6.12.7. DLS 具有重叠的磁盘分区
在备份过程中,您可能会收到分区与最后一个分区重叠的警告消息。使用以下步骤解决此警告。
- 以 rsu_admin 用户身份登录并执行以下命令
**sudo sed -i 's/100/99/g' /etc/dls/scripts/expand_disk.sh**
- 按照扩展 DLS 虚拟设备上的磁盘空间中的步骤,将 VM 磁盘空间增加 1 GB 或更多。
- 可选:警告现在应该已解决。以 rsu_admin 用户身份执行以下命令
**`sudo gdisk /dev/sda`**
以进行确认。
在 NVIDIA Licensing Portal 上创建许可证服务器后,您可以向服务器添加许可证和从服务器删除许可证,向服务器添加新的许可产品和从服务器删除许可产品,以及在不再需要服务器时删除服务器。
7.1. 在哪里执行管理许可证服务器的任务
在哪里执行管理许可证服务器的任务取决于任务以及安装许可证服务器的服务实例的类型。
任务 | CLS 实例 | DLS 实例 |
---|---|---|
向许可证服务器添加许可证 | NVIDIA Licensing Portal | NVIDIA Licensing Portal |
从许可证服务器删除许可证 | NVIDIA Licensing Portal | 托管 DLS 实例的虚拟设备上的 NVIDIA Licensing 应用程序 |
向许可证服务器添加许可产品 | NVIDIA Licensing Portal | NVIDIA Licensing Portal |
从许可证服务器删除许可产品 | NVIDIA Licensing Portal | 托管 DLS 实例的虚拟设备上的 NVIDIA Licensing 应用程序 |
将许可证服务器移动到另一个虚拟组 | NVIDIA Licensing Portal | NVIDIA Licensing Portal |
删除许可证服务器 | NVIDIA Licensing Portal | NVIDIA Licensing Portal |
您不能删除绑定到并安装在 DLS 或 CLS 实例上的许可证服务器。您必须首先从 CLS 或 DLS 实例释放许可证服务器。有关说明,请参阅从服务实例释放许可证服务器。
7.2. 管理许可证服务器上的许可证和许可产品
管理许可证服务器上的许可证,以便在许可证服务器上为特定产品添加或删除单个许可证。如果您需要从许可证服务器添加或删除许可产品,请管理许可证服务器上的许可产品。当您向许可证服务器添加许可产品时,只会分配该产品的一个许可证。当从许可证服务器删除许可产品时,为该产品分配的所有许可证都将返回到授权。
确保您要从许可证服务器删除的任何许可产品都不在许可证池中。如有必要,按照管理许可证池中的许可证和许可产品中的说明,将许可产品从池返回到许可证服务器。
在哪里执行此任务取决于您是添加还是删除许可证。
- 如果您要添加许可证,请在 NVIDIA Licensing Portal 上执行此任务,而无需考虑安装许可证服务器的服务实例类型。
- 如果您要删除许可证,在哪里执行此任务取决于安装许可证服务器的服务实例类型
- 在 CLS 实例上,在 NVIDIA Licensing Portal 上执行此任务。
- 在 DLS 实例上,在托管 DLS 实例的虚拟设备上的 NVIDIA Licensing 应用程序上执行此任务。
- 导航到要向其添加许可证或从中删除许可证的许可证服务器的“许可证服务器详细信息”页面。有关说明,请参阅导航到许可证服务器的“许可证服务器详细信息”页面。
- 在打开的“许可证服务器详细信息”页面中,通过单击禁用服务器禁用许可证服务器,并在出现提示时,确认要禁用许可证服务器。禁用许可证服务器后,它无法向已许可的客户端提供许可证。
- 从 操作 菜单中,选择 管理功能。“管理服务器功能”弹出窗口将打开,并激活 修改现有 选项卡。
在“管理服务器功能”弹出窗口中,您需要指定要添加或删除的所有许可证和许可产品,然后单击 更新服务器功能 以确认更改。
- 对于您要为其添加或删除许可证的每个许可产品,指定您希望在更新许可证后保留在服务器上的产品许可证数量。为此,请使用 已分配 列中的文本输入字段。
-
要向服务器添加许可证,请输入一个大于已分配给服务器的数量,但小于或等于可用许可证总数的数字。
如果您输入的数字大于可用许可证总数,则会发生错误。
-
要从服务器删除许可证,请输入一个小于已分配给服务器的数量,但大于 0 的数字。
例如,要从已分配 10 个许可证的服务器中删除 4 个许可证,并将 6 个许可证分配给服务器,请在 许可证 字段中输入 6。
如果您输入 0,则会发生错误。您必须在许可证服务器上至少保留一个许可证。要从许可证服务器中删除某个产品的所有许可证,请单击垃圾桶图标从服务器中删除该产品。
服务器上的许可证数量在您单击 更新服务器功能 以确认更改之前保持不变。
-
- 通过单击许可产品旁边的垃圾桶图标,删除您不再希望保留在服务器上的每个许可产品。“许可产品”将从 修改现有 选项卡上的许可产品列表中删除。但是,许可产品仍将保留在服务器上,直到您单击 更新服务器功能 以确认更改。
- 添加您要添加到许可证服务器的任何许可产品。
- 单击 添加新 选项卡。
- 在 添加新 选项卡上的许可产品列表中,选择您要添加的许可产品。
- 在添加或删除完您感兴趣的所有许可证和许可产品后,单击 预览更改 以预览您的更改。
- 预览更改后,单击 更新服务器功能。
- 在“许可证服务器详细信息”页面的“概述”选项卡上,通过单击启用服务器启用许可证服务器,并在出现提示时,确认要启用许可证服务器。许可证服务器现在可以向已许可的客户端提供许可证。
如果许可证服务器安装在 CLS 实例上,则无需执行进一步的操作。许可证服务器和 NVIDIA Licensing Portal 将自动使用您的更改进行更新。
如果许可证服务器安装在 DLS 实例上,您必须确保许可证服务器上的许可证与 NVIDIA Licensing Portal 上的许可证一致。
- 如果您添加了许可证,请下载并安装更新后的许可证服务器,以确保 DLS 实例上提供正确的许可证。有关详细说明,请参阅在 DLS 实例上安装许可证服务器。安装更新后的许可证服务器不会影响现有许可证在许可证池中的分配。
- 如果您删除了许可证,请将许可证返回到 NVIDIA Licensing Portal 上的授权。有关详细说明,请参阅将 DLS 实例上的许可证服务器中的许可证返回到 NVIDIA Licensing Portal。
- 如果您需要在池中为特定产品添加或删除许可证,请参阅管理许可证池中的许可证和许可产品。
7.3. 将 DLS 实例上的许可证服务器中的许可证返回到 NVIDIA Licensing Portal
从安装在 DLS 实例上的许可证服务器中删除单个许可证或许可产品后,您必须将它们返回到 NVIDIA Licensing Portal 上的授权。返回它们可确保您的许可证服务器和 NVIDIA Licensing Portal 上的许可证和产品一致。然后,返回的许可证和产品可供其他许可证服务器使用。
- 如果您尚未登录,请使用安装了 DLS 虚拟设备的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。
- 在 NVIDIA 许可仪表板的左侧导航窗格中,单击维护。
- 在打开的“维护”页面上,单击 导出功能返回。注意
只有在从许可证服务器中删除单个许可证或许可产品后,“导出功能返回”按钮才会处于活动状态。
- 在 NVIDIA Licensing Portal 中,导航到为其创建许可证服务器的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请从页面右上角的虚拟组列表中选择为其创建许可证服务器的虚拟组。
- 在 NVIDIA Licensing Portal 仪表板上的许可证服务器列表中,选择您要从中返回许可证或许可产品的许可证服务器。
- 在打开的“许可证服务器详细信息”页面中,从 操作 菜单中选择 返回功能。
- 在打开的“返回功能”弹出窗口中,单击 选择功能返回文件。
- 在打开的文件浏览器中,导航到包含名为 on-premises_feature_return_mm-dd-yyyy-hh-mm-ss.bin 的许可证返回文件的文件夹(您已下载该文件),然后选择该文件。
- 返回到“返回功能”弹出窗口,单击 返回功能。返回的许可证和许可产品将添加到 NVIDIA Licensing Portal 上的授权中。
7.4. 将许可证服务器移动到另一个虚拟组
- 在 NVIDIA Licensing Portal 中,导航到 许可证服务器所属的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭“我的信息”窗口。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,展开许可证服务器,然后单击服务器列表。
- 在打开的“许可证服务器”页面上的许可证服务器列表中,从许可证服务器的 操作 菜单中选择 移动服务器。“移动许可证服务器”弹出窗口将打开,并显示哪些许可产品可以移动,哪些许可产品由于绑定到 DLS 实例或已检出许可证而无法移动。
- 在“移动许可证服务器”弹出窗口中,选择您要将许可证服务器移动到的虚拟组,然后单击 移动服务器。许可证服务器上可以移动的许可产品将移动到所选的虚拟组。
7.5. 删除许可证服务器
您不能删除绑定到并安装在 DLS 或 CLS 实例上的许可证服务器。您必须首先从 CLS 或 DLS 实例释放许可证服务器。有关说明,请参阅从服务实例释放许可证服务器。
- 在 NVIDIA Licensing Portal 中,导航到您要删除许可证服务器的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭我的信息窗口。
- 在打开的“许可证服务器”页面上的许可证服务器列表中,单击您要删除的许可证服务器的名称。
- 在打开的“许可证服务器详细信息”页面中,从 操作 菜单中选择 删除。
- 当系统询问您是否要确认删除许可证服务器时,单击 删除许可证服务器。
7.6. 编辑默认服务实例
默认服务实例是在快速 CLS 安装事件中指定要使用的服务实例。如果以前没有将 CLS 实例用于快速 CLS 安装,则将在首次快速 CLS 安装过程中创建一个实例。NVIDIA License System 服务实例。
只有绑定 CLS 的服务实例才能指定为默认。
有关快速 CLS 安装的更多信息,请参阅配置服务实例。
要查看哪个服务实例已被指定为默认
- 在 NVIDIA Licensing Portal 中,导航到要为其创建许可证服务器的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭我的信息窗口。
如果尚未为您的组织或虚拟组创建许可证服务器,则 NVIDIA Licensing Portal 仪表板将显示一条消息,询问您是否要创建许可证服务器。
- 从左侧导航窗格中,选择 服务实例。
- 从表格视图中,在“环境”列下,查找绿色的 默认 指示器。
7.6.1. 编辑指定为默认的服务实例
如果您想更改哪个服务实例绑定为默认,请按照以下步骤操作。
- 在 NVIDIA Licensing Portal 中,导航到要为其创建许可证服务器的组织或虚拟组。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 可选:如果您的分配角色允许您访问多个虚拟组,请单击页面右上角的查看设置,然后在打开的“我的信息”窗口中,从虚拟组下拉列表中选择虚拟组,然后关闭我的信息窗口。
如果尚未为您的组织或虚拟组创建许可证服务器,则 NVIDIA Licensing Portal 仪表板将显示一条消息,询问您是否要创建许可证服务器。
- 从左侧导航窗格中,选择 服务实例。
- 从表格视图中,找到您想绑定为默认的 CLS 服务实例,或者创建一个新的服务实例:配置服务实例。
- 从 操作 菜单中,选择 编辑。
- 在弹出的对话框中,选择切换按钮以 标记为默认。
- 单击 编辑服务实例。
NVIDIA License System (NLS) 提供 RESTful API,用于管理其云许可证服务 (CLS) 和委托许可证服务 (DLS) 组件。CLS RESTful API 由 NVIDIA Licensing Portal 提供。DLS RESTful API 由 DLS 设备上的 NVIDIA Licensing 应用程序提供。
Swagger 生成的这些 API 的综合参考信息如下所示
- CLS RESTful API:NVIDIA License System API
- DLS RESTful API:NVIDIA License System 虚拟设备 API
A.1. CLS RESTful API 入门
NVIDIA Licensing Portal 提供 RESTful API,用于管理 NVIDIA License System 的云许可证服务 (CLS) 组件。
Swagger 生成的此 API 的综合参考信息可在NVIDIA License System API中找到。
A.1.1. 创建许可状态 API 密钥
在使用 CLS RESTful API 管理 CLS 实例之前,您必须从 NVIDIA Licensing Portal 创建许可状态 API 密钥。此密钥仅允许对 NVIDIA Licensing Portal 上的组织资源进行读取访问。因此,您仅可以将此密钥用于 HTTP GET 请求中的身份验证。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,单击 API 密钥。
- 在打开的“API 密钥管理”窗口中,单击 创建 API 密钥。
- 在打开的“创建 API 密钥”窗口中,提供密钥的名称、访问类型和生命周期,然后单击 创建 API 密钥。
- 在 密钥名称 文本输入字段中,键入您选择的密钥名称。
- 从 访问类型 下拉列表中,选择 许可状态。
- 限制此密钥可以使用的虚拟组或 DLS 实例。默认情况下,密钥对组织中的所有资源和 DLS 实例有效。
- 在 到期天数 文本输入字段中,键入密钥的生命周期(天),或者,如果您不希望密钥过期,请取消选中 在此密钥在指定的天数后过期? 选项。
密钥将添加到“API 密钥管理”窗口中的 API 密钥表中。
- 当您准备好在 HTTP 请求中使用许可状态密钥时,请单击 查看 API 密钥 链接,并将密钥复制到剪贴板。
在所有后续请求中的 x-api-key
标头中传递许可状态 API 密钥。
A.1.2. 获取其他 RESTful API 调用到 CLS 实例中所需的信息
在其他 RESTful API 调用到 CLS 实例中时,需要组织 ID、虚拟组 ID 和许可证服务器 ID。
确保您已创建身份验证所需的许可状态 API 密钥,如创建许可状态 API 密钥中所述。
- 获取创建 API 密钥的用户所属的组织的 ID。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 在 NVIDIA Licensing Portal 仪表板上,找到组织名称旁边的括号中的 ID。
- 提交 HTTP GET 请求以获取有关可以访问绑定到 CLS 实例的许可证服务器的所有虚拟组的信息。
GET https://api.licensing.nvidia.com/v1/org/org-name/virtual-groups
- org-name
- 创建 API 密钥的用户所属的组织的 ID,您在上一步中已获得该 ID。例如:
lic-0023x00002kuavttex
。
在
x-api-key
标头中传递所需的 API 密钥。有关如何创建此密钥的信息,请参阅创建许可状态 API 密钥。此示例使用 curl 命令来获取组织
lic-0023x00002kuavttex
中的用户的其他 RESTful API 调用到 CLS 实例的信息。用户通过 API 密钥进行身份验证。为了清晰起见,该示例仅显示占位符 api-key。curl -k --location --request GET \ 'https://api.licensing.nvidia.com/v1/org/lic-0023x00002kuavttex/virtual-groups' \ --header 'x-api-key: api-key'
所需的信息在响应正文的以下字段中返回
-
licenseServerId
- 绑定到 CLS 实例的许可证服务器的 ID。例如
"licenseServerId":"5244e9b3-8675-11ed-857a-03a0ffbeaa4c"
-
virtualGroupId
- 绑定到 CLS 实例的许可证服务器所属的虚拟组的 ID。例如
"virtualGroupId":89
A.1.3. 获取 CLS 实例的许可证服务器信息
确保满足以下先决条件:
- 您已创建身份验证所需的许可状态 API 密钥,如创建许可状态 API 密钥中所述。
- 您已获得完成此任务所需的信息,如获取其他 RESTful API 调用到 CLS 实例中所需的信息中所述。
提交 HTTP GET 请求以获取有关您感兴趣的许可证服务器的信息,该许可证服务器已绑定到 CLS 实例。
GET https://api.licensing.nvidia.com/v1/org/org-name/virtual-groups/virtual-group-id/license-servers/license-server-id
- org-name
- 创建 API 密钥的用户所属的组织的代码。例如:
lic-0023x00002kuavttex
。 - virtual-group-id
- 绑定到 CLS 实例的许可证服务器所属的虚拟组的标识符。例如:
89
。 - license-server-id
- 您感兴趣的许可证服务器的标识符,该服务器已绑定到 CLS 实例。例如:
5244e9b3-8675-11ed-857a-03a0ffbeaa4c
。
您可以按照获取对 CLS 实例的其他 RESTful API 调用中所需的信息中的说明获取此信息。
在 x-api-key
标头中传递所需的 API 密钥。有关如何创建此密钥的信息,请参阅创建许可状态 API 密钥。此示例使用 curl 命令获取许可证服务器 5244e9b3-8675-11ed-857a-03a0ffbeaa4c
的信息。许可证服务器已绑定到 CLS 实例,供组织 lic-0023x00002kuavttex
的虚拟组 89 中的用户使用。用户通过 API 密钥进行身份验证。为清楚起见,此示例仅显示占位符 api-key
curl -k --location --request GET \
'https://api.licensing.nvidia.com/v1/org/lic-0023x00002kuavttex/virtual-groups/89/license-servers/5244e9b3-8675-11ed-857a-03a0ffbeaa4c' \
--header 'x-api-key: api-key'
A.1.4. 列出 CLS 实例正在服务的许可证
确保满足以下先决条件:
- 您已创建身份验证所需的许可状态 API 密钥,如创建许可状态 API 密钥中所述。
- 您已获得完成此任务所需的信息,如获取其他 RESTful API 调用到 CLS 实例中所需的信息中所述。
- 获取您感兴趣的 CLS 实例的 ID。
- 提交 HTTP GET 请求以获取有关您可以从虚拟组访问的所有许可证服务器的信息。
GET https://api.licensing.nvidia.com/v1/org/org-name/virtual-groups/virtual-group-id/license-servers
- org-name
- 创建 API 密钥的用户所属的组织的代码。例如:
lic-0023x00002kuavttex
。 - virtual-group-id
- 绑定到 CLS 实例的许可证服务器所属的虚拟组的标识符。例如:
89
。
您可以按照获取对 CLS 实例的其他 RESTful API 调用中所需的信息中的说明获取此信息。
在
x-api-key
标头中传递身份验证所需的 API 密钥。有关如何创建此密钥的信息,请参阅创建许可状态 API 密钥。此示例使用 curl 命令获取组织
lic-0023x00002kuavttex
的虚拟组 89 中的用户可以访问的所有许可证服务器的信息。用户通过 API 密钥进行身份验证。为清楚起见,此示例仅显示占位符 api-keycurl -k --location --request GET \ 'https://api.licensing.nvidia.com/v1/org/lic-0023x00002kuavttex/virtual-groups/89/license-servers' \ --header 'x-api-key: api-key'
- 检查响应正文中的每对
serviceInstanceId
和serviceInstanceName
字段,以查找您感兴趣的 CLS 实例的 ID。例如"serviceInstanceId": "1d85d904-84db-405f-b1dc-8ef9ded4f4cd", "serviceInstanceName": "CWBI-DLS-2-1-0"
- 提交 HTTP GET 请求以获取有关您可以从虚拟组访问的所有许可证服务器的信息。
- 提交 HTTP GET 请求以列出您感兴趣的 CLS 实例正在服务的许可证。
GET https://api.licensing.nvidia.com/v1/org/org-name/virtual-groups/virtual-group-id/leases
- org-name
- 您在上一步中指定的 org-name。
- virtual-group-id
- 您在上一步中指定的 virtual-group-id。
在请求中,传递下表中列出的标头。
标头 值 x-nv-service-instance-id
您感兴趣的服务实例的 ID,这是您在上一步中获得的。 x-api-key
您在上一步中传递的身份验证所需的 API 密钥。 此示例使用 curl 命令列出 CLS 实例
1d85d904-84db-405f-b1dc-8ef9ded4f4cd
正在服务的许可证。用户通过 API 密钥进行身份验证。为清楚起见,此示例仅显示占位符 api-key。curl -k --location --request GET \ 'https://api.licensing.nvidia.com/v1/org/lic-0023x00002kuavttex/virtual-groups/89/license-servers/5244e9b3-8675-11ed-857a-03a0ffbeaa4c' \ --header 'x-nv-service-instance-id: 1d85d904-84db-405f-b1dc-8ef9ded4f4cd' \ --header 'x-api-key: api-key'
A.2. DLS RESTful API 入门
Delegated License Service (DLS) 设备上的 NVIDIA Licensing 应用程序提供了一个 RESTful API,用于管理 NVIDIA License System 的 DLS 组件。
Swagger 为此 API 生成的综合参考信息可在NVIDIA License System 虚拟设备 API中找到。
A.2.1. 导出和导入 DLS 实例的 API 密钥
API 密钥提供了一种替代方法,用于身份验证和获取其他 RESTful API 调用中所需的信息。在 DLS 实例向 NVIDIA Licensing Portal 注册后创建的任何 API 密钥都不会被 DLS 实例识别。为确保这些 API 密钥被识别,您必须从 NVIDIA Licensing Portal 导出它们,然后将它们导入到 DLS 实例中。
当在 DLS 实例上执行以下任务时,将自动导出和导入 DLS 实例的任何现有 API 密钥
- DLS 实例已向 NVIDIA Licensing Portal 注册。
- 许可证服务器安装在 DLS 实例上。
您只能导出和导入访问类型包含许可状态、企业或同时包含许可状态和企业的 API 密钥。您无法导出和导入访问类型仅包含软件下载的 API 密钥。但是,您可以导出和导入访问类型包含软件下载和至少一种其他访问类型的 API 密钥。
A.2.1.1. 导出 DLS 实例的 API 密钥
确保已创建要导出的 API 密钥。
- 如果您尚未登录,请登录到 NVIDIA Enterprise Application Hub,然后单击NVIDIA LICENSING PORTAL以转到 NVIDIA Licensing Portal。
- 在 NVIDIA Licensing Portal 仪表板的左侧导航窗格中,单击 API 密钥。
- 在打开的“API 密钥管理”窗口中,单击导出 DLS 密钥。
- 在打开的“导出 DLS 密钥”窗口中,从下拉列表中选择要导出 API 密钥的 DLS 实例,然后单击导出 DLS 密钥文件。您选择的 DLS 实例必须是您要将 API 密钥导入到的 DLS 实例。一个名为 dls_key_export_random-number.tok 的文件(其中包含导出的 API 密钥)将保存到您的默认下载文件夹中。
A.2.1.2. 导入 DLS 实例的 API 密钥
确保已导出要导入的 API 密钥,如导出 DLS 实例的 API 密钥中所述。导出 API 密钥时选择的 DLS 实例必须是您要将 API 密钥导入到的 DLS 实例。
- 如果您尚未登录,请使用安装了 DLS 虚拟设备的 VM 的 IP 地址登录到 NVIDIA Licensing 应用程序。
- 在左侧导航窗格中,单击设置。
- 在打开的“服务实例设置”页面上,展开API 密钥部分,然后单击导入 API 密钥。
- 在打开的文件浏览器中,导航到包含名为 dls_key_export_random-number.tok 的文件的文件夹,该文件包含您要导入的 API 密钥,然后选择该文件。
A.2.2. 从 RESTful API 登录到 DLS 设备
在使用 DLS RESTful API 管理 DLS 实例之前,您必须以 DLS 管理员用户身份登录到托管 DLS 实例的 DLS 设备。登录还会返回身份验证信息,您必须在所有后续对 DLS RESTful API 的调用中使用该信息。
提交带有基本身份验证的 HTTP POST 请求,以 DLS 管理员用户身份登录到 DLS 设备。
POST https://host:port/auth/v1/login
- 主机
- 托管 DLS 设备的 VM 或容器的 IP 地址或完全限定域名。
- 端口
- 托管 DLS 设备的 VM 或容器侦听 HTTPS 请求的端口。
在请求正文中,传递 DLS 管理员用户的用户名和密码。默认用户名是 dls_admin
。以下示例使用 curl 命令登录到端口 8081 上 dls.example.com
的 DLS 设备,用户名为 dls_admin
,密码为 changeit
。
curl -k --location --request POST 'https://dls.example.com:8081/auth/v1/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "dls_admin",
"password": "changeit"}'
响应在 LIC-TOKEN cookie 中设置授权令牌,并在响应正文中包含该令牌。此示例显示了 LIC-TOKEN cookie 的格式。为了清楚起见,添加了换行符。
{
"cookie": {
"expires": null,
"name": "LIC-TOKEN",
"value": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsInR5cCI6IkpXVCJ9.
eyJpYXQiOjE2NTQwMjk5NDcsImV4cCI6MTY1NDAzMzU0Nywicm9sZSI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsIm
tpZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsInVzZXIiOiJkbHNfYWRtaW4ifQ.qKaRj2sVYWhnfv5udFkN5o1YZ
p_DfBRCUl4vIdSMb_sSGZSKUnuTPBTwYG8PiQ2SYN7bbD8RfoSZOL8FuexDZsx4EloF67UjaHCBT2KvwC75p_pgBKvb93elS7rtQt1-Bm72kyr
VGdG8K6ylJSqVp4T0SBGEqxQ8Yq07vzXIlkWURh3FelSSE9oQolEC2h8xvpFR0Z2JUnUArrGI2aQKFj-K-vXteWsHI0GWBhnyTi2iRJhao4bt
Fg6xJpbS60NF4dt0BtzaB1RyIA8zFAVU2pFBclpn6h27QV2ZMAn_fvf7ryxIT3kGc4Jppj9aeoKnJfq9Z874kTiMWYE9mI33wA"
},
如果您用于提交 HTTP 请求的工具支持 cookie,则可以使用 LIC-TOKEN cookie 提交后续请求。否则,您必须在所有后续请求的 Authorization: Bearer
标头中传递所需的授权令牌。
A.2.3. 获取对 DLS 实例的其他 RESTful API 调用中所需的信息
组织 ID、虚拟组 ID 和许可证服务器 ID 是对 DLS 实例的其他 RESTful API 调用中必需的信息。
确保您已登录到 DLS 实例并获得了身份验证所需的 cookie 或授权令牌,如从 RESTful API 登录到 DLS 设备中所述。
提交 HTTP GET 请求以获取有关 DLS 设备上的 DLS 管理员用户的信息。
GET https://host:port/auth/v1/user/me
- 主机
- 托管 DLS 设备的 VM 或容器的 IP 地址或完全限定域名。
- 端口
- 托管 DLS 设备的 VM 或容器侦听 HTTPS 请求的端口。
如果您用于提交请求的工具支持 cookie,则可以使用 LIC-TOKEN cookie 提交请求。否则,您必须在 Authorization: Bearer
标头中传递所需的授权令牌。当您登录到 DLS 设备时,将返回 LIC-TOKEN cookie 和所需的授权令牌,如从 RESTful API 登录到 DLS 设备中所述。此示例使用 curl 命令获取对端口 8081 上 dls.example.com
的 DLS 设备的其他 RESTful API 调用的信息。用户通过 LIC-TOKEN cookie 进行身份验证。为清楚起见,此示例仅显示占位符 cookie。
curl -k --location --request GET 'https://dls.example.com:8081/auth/v1/user/me' \
--cookie "LIC-TOKEN=cookie"
所需的信息在响应正文的以下字段中返回
-
orgName
- 登录到 DLS 设备的 DLS 管理员用户所属的组织的 ID。例如
"orgName":"lic-0011w00001roiwqqay"
-
licenseServerId
- 绑定到 DLS 实例的许可证服务器的 ID。例如
"licenseServerId":"4133f8a4-7564-11ed-968a-02a0eeafbb5d"
-
virtualGroupId
- 绑定到 DLS 实例的许可证服务器所属的虚拟组的 ID。例如
"virtualGroupId":3
A.2.4. 获取 DLS 实例的许可证服务器信息
确保满足以下先决条件:
- 您已登录到 DLS 实例并获得了身份验证所需的 cookie 或授权令牌,如从 RESTful API 登录到 DLS 设备中所述。
- 您已获得完成此任务所需的信息,如获取对 DLS 实例的其他 RESTful API 调用中所需的信息中所述。
发送 HTTP GET 请求以获取有关绑定到 DLS 实例的许可证服务器的信息。
GET https://host:port/admin/v1/org/org-name/virtual-groups/virtual-group-id/license-servers
- 主机
- 托管 DLS 设备的 VM 或容器的 IP 地址或完全限定域名。
- 端口
- 托管 DLS 设备的 VM 或容器侦听 HTTPS 请求的端口。
- org-name
- 登录到 DLS 实例的用户所属的组织的 ID。例如:
lic-0011w00001roiwqqay
。您可以按照获取对 DLS 实例的其他 RESTful API 调用中所需的信息中的说明获取此 ID。
- virtual-group-id
- 绑定到 DLS 实例的许可证服务器所属的虚拟组的 ID。例如:
3
。您可以按照获取对 DLS 实例的其他 RESTful API 调用中所需的信息中的说明获取此 ID。
如果您用于提交请求的工具支持 cookie,则可以使用 LIC-TOKEN cookie 提交请求。否则,您必须在 Authorization: Bearer
标头中传递所需的授权令牌。当您登录到 DLS 设备时,将返回 LIC-TOKEN cookie 和所需的授权令牌,如从 RESTful API 登录到 DLS 设备中所述。此示例使用 curl 命令获取端口 8081 上 dls.example.com
的 DLS 设备上 DLS 实例的许可证服务器信息。用户属于组织 lic-0011w00001roiwqqay 中的虚拟组 3,并通过 LIC-TOKEN cookie 进行身份验证。为清楚起见,此示例仅显示占位符 cookie。
curl -k --location --request GET \
'https://dls.example.com:8081/admin/v1/org/lic-0011w00001roiwqqay/virtual-groups/3/license-servers' \
--cookie "LIC-TOKEN=cookie"
A.2.5. 列出 DLS 实例正在服务的许可证
确保满足以下先决条件:
- 您已登录到 DLS 实例并获得了身份验证所需的 cookie 或授权令牌,如从 RESTful API 登录到 DLS 设备中所述。
- 您已获得完成此任务所需的信息,如获取对 DLS 实例的其他 RESTful API 调用中所需的信息中所述。
发送 HTTP GET 请求以列出您感兴趣的 DLS 实例正在服务的许可证。
GET https://host:port/admin/v1/org/org-name/virtual-groups/virtual-group-id/leases
- 主机
- 托管 DLS 设备的 VM 或容器的 IP 地址或完全限定域名。
- 端口
- 托管 DLS 设备的 VM 或容器侦听 HTTPS 请求的端口。
- org-name
- 登录到 DLS 实例的用户所属的组织的编码。例如:
lic-0011w00001roiwqqay
。您可以按照获取对 DLS 实例的其他 RESTful API 调用中所需的信息中的说明获取此编码。
- virtual-group-id
- 绑定到 DLS 实例的许可证服务器所属的虚拟组的标识符。例如:
3
。您可以按照获取对 DLS 实例的其他 RESTful API 调用中所需的信息中的说明获取此标识符。
如果您用于提交请求的工具支持 cookie,则可以使用 LIC-TOKEN cookie 提交请求。否则,您必须在 Authorization: Bearer
标头中传递所需的授权令牌。当您登录到 DLS 设备时,将返回 LIC-TOKEN cookie 和所需的授权令牌,如从 RESTful API 登录到 DLS 设备中所述。此示例使用 curl 命令列出端口 8081 上 dls.example.com
的 DLS 设备上 DLS 实例正在服务的许可证。用户属于组织 lic-0011w00001roiwqqay 中的虚拟组 3,并通过 LIC-TOKEN cookie 进行身份验证。为清楚起见,此示例仅显示占位符 cookie。
curl -k --location --request GET \
'https://dls.example.com:8081/admin/v1/org/lic-0011w00001roiwqqay/virtual-groups/3/leases' \
--cookie "LIC-TOKEN=cookie"
声明
本文档仅供参考,不得视为对产品的特定功能、条件或质量的保证。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 对本文所述产品的对客户的累计总责任应根据产品的销售条款进行限制。
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 Maxwell、NVIDIA Pascal、NVIDIA Turing、NVIDIA Volta、Quadro 和 Tesla 是 NVIDIA Corporation 在美国和其他国家/地区的商标或注册商标。其他公司和产品名称可能是与其关联的各自公司的商标。