slurm_ins¶
上传件:
slurm_ins.md(原文件可下载)。
1.系统初始化配置¶
环境说明:
slurm集群环境说明:
系统版本:Ubuntu 18.04.6
华为云上海可用区一:
slurm master: 192.168.0.164
slurm slave01: 192.168.0.218
slurm slave02: 192.168.0.129
1.1、关闭防火墙及主机名设置¶
ufw disable # 关闭防火墙,集群所有主机执行
hostnamectl --static set-hostname m0 # 设置集群主机名,master node 执行
hostnamectl --static set-hostname s1 # slave node 1执行
hostnamectl --static set-hostname s2 # slave node 2执行
1.2、/etc/hosts 配置集群节点名称¶
cp /etc/hosts /etc/hosts.bak20220617 # 修改前备份
echo "192.168.0.164 m0" >> /etc/hosts
echo "192.168.0.218 s1" >> /etc/hosts
echo "192.168.0.129 s2" >> /etc/hosts
scp -r /etc/hosts root@s1:/etc
scp -r /etc/hosts root@s2:/etc
1.3、生成公钥,免密登陆¶
ssh-keygen
ssh-copy-id root@s1
ssh-copy-id root@s2
1.4、安装nfs共享m0磁盘,以便在集群所有节点共享数据¶
apt-get install nfs-kernel-server # m0上执行
apt install nfs-common -y # s1,s2上执行
mkdir -p /root/temp/vina/test # vina程序运行目录
echo "/root/temp/vina/test *(rw,sync,no_root_squash)" >> /etc/exports
/etc/init.d/nfs-kernel-server restart
mount -t nfs -o nolock m0:/root/temp/vina/test /root/temp/vina/test # s1,s2上执行
echo "m0:/root/temp/vina/test /root/temp/vina/test nfs default 0 0 " >>/etc/fstab
1.5、添加slurm、munge用户¶
# 安全考虑,用于以非root权限启动slurm、munge相关服务
export SLURMUSER=10086
groupadd -g $SLURMUSER slurm
useradd -m -c "SLURM workload manager" -d /usr/local/slurm -u $SLURMUSER -g slurm -s /bin/bash slurm
export MUNGEUSER=10085
groupadd -g $MUNGEUSER munge
useradd -m -c "munge user" -d /usr/local/munge -u $MUNGEUSER -g munge -s /bin/bash munge
2.安装配置并启动munge¶
apt-get install -y openssl
apt-get install -y libssl-dev
apt-get install -y libmunge-dev # munge支持库,必装,否则slurm无法正常启动
tar -xvJf munge-0.5.14.tar.xz
cd munge-0.5.14
./configure --prefix=/usr/local/munge --sysconfdir=/etc --localstatedir=/var --runstatedir=/run
make -j 2
make install
cp ./src/etc/munge.systemd.service /etc/systemd/system/munge.service
echo "export PATH=$PATH:/usr/local/munge/sbin:/usr/local/munge/bin" >> ~/.bashrc
source ~/.bashrc
mungekey # 仅在master节点执行,集群共用该key
cd /etc/munge/
scp /etc/munge/munge.key root@s1:$PWD # 操作需要在slave节点安装完munge后进行
scp /etc/munge/munge.key root@s2:$PWD
chown -R munge:munge /usr/local/munge
chown -R munge:munge /var/log/munge
chown -R munge:munge /etc/munge/
systemctl start munge
systemctl status munge
systemctl enable munge
3.安装slurm集群并启动slurmctld、slurmd等服务¶
tar -xvjf slurm-21.08.8-2.tar.bz2
cd slurm-21.08.8-2
./configure --prefix=/usr/local/slurm --sysconfdir=/usr/local/slurm/etc --enable-multiple-slurmd
make -j 2
make install
cp ./etc/slurmctld.service /etc/systemd/system # 仅需master节点操作
cp ./etc/slurmd.service /etc/systemd/system
mkdir -p /usr/local/slurm/etc
# 修改master节点配置文件以正常启动slurm相关进程
cp ./etc/cgroup.conf.example /usr/local/slurm/etc/cgroup.conf
cp ./etc/slurm.conf.example /usr/local/slurm/etc/slurm.conf
# 在slave节点修改slurmd.service,使其以无配置模式启动slurmd
sed -i 's/\-D/--conf-server m0:6817 &/' /etc/systemd/system/slurmd.service
echo "export PATH=$PATH:/usr/local/slurm/sbin:/usr/local/slurm/bin" >> ~/.bashrc
. ~/.bashrc
mkdir -p /var/spool/slurmctld
chown -R slurm:slurm /var/spool/slurmctld
systemctl start slurmctld.service
systemctl status slurmctld.service
systemctl enable slurmctld.service
systemctl start slurmd.service
systemctl status slurmd.service
systemctl enable slurmd.service
4.命令参数
scontrol update NodeName=s1 State=RESUME # 恢复node节点由down至idle