LSF live reconfig

200 阅读3分钟

背景

LSF的配置管理相对比较原始,通过配置文件设置集群中的各种参数。管理员在修改LSF参数时需要很多的手工操作:先通过编辑器修改配置文件,然后还要运行一个或两个命令才能激活配置,而且配置也不是立即生效,还有几秒中的延迟,因此深受用户的诟病。

后来为了缓解用户的痛点,引入了 live reconfiguration, 即通过 bconf 命令行改变集群参数。但也仅针对 lsb.* 配置中的部分参数,只能说是部分解决了问题。

Live reconfiguration 机制简介

管理员通过 bconf 命令行参数确定要修改的集群参数,命令成功后将修改集群中的参数,同时将系统中的参数缓存到单独的目录中,以便重启后能够恢复配置。

需要注意的是:1)默认缓存目录与安装时默认的配置文件目录不同;安装时默认的配置文件目录为 LSFENVDIR/lsbatch/<clustername>/configdir/,而默认的缓存目录为LSF_ENVDIR/lsbatch/<cluster name>/configdir/,而默认的缓存目录为 LSF_ENVDIR/../work//live_confdir/;2)如果激活了 live reconfiguration,并通过 bconf 修改了相关配置,比如用户组,则手工修改默认配置文件目录下的lsb.users 会引发配置冲突;

要解决以上问题,可行的办法就是将缓存目录设置为默认的配置文件目录。

使用简介

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 usergroup=ug_a "GROUP_MEMBER=u1 u5" 

删除用户组 ug_a

bconf delete usergroup=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 介绍 www.ibm.com/docs/en/spe…

bconf 使用说明 www.ibm.com/docs/en/spe…