什么是LSF动态主机?
LSF动态主机相对于传统的静态主机而言不需要事先在lsf.cluster文件中定义主机属性,只需要激活LSF环境并启动LSF服务进程后,主机就能自动加入LSF集群。
LSF动态主机的优势?
对于静态主机而言加入集群或退出集群都需要修改LSF配置文件然后通过lsadmin reconfig和badmin reconfig让配置生效。对于中大型LSF集群来说配置变更是对生产环境影响巨大的操作,通常LSF服务会中断几分钟,甚至半小时才能完全恢复。
动态主机则完全避免了以上手工操作,并且不会导致LSF服务中断。因此对于经常性资源变更的用户来说动态主机就成了解决服务稳定可用的银弹。
如何激活动态主机功能?
要激活动态主机功能,只需要配置以下参数:
1. 在 lsf.cluster 配置文件的 Parameters 区段中配置合法的地址范围。
LSF_HOST_ADDR_RANGE=ip_address ...
IP地址中支持通配符*;支持多个IP地址范围,以空格为间隔符;支持 IPv4 和 IPv6;
示例:
LSF_HOST_ADDR_RANGE=10.100.10.*
表示10.100.10/24网段的地址都是合法地址,只要是这个地址段内的主机都被允许加入LSF集群。反之则不允许加入LSf集群。
LSF_HOST_ADDR_RANGE=10
所有以10开头的IPv4地址 10.*., 和IPv6 地址 10:* 都是合法地址。
2. 在 lsf.conf 中配置启动LSF服务进程后向主管理节点发送加入申请前的等待时间。
LSF_DYNAMIC_HOST_WAIT_TIME=time_seconds
此参数没有默认值,必须指定此参数值,否则动态主机不能加入LSF集群。
3. 在 lsf.conf 中指定动态主机服务停止后被移出LSF集群的超时时间。
LSF_DYNAMIC_HOST_TIMEOUT=time_hours
当动态主机上的LSF服务进程停止时间超过指定时间后LSF会自动地把主机移出LSF集群。
此参数没有默认值,即如果没有指定此参数,则动态主机永远不会被移出LSF集群。
默认单位为小时,可以在参数值后跟m或M以指定分钟为单位的超时时间,但最小超时时间不能小于10分钟。
配置完成以上参数后需要激活配置。
# lsadmin reconfig
# badmin mbdrestart
最后,登录动态主机,启动LSF服务进程就可以将主机自动加入LSF集群。
# cp $LSF_ENVDIR/profile.lsf /etc/profile.d/lsf.sh
# . $LSF_ENVDIR/profile.lsf
# cp $LSF_ENVDIR/../10.1/install/lsfd.service /lib/systemd/system
# systemctl daemon-reload
# systemctl enable lsfd
# systemctl start lsfd
登录动态主机,查看服务状态,并运行LSF命令以检验是否加入集群。
# systemctl status lsfd
# lsid
# lshosts
# lsload
# bhosts
常见问题
1. LSF服务进程在运行,但是LSF命令报错
首先排查动态主机上的防火墙是否已经关闭。
# systemctl status firewalld
# iptables -L
然后排查DNS主机名正向解析和反向解析是否正常。
# nslookup 动态主机名称
# nslookup 动态主机IP地址
再排查主机IP地址是否在允许地址范围,以及前面的参数是否已经正确设置。
2. LSF服务停止后主机没有自动退出LSF集群
检查参数 LSF_DYNAMIC_HOST_TIMEOUT 是否设置正确。