背景
LSF的配置管理相对比较原始,通过配置文件设置集群中的各种参数。管理员在修改LSF参数时需要很多的手工操作:先通过编辑器修改配置文件,然后还要运行一个或两个命令才能激活配置,而且配置也不是立即生效,还有几秒中的延迟,因此深受用户的诟病。
后来为了缓解用户的痛点,引入了 live reconfiguration, 即通过 bconf 命令行改变集群参数。但也仅针对 lsb.* 配置中的部分参数,只能说是部分解决了问题。
Live reconfiguration 机制简介
管理员通过 bconf 命令行参数确定要修改的集群参数,命令成功后将修改集群中的参数,同时将系统中的参数缓存到单独的目录中,以便重启后能够恢复配置。
需要注意的是:1)默认缓存目录与安装时默认的配置文件目录不同;安装时默认的配置文件目录为 $LSF_ENVDIR/lsbatch/<cluster name>/configdir/,而默认的缓存目录为 $LSF_ENVDIR/../work/<cluster name>/live_confdir/;2)如果激活了 live reconfiguration,并通过 bconf 修改了相关配置,比如用户组,则手工修改默认配置文件目录下的lsb.users 会引发配置冲突;
要解决以上问题,可行的办法就是将缓存目录设置为默认的配置文件目录。
使用简介
bconf 的语法如下
bconf 操作 对象类型=对象名称 参数
常见操作包括以下几类:
操作 | 说明 |
create | 创建对象 |
delete | 删除对象 |
addmember | 增加成员 |
rmmember | 删除成员 |
常见对象包括以下几种:
对象类型 | 说明 |
usergroup | 修改用户组参数 |
hostgroup | 修改主机组参数 |
limit | 修改资源限额参数 |
下面给出常见操作的示例
用户组管理
创建用户组 ug_a, 并设置三个初始成员 u1 u2 u3
bconf create usergroup=ug_a "GROUP_MEMBER=u1 u2 u3"
在用户组 ug_a 中增加成员 u4 u5
bconf addmember usergroup=ug_a "GROUP_MEMBER=u4 u5"
从用户组 ug_a 中移除成员 u1 和 u5
bconf rmmember hostgroup=ug_a "GROUP_MEMBER=u1 u5"
删除用户组 ug_a
bconf delete hostgroup=ug_a
主机组管理
创建主机组 hg_a, 并设置三个初始成员 h1 h2 h3
bconf create hostgroup=hg_a "GROUP_MEMBER=h1 h2 h3"
在主机组 hg_a 中增加成员 h4 h5
bconf addmember hostgroup=ug_a "GROUP_MEMBER=h4 h5"
从主机组 hg_a 中移除成员 h1 和 h5
bconf rmmember hostgroup=ug_a "GROUP_MEMBER=h1 h5"
删除主机组 hg_a
bconf delete hostgroup=hg_a
资源配额管理
创建资源配额
创建资源限制,限制队列 normal 上最多同时运行 100 个作业
bconf create limit=normal_limit "PER_QUEUE=normal;JOBS=100;"
修改资源限制,限制队列 normal 上最多同时运行 200 个作业
bconf update limit=normal_limit "PER_QUEUE=normal;JOBS=200;"
修改资源限制,限制用户 lsfadmin 在队列 normal 上最多同时运行 100 个作业
bconf update limit=normal_limit "PER_QUEUE=normal;JOBS=100;PER_USER=lsfadmin"
删除资源限制
bconf delete limit=normal_limit
详细的使用说明请参见LSF手册
Live reconfiguration 介绍
IBM DocumentationUse live reconfiguration to make configuration changes in LSF active memory that takes effect immediately. Live reconfiguration requests use the bconf command, and generate updated configuration files in the directory set by the LSF_LIVE_CONFDIR parameter in the lsf.conf file.https://www.ibm.com/docs/en/spectrum-lsf/10.1.0?topic=cluster-live-reconfiguration
bconf 使用说明
IBM DocumentationSubmits live reconfiguration requests, updating configuration settings in active memory without restarting daemons.https://www.ibm.com/docs/en/spectrum-lsf/10.1.0?topic=reference-bconf