Q100717:跨多个服务器浮动许可证时出现重复许可证检出问题

概括

使用 RLM 浮动许可证时,可以将网络上的客户端计算机指向多个许可证服务器。这主要用于故障转移许可,即如果主服务器离线,备用服务器将接替其使用浮动许可证。此设置也可用于负载均衡。

然而,由于 RLM 许可机制的缘故,客户端为了负载均衡而指向多个服务器可能会导致重复签出许可证。例如,当客户端在同一工作站上启动同一产品的多个实例时(例如Nuke ),可能会向同一台机器签出两个许可证。

更多信息

当用户启动产品时,产品会按顺序检查其指向的每个许可证服务器。在本例中,用户在客户端计算机上启动Nuke该客户端计算机已使用环境变量指向两个许可证服务器:

foundry _LICENSE=4101@Server01;5053@Server02

Nuke将首先尝试从Server01获取许可证,如果没有可用许可证,则继续尝试从Server02获取许可证。

当产品实例启动时,系统始终会检查是否有可用许可证。即使该产品的实例已在运行并已获得许可,也是如此。通常情况下,当指向单个服务器时,客户端会发现它已拥有一个已签出的许可证,因此不会占用额外的许可证位。

当指向两台服务器时,客户端可能会首先从 Server02 获取许可证(如果此时 Server01 的所有许可证都已被使用)。但是,如果 Server01 上有可用的许可证,并且启动了产品的第二个实例,客户端将从 Server01 获取第二个许可证,导致该计算机占用两个许可证:一个来自 Server 01,一个来自 Server 02。

如果在客户端计算机上使用环境变量RLM_PATH_RANDOMIZE则问题会进一步加剧。该环境变量会在客户端启动时随机选择一个服务器来检查许可证。这意味着,当您启动第二个软件实例时,更有可能指向不同的服务器,从而导致重复检出。

变通方法

为避免此问题,我们建议您管理许可证,使服务器和客户端分离。我们建议客户端计算机不要指向多个许可证服务器,而应仅指向单个服务器,以避免许可证重复的情况。例如:

与其在Server01上拥有 50 个许可证,在Server02上拥有 50 个许可证,并且有 100 个客户端指向这两台机器,我们建议将 50 个客户端指向Server01 ,将 50 个客户端指向Server02

延伸阅读

有关安装和管理浮动装置的更多信息,请参阅以下文章:

Q100264:如何将计算机指向您的许可证服务器

Q100129:RLM故障转移服务器的工作原理是什么?

    我们很遗憾听到

    请告诉我们