配置License调度
前提条件
网络连接要求:
- 集群head节点与license服务器之间网络连通性正常
- 确保防火墙允许相关端口通信(如FlexLM默认端口27000)
权限要求:
- ⚠ ️ 重要:需要管理员权限操作
- license调度配置修改会直接影响作业调度,请谨慎操作
管理工具介绍
Fsched提供两个核心配置工具:
| 工具名称 | 功能描述 | 类比工具 |
|---|---|---|
| License 服务器管理 | 监控外部license服务器的配置和状态 | 类似于系统监控工具 |
| License 分配管理 | 管理集群内license分配策略 | 直接使用sacctmgr 的 resource 命令 |
说明:license服务器的客户端查询工具由管理员上传到集群head节点,并在添加license服务器时通过--command-path参数设置工具的绝对路径
License服务器管理
功能说明
用于配置和监控外部license服务器,当外部license服务器发生变化时,自动调整集群license可使用的数量,支持FlexLM、RLM等主流license管理系统。
添加license服务器
命令示例:
./stateclient add-lic-server \
--addr flex_host:27000 \
--command-path /usr/local/bin/lmstat \
--tracked-lics matlab,nastran,ansys \
--type flexlm \
--name matlab_server
参数详细说明:
| 参数 | 说明 | 是否必需 | 默认值 |
|---|---|---|---|
--addr | license服务器地址,格式:主机名:端口号 | ✅ 必需 | 无 |
--command-path | license查询命令的完整路径(如lmstat) | ✅ 必需 | 无 |
--tracked-lics | 要监控的license名称列表,逗号分隔 | ✅ 必需 | 无 |
--type | license服务器类型 | ❌ 可选 | "flexlm" |
--name | 服务器标识名称,用于管理 | ❌ 可选 | "host_port"格式 |
说明:
- license服务器名称必须唯一,并且与服务器地址
host:port一一对应,默认使用host_port - 由于fsched处理license名和server名时都转化成小写,用户提交作业时license名和server名都需要用小写提交
实际应用场景:
- 新增一个license服务器到监控系统
- 扩展监控的license特性列表
删除license服务器
命令示例:
./stateclient remove-lic-server --addr flex_host:27000
参数说明:
| 参数 | 说明 | 是否必需 |
|---|---|---|
--addr | 要删除的服务器地址 | ✅ 必需 |
注意事项:
- 删除服务器会同时移除该服务器上所有license的监控
- 确保没有作业正在使用该服务器的license
查看license服务器状态
命令示例:
./stateclient list-lic-servers
输出信息包括:
- 服务器地址和名称
- 服务器类型和状态
- 监控的license列表
- 连接状态(OK/ERROR)
License分配管理
功能说明
管理集群内license的分配策略,控制各集群可使用的license数量和比例。
获取当前集群名
scontrol show config | grep ClusterName
添加license分配
- 查看该license是否已存在
sacctmgr show resource name=test8 server=server3
- 如果不存在,可以一步添加完成:
sacctmgr add resource name=test8 server=server3 servertype=flexlm type=license count=60 cluster=fastone-1 percentallowed=70
- 如果已经存在:
如果该license已经存在,不能设置新的count, 如果需要修改可以使用sacctmgr modify resource命令。
3.1 查看是否有当前集群的分配:
sacctmgr show resource withclusters name=test8 server=server3 cluster=fastone-1
3.2 如果不存在当前集群的分配,可以为当前集群设置license分配的percentallowed:
sacctmgr add resource name=test8 server=server3 cluster=fastone-1 percentallowed=70
3.3 如果存在当前集群的分配,不能设置,如果需要修改可以使用sacctmgr modify resource命令。
参数说明:
name: license名称cluster: fsched集群名称count: license总数量,包括集群外部和集群内部可使用的总量percentallowed: 当前集群允许使用的百分比server: license服务器名称servertype: license服务器类型type: 资源名称,在本流程中应填license
修改license分配
- 如果需要修改license分配总量:
sacctmgr modify resource name=matlab server=server2 set count=200
- 如果需要修改为当前集群分配的
percentallowed:
sacctmgr modify resource name=matlab server=server2 cluster=fastone-1 set percentallowed=30
参数说明:
name: license名称server: 服务器名称cluster: fsched集群名称count: 新的license总数量percentallowed: 新的百分比
删除license分配
- 如果只有一个集群,或者有多个集群并且需要删除所有集群的license分配:
sacctmgr delete resource where name=matlab server=server2
- 如果有多个集群,需要删除当前集群的license分配:
sacctmgr delete resource where name=matlab server=server2 cluster=fastone-1
参数说明