许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  修改license文件后是否需要重启lmgrd才能生效

修改license文件后是否需要重启lmgrd才能生效

阅读数 4
点赞 0
article_banner

修改license文件后要不要重启lmgrd?这个问题几乎每个FlexNet运维都会遇到,而且答案不是简单的“是”或“否”。

取决于你改了哪一行。

有些改动可以热加载,不需要中断服务。有些改动必须重启,没有商量余地。下面把规则拆开讲清楚。

一、不重启就能生效的改动:用lmreread

如果你改的是FEATURE行或INCREMENT行里的内容,不需要重启lmgrd。

常见的场景包括:

  • 新增了一个feature
  • 延长了某个feature的过期日期
  • 增加了某个feature的并发数量
  • 删除了某个不再使用的feature

这些改动本质上只是更新了“许可证池”的内容,lmgrd的主框架没变,vendor daemon也没变。执行lmreread命令,让lmgrd重新读一遍license文件就行了。

命令格式:

text

lmutil lmreread -c /path/to/license.lic

如果lmreread命令执行成功,debug.log里会出现类似下面的记录:

text

(lmgrd) Re-reading license file ...
(lmgrd) Reread of license file succeeded

这里有个关键点: lmreread只对license文件本身生效。如果你改了options文件(比如调整了TIMEOUT超时时间),执行lmreread不会让它生效。这一点很多人踩过坑,后面会单独说。

Windows用户注意: LMTOOLS的Start/Stop/Reread标签页里有一个“Reread License File”按钮,点一下就能完成同样的操作。

lmreread只对license文件

二、必须重启服务的改动:核心架构变了

下面这些改动,lmreread处理不了。因为不是“内容变了”,而是“运行方式变了”。

第一类:改了SERVER行

SERVER行定义的是许可证服务器的身份——主机名、MAC地址、端口号。换了一个端口,或者服务器换了网卡需要改MAC,lmgrd的运行环境已经变了。这和license文件里的feature内容无关,是服务本身的配置变更。必须重启。

text

# 原行
SERVER my-server 001122334455 27000

# 改成
SERVER my-server 001122334455 27001

改了端口,防火墙要调,客户端配置要改,lmgrd也要重启才能监听新端口。

第二类:改了VENDOR行(或DAEMON行)

VENDOR行指定了vendor daemon的路径或端口。如果你升级了SCL工具包,vendor daemon换了位置,或者你在VENDOR行里加了PORT=参数来固定端口——这些都属于vendor daemon启动参数的变化。lmgrd需要重新拉起vendor daemon,直接用新的参数。

第三类:换了整个license文件

有些情况下,厂商发来的新license文件不仅是内容变化,连VENDOR行的定义都变了——比如换了vendor daemon版本,或者新增了某些依赖项。稳妥起见,这种情况建议直接重启。虽然有时候lmreread也能读,但重启更干净,可以避免一些隐藏的兼容性问题。

三、例外情况:options文件的生效方式

options文件(.opt)的加载机制比较特殊,值得单独说。

options文件是通过VENDOR行来引用的:

text

VENDOR synopsys /opt/synopsys/snpslmd OPTIONS=/opt/flexnet/synopsys.opt

如果你改了options文件里的内容——比如把TIMEOUT从3600改成了7200,或者新增了一条EXCLUDE规则——执行lmreread不会让它生效

这可能是FlexNet设计上的一个疏忽,也可能是有意为之。无论如何,实际经验是:改完options文件后,要么重启整个lmgrd服务,要么用lmreread之后再多做一步——在LMTOOLS里先Stop Server再Start Server。总之,确保vendor daemon重新加载了options文件。

如果你不确定options文件是否真的加载了,可以在debug.log里搜索options关键字。正常加载的话,日志里会出现类似Using options file: /path/to/synopsys.opt的记录。

四、实操建议:怎么判断要不要重启

判断规则可以总结成一句话:

改了license文件里“行”的内容,用lmreread。改了“行”本身(端口、路径、引用),重启。

具体来说:


改动类型处理方式是否中断服务
新增/删除FEATURE行lmreread
修改过期日期lmreread
修改并发数量lmreread
修改SERVER行的端口重启
修改VENDOR行的路径或端口重启
修改options文件重启(或Stop/Start)

五、关于重启的细节

如果你确认必须重启,记住两个原则:

lmreread失败

第一,不要暴力杀进程。lmdown优雅关闭,让lmgrd通知所有vendor daemon正常退出,释放端口和临时文件。直接kill -9可能导致端口残留、临时文件没清理,下次启动时报端口占用。

第二,重启前看一眼debug.log。 有些问题在lmreread失败时就会暴露——比如新license文件格式有问题,或者签名校验失败。先跑一次lmreread,如果报错就原地排查,不要直接重启。重启只是让服务重新加载文件,不会解决文件本身的问题。

如果用的是systemd管理服务,重启命令很简单:

text

sudo systemctl restart flexnet

如果用的是LMTOOLS,在Start/Stop/Reread标签页里依次点Stop Server和Start Server。

修改license文件后,优先试试lmreread——它不中断服务,执行快,而且能帮你提前发现license文件是否有问题。只有在lmreread不支持或明确需要重启的场景下,才走完全重启的流程。

一个简单的判断习惯: 改的是FEATUREINCREMENT,用lmreread。改的是SERVERVENDOR,重启。改的是options文件,重启。记住这三条,基本不会出错。


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空