软件说明:
LSF Suit Community Edition(社区版),最多支持10节点,免费使用;
LSF 正式版为收费产品;
1、基础配置
操作系统redhat6.9
修改主机名,test1 test2 test3
修改/etc/hosts文件(hosts需要与主机名对应)
关闭防火墙,关闭selinux
service iptables firewalld stop
chkconfig iptables off
vi /etc/selinux/config
2、安装NFS
安装配置步骤略,将
/cadtools
/home
目录设置成共享目录
3、安装NIS
管理节点通过NFS将/home目录共享给其他节点,再使用NIS管理集群的密码等认证,可以实现所有节点下的用户相同且可以无需密码直接登陆。如果只通过NFS将/home共享,在登陆普通用户时会提示用户不存在,因为没有密码认证
service rpcbind start
service yppasswdd start
service ypserv start
chkconfig rpcbind on
chkconfig ypserv on
chkconfig yppasswdd on
客户端
service rpcbind start
service ypbind start
chkconfig rpcbind on
chkconfig ypbind on
4、安装LSF
4.1下载
LSF社区版10.2(社区版默认只能运行2cpu)
下载链接
https://www.ibm.com/search?lang=zh&cc=cn&q=lsf&tabType[0]=downloads
下载好传到服务器
4.2解压
(以下都是主节点master上的操作)
tar -zxvf lsfsce10.2.0.6-x86_64.tar.gz
有三个文件夹,有lsf安装包、lsf应用中心和mpi的组件
tar –zxvf /lsf/lsf10.1_lsfinstall_linux_x86_64.tar.Z
将解压的lsf10.1_lsfinstall文件夹拷贝到/cadtools/share/
mkdir /cadtools/share/
cp -r lsf10.1_lsfinstall /cadtools/share/
cp lsf10.1_linux2.6-glibc2.3-x86_64.tar.Z /cadtools/share/
lsf10.1_linux2.6-glibc2.3-x86_64.tar.Z这个压缩包不要解压,官方文档是这样写的,在引导程序安装前要在配置文件指定此压缩包的位置,安装时会自动解压
4.3配置
修改/cadtools/share/lsf10.1_lsfinstall/install.config文件,需要在这里指定好主节点和从节点。安装时按照这个文档自动配置集群的拓扑关系(重要)。我是2个节点分别叫test1,test2
需要这样改
LSF_TOP=”/cadtools/share/lsf” 这个是所有集群机器都可以访问的共享文件夹(通过NFS实现的)
LSF_ADMINS=“lsfadmin” 前面创建的所有节点都有的用户
LSF_CLUSTER_NAME=“cluster1”
自己命名,注意一定不要与集群内的用户组或用户名重名了(重要)
LSF_MASTER_LIST=“test1”
集群管理节点的名称就是上面定义的,要求可以根据这个名字找到机器的IP,即要按照前面步骤先定义好/etc/hosts文件。
LSF_TARDIR=”/cadtools/share/”
指定压缩包,这是安装的模式,官网上下载时有好多不同系统的安装包,如果集群是不同基础架构的需要下载不同的这个包,然后在这个文件里面指定,我这里都是amd_64的就不需要下载那么多了
LSF_ADD_SERVERS=“test1 test2”
这是服务节点(官方称呼,就是工作节点),默认master也是工作节点,应该是可以改,可以去官网找文档然后设置,这里我没有管它。
LSF_TOP=”/cadtools/share/lsf”
LSF_ADMINS=“lsfadmin”
LSF_CLUSTER_NAME=“cluster1”
LSF_MASTER_LIST=“test1”
LSF_TARDIR=” /cadtools/share”
LSF_ADD_SERVERS=“test1 test2”
4.4安装
(根据配置文件安装lsf服务,默认本文所有都是root用户操作,支持非root安装但是需要读者去看官方文档再做出改变)
cd /cadtools/share/lsf10.1_lsfinstall
./lsfinstall -f install.config
执行后会遇到下面的session
Press Enter to continue viewing the license agreement, or
enter “1” to accept the agreement, “2” to decline it, “3”
to print it, “4” to read non-IBM terms, or “99” to go back
to the previous screen.
输入1
Searching LSF 10.1 distribution tar files in /cadtools/share/lsf_distrib Please wait …
linux2.6-glibc2.3-x86_64
Press 1 or Enter to install this host type: 输入1
master节点安装完成
由于安装完默认集群间通过rsh通信,我们需要修改为ssh
修改/cadtools/share/lsf/conf/lsf.conf
在里面随便一行加上
LSF_RSH=ssh 要小写的‘ssh’(重要)
在执行./lsfinstall -f install.config命令后,会有个提示,大概是说想要配置启动集群需要去看两个html文件,有一个是(/cadtools/share/lsf/10.1/lsf_quick_admin.html,另一个路径忘了。两个网页的名字是lsf_quick_admin.html和lsf_getting_started.html,下面的步骤是这两个动态生成的html文档里面的。就是让lsf环境的指令生效并且让节点间互相知道。(这两个文档很有用,会根据你的集群情况汇总你的集群信息,告诉你接下来怎么配置集群和验证集群是否配置正确)
4.5设置集群
(所有节点都要做,否则主节点无法获取从节点状态)
所有机器上登陆root并运行下面命令
/cadtools/share/lsf/10.1/install/hostsetup –top=”/cadtools/share/lsf” –boot=”y”
This command sets up a host to use the cluster that is installed in the /cadtools/share/lsf directory. It also configures the LSF daemons to start automatically
含义是在集群的节点开机和关机时自动启动和关闭LSF的守护程序,并让集群节点使用共享的/cadtools/share/lsf文件夹的配置
登陆lsfadmin用户或root用户均可,执行下面的命令
对于使用csh或tcsh的系统
执行这个
source /cadtools/share/lsf/conf/cshrc.lsf
对于使用sh、ksh或bash的系统执行这个(本文是ubuntu1804所以用的这个)
source /cadtools/share/lsf/conf/profile.lsf
作用:让LSF的命令在当前主机生效
登陆master节点的root用户,开始启动LSF集群,
注意,lsf社区版不允许机器cpu核数超过两个核,否则lsfstartup无法启动
lsfstartup
启动后执行lshosts或者lsload查看集群情况
最简陋的集群现在就搭起来了,上面的两个html文档会详细介绍命令的使用及和如何添加和删除节点。一些配置中可能遇到的问题也给出了解决方法。
4.6添加环境变量
在登陆账户下添加环境变量配置,使登陆自动启用lsf命令
vi .bashrc
查看进程状态
[root@test1 ~]# /etc/init.d/lsf status
Show status of the LSF subsystem
lim (pid 1961) is running…
res (pid 2043) is running…
sbatchd (pid 2114) is running…
使用tcsh情况下 配置.cshrc
[rchen@test1 ~]$ cat .cshrc
#!/bin/csh -f
#setenv LSF ‘/cadtools/share/lsf/conf/cshrc.lsf’
#set path = ($path $LSF)
#setenv /cadtools/share/lsf/conf/profile.lsf
source /cadtools/share/lsf/conf/cshrc.lsf
alias b ‘bsub -Ip -q idle’ #bsub时只需要在命令前加个b直接提交作业方法
alias b ‘bsub -Ip -q idle’ 默认提交到优先级最小的组
[rchen@test1 ~]$ bqueues
QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP
admin 50 Open:Active – – – – 0 0 0 0
owners 43 Open:Active – – – – 0 0 0 0
priority 43 Open:Active – – – – 0 0 0 0
night 40 Open:Inact – – – – 0 0 0 0
short 35 Open:Active – – – – 0 0 0 0
normal 30 Open:Active – – – – 0 0 0 0
interactive 30 Open:Active – – – – 0 0 0 0
idle 20 Open:Active – – – – 0 0 0 0
5、添加主机到集群
例如添加的主机为test3
关闭防火墙,关闭selinux
service iptables stop
chkconfig iptables off
vi /etc/selinux/config
配置nfs
挂载test1的/cadtools,/home 目录
mkdir /cadtools
mount -a
配置hosts
所有节点都需要修改
vi /etc/hosts
安装本地yum
安装NIS
用setup配置nis服务
yum -y install ypbind*
添加主机到集群有以下主要步骤:
1 安装该主机类型的LSF binary 文件
2 添加主机信息到lsf.cluster.cluster_name文件
3 配置新主机
一、安装该主机类型的binary文件。
cd /cadtools/share/lsf10.1_lsfinstall
修改install.config文件
./lsfinstall -f install.config
二、添加主机信息到lsf.cluster.cluster_name文件
检查lsf程序是否运行
[root@test3 conf]# cd /etc/init.d/
[root@test3 init.d]# ./lsf status
Show status of the LSF subsystem
lim is stopped…
res is stopped…
sbatchd is stopped…
[root@test3 init.d]# ./lsf start
重新配置lim
使得新主机在集群中可用。
lsadmin reconfig命令检查配置错误。如果没有发现不可恢复的错误,将要求您确认要在所有主机上重新启动lim,并重新配置lim。如果发现不可恢复的错误,则退出重新配置。
[root@test3 init.d]# lsadmin reconfig
Restart only the master candidate hosts? [y/n] n
Do you really want to restart LIMs on all hosts? [y/n] y
Restart LIM on <test1> …… done
Restart LIM on <test2> …… done
Restart LIM on <test3> …… done
重新配置mbatchd
[root@test3 init.d]# badmin reconfig
Checking configuration files …
No errors found.
Reconfiguration initiated
badmin reconfig命令检查配置错误。如果没有发现不可恢复的错误,将要求您确认重新配置。如果发现不可恢复的错误,则退出重新配置。
配置开机启动
/cadtools/share/lsf/10.1/install/hostsetup –top=”/cadtools/share/lsf” –boot=”y”
配置环境变量
source /cadtools/share/lsf/conf/profile.lsf
验证
最后运行bhosts 和lshosts来验证更改。
6、说明
配置文件说明
目录/etc/init.d:
/etc/init.s/lsf lsf服务自启动脚本
目录/apps/platform/9.1/lsf/conf:
lsf.conf lsf配置文件
lsf.cluster.cluster83 集群配置文件
lsf.shared 共享资源定义文件
./lsbatch/cluster83/configdir/lsb.* 调度系统配置文件
lsb.users lsf用户与用户组配置文件
lsb.queues lsf队列配置文件
lsb.params lsf调度参数配置文件
lsb.applications lsf应用配置文件
lsb.hosts lsf机器与机器组配置文件
lsb.resources lsf资源配置文件
lsb.modules lsf模块配置文件
常用命令
bsub:提交作业;
bjobs:查看作业信息;
bhist:查看作业历史;
lshosts:查看节点静态资源;
bhosts,lsload:查看节点状态和资源信息;
bqueues :查看队列配置;
blimits:查看限制limit信息;
lsid:集群版本和主节点;
bmod:修改bsub option;
限制用户运行的作业数目
在lsb.users文件中添加:
Begin User
USER_NAME MAX_JOBS JL/P
user1 4 –
user2 2 1
user3 – 2
groupA 8 –
groupB@ 1 1
Default 2 –
End User
限制节点运行作业数目
vi /cadtools/lsf9.1/etc/lsb.hosts
限制队列作业运行限制
lsb.queue
使能配置
badmin reconfig