这是我设计的一个简单的lsf结构图。具体情况应该视硬件条件决定。用户登录是通过内网ETX或者VNC登入。
lsf集群社区版最多支持2个cpu,64核最大数量为10台。如果超过了这个限制,lsf集群超过限制的机器将无法使用。
关于不同服务器的用户管理我当时设计采用的ad域,软件通过client共享给server。
接下来是正式的部署(全部是我自己成功过的):
作为被共享的服务器:
vim /etc/exports
添加/path/to/lsf(lsf软件包所在的路径) *(这个*代表任意的机器都可以挂载,可以改成指定机器)(rw,async,no_root_squash)
例子:/lsf *(rw,async,no_root_squash) (我这里是图方便挂载到根目录下,大家可以自己设计)
exportfs -r
systemctl restart rpcbind
systemctl restart nfs
以下步骤是关闭firewalld和selinux:
setenforce 0
systemctl stop firewalld
配置:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存;
no_root_squash:可以理解为root去哪儿都是root。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
作为客户端:
vim /etc/fstab
加上
10.0.1.123:/lsf /lsf nfs defaults 0 0
手动挂载:mount 10.0.1.123:/lsf /lsf
这里10.0.1.123为我随机敲的,大家通过哪个ip的电脑挂载就写哪个
修改master的hosts文件:
加入server和client的解析
这个应该都知道就不放图了(我在公司搭建的没图)
ssh-keygen(生成密钥,一路enter)
cat ~/.ssh/id_rsq.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
如果有多个机器节点,需要依次复制。(如下为示意)
scp ~/.ssh/authorized_keys root@node01:~/.ssh/
scp ~/.ssh/authorized_keys root@node02:~/.ssh/
这步主要是为了免密通信,不然启动集群的时候会输入很多次
tar -xvf lsf安装包.tar.gz
cd lsf安装包
cd lsf
tar -xvf lsf10.1_lsfinstall_linux_x86_64.tar.gz
cd lsf10.1_lsfinstall
vim install.config(这是配置文件)
最后面加上
LSF_TOP : 设置安装路径。
LSF_ADMINS : 设置管理员账号。
LSF_CLUSTER_NAME : 集群的名称。如果是自己搭建测试,想叫啥都行。
LSF_MASTER_LIST :master 机器列表,一般建议两台或以上,可以备份。
LSF_TARDIR : 安装文件解压缩路径。
CONFIGURATION_TEMPLATE :配置模式,ic建议设置为 HIGH_THROUGHPUT 高性能模式。
LSF_ADD_SERVERS :添加计算节点,可以安装后配置。就是说把机器写在这里就是计算节点了。
LSF_ADD_CLIENTS :添加客户节点,可以安装后配置。
执行./lsfinstall -f install.config 来安装 lsf
去新安装的conf目录下修改lsf.conf
添加LSF_RSH=”ssh”
cp cshrc.lsf profile.lsf /etc/profile.d
source profile.lsf
去到之前的安装目录下,找不到就find一下。
执行./hostsetup --top=”/lsf/10.1” --boot=”y”
这是守护进程,top指向安装目录
lsfstartup
这里要输入两次1
lsid,lshosts和lsload可以确认启动情况
如果都是ok则启动完成
一些其他的参考
IBM Documentation