Rocky Linux 9.3系统搭建Slurm环境【笔记】
实践环境:Rocky Linux 9.3
[root@m1 ~]# cat /etc/redhat-release
Rocky Linux release 9.3 (Blue Onyx)
[root@m1 ~]# uname -r
5.14.0-362.8.1.el9_3.x86_64
[root@m1 ~]#
主机名和IP
● 控制节点m1:10.1.1.10
● 计算节点c1:10.1.1.11
● 计算节点c2:10.1.1.12
一、基础配置部分:
1. 设置主机名
示例:
sudo hostnamectl set-hostname m1
2.所有节点
编辑 /etc/hosts 文件
echo -e "10.1.1.10 m1\n10.1.1.11 c1\n10.1.1.12 c2" | sudo tee -a /etc/hosts
3.管理节点和计算节点需要配置无秘钥认证访问
[root@m1 ~]# ssh-keygen -t rsa
[root@m1 ~]# ssh-copy-id -i .ssh/id_rsa.pub c1 && ssh-copy-id -i .ssh/id_rsa.pub c2
- 安装NTP时间同步服务
在每台主机上安装并配置NTP服务以使用中国上海时区。
# 在每台主机上
dnf install -y chrony # 配置chrony
echo "server ntp1.aliyun.com iburst" >> /etc/chrony.conf
echo "server ntp2.aliyun.com iburst" >> /etc/chrony.conf
echo "server ntp3.aliyun.com iburst" >> /etc/chrony.conf # 启动并启用chronyd
systemctl enable chronyd
systemctl start chronyd # 设置时区为上海
timedatectl set-timezone Asia/Shanghai
二、munge认证服务部署
1.控制节点和计算节点均需创建munge账号和组
# 创建munge账号和组
groupadd -g 1108 munge
useradd -m -c "Munge Uid 'N' Gid Emporium" -d /var/lib/munge -u 1108 -g munge -s /sbin/nologin munge
验证:
[root@m1 munge]# for i in `seq 1 2`;do ssh c$i id munge;done
uid=1108(munge) gid=1108(munge) groups=1108(munge)
uid=1108(munge) gid=1108(munge) groups=1108(munge)
[root@m1 munge]#
2.部署Munge
Munge是认证服务,实现本地或者远程主机进程的UID、GID验证。
2.1 安装munge(所有节点操作)
# 安装 munge
# 管理节点
sudo dnf install munge munge-libs munge-devel -y
通过 SSH 连接到两台不同的主机 (c1 和 c2) 并在每台机器上安装 MUNGE 及其相关库。
for i in `seq 1 2`; do ssh c$i "sudo dnf install -y munge munge-libs munge-devel";done
2.2 创建全局密钥
在Master Node
生成全局使用的秘钥文件:/etc/munge/munge.key (Master Node执行)
为了在 Master Node 上生成全局使用的 MUNGE 密钥文件 /etc/munge/munge.key
,你可以选择使用 dd
命令从 /dev/urandom
生成随机数据,或者使用 create-munge-key
工具来创建密钥文件。下面是两种方法的具体步骤:
方法一:使用 dd
命令
# 清空或创建新文件
dd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.key
# 设置正确的文件权限
chmod 0600 /etc/munge/munge.key
方法二:使用 create-munge-key
工具
如果你的系统上已经安装了 create-munge-key
工具,那么可以直接使用该工具来生成密钥文件:
# 创建密钥文件
create-munge-key -f /etc/munge/munge.key
# 检查并设置正确的文件权限
chmod 0600 /etc/munge/munge.key
请注意,在生成密钥文件后,你需要确保该文件具有正确的权限,通常是 0600
,这意味着只有文件所有者(通常是 root
用户)才能读取和写入此文件。
3.分发密钥文件
一旦在 Master Node 上生成了密钥文件,你需要将这个密钥文件安全地分发到集群中的所有节点。这可以通过 SCP(Secure Copy)或其他安全的方法来完成。例如:
# 分发密钥文件到其他节点
for node in c1 c2 # 假设 c1 和 c2 是你的其他节点
doscp /etc/munge/munge.key root@$node:/etc/munge/ssh root@$node "chmod 0600 /etc/munge/munge.key"
done
请确保替换 c1
和 c2
为实际的节点名或 IP 地址,并且确保你有足够的权限来通过 SSH 访问这些节点。
4.验证密钥文件
在所有节点上,你应该验证 MUNGE 是否能正确识别密钥文件。通常这涉及到重启 MUNGE 服务并检查日志文件是否存在任何错误:
# 在每个节点上重启 MUNGE 服务