munge是认证服务,用于生成和验证证书。应用于大规模的HPC集群中,slurm官方推荐使用munge作为slurm作业调度系统的认证服务,用于主控节点和计算节点之间的认证通信。配置时分为server端和client端,其中server端应作为slurm调度服务的主控节点,用于管理认证服务。
本次配置系统为:Centos7.9
server端IP:192.168.1.203(cn03)
client端:192.168.1.201-205(cn01-cn05)
1、server端配置
server端首先需要确保以前没有安装过munge,如果安装过需要把以前的munge用户删掉
yum remove munge munge-libs munge-devel
userdel -r munge
删除完之后需要新建munge用户,server端和client端的munge用户UID必须保持一致,因此必须在创建时指定UID,执行如下命令即可。
export MUNGEUSER=1120
groupadd -g $MUNGEUSER munge
useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGEUSER -g munge -s /sbin/nologin munge
server端需安装如下几个包:
yum install munge munge-devel munge-libs rng-tools -y
为系统新增熵池:
rngd -r /dev/urandom
执行以下命令,创建munge.key文件:
create-munge-key
执行完以后,在/etc/munge/下面会生成munge.key,需修改munge.key的权限以及所属用户,把所属用户改成munge。
dd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.key #在Master Node创建全局使用的密钥
chown munge: /etc/munge/munge.key
chmod 400 /etc/munge/munge.key
chown -R munge: /var/lib/munge
chown -R munge: /var/run/munge
chown -R munge: /var/log/munge
把munge.key分发给其他的client端的机器:
scp /etc/munge/munge.key root@cn01:/etc/munge/
scp /etc/munge/munge.key root@cn02:/etc/munge/
scp /etc/munge/munge.key root@cn04:/etc/munge/
scp /etc/munge/munge.key root@cn05:/etc/munge/
启动munge服务并加入开机自启:
systemctl start munge
systemctl enable munge
2、client端配置
client端首先需要确保以前没有安装过munge,如果安装过需要把以前的munge用户删掉:
yum remove munge munge-libs munge-devel
userdel -r munge
删除完之后需要新建munge用户,server端和client端的munge用户UID必须保持一致,因此必须在创建时指定UID,执行如下命令即可。
export MUNGEUSER=1120
groupadd -g $MUNGEUSER munge
useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGEUSER -g munge -s /sbin/nologin munge
client端同样需安装如下几个包:
yum install munge munge-devel munge-libs rng-tools
为系统新增熵池:
rngd -r /dev/urandom
在配置server端时,已经把munge.key发送至了client端,此时在client端同样需修改munge.key文件的所属用户,并修改相关目录的权限,改成munge即可。
chmod 700 /etc/munge
chown -R munge: /etc/munge
chown -R munge: /var/lib/munge
chown -R munge: /var/run/munge
chown -R munge: /var/log/munge
修改完之后即可启动rngd和munge服务和加入开机自启。
systemctl start rngd
systemctl start munge
systemctl enable rngd
systemctl enable munge
3、常见报错处理
(1)启动munge服务时报错,munged: Error: Keyfile is insecure: "/etc/munge/munge.key" should be owned by uid ***
错误原因:munge.key的权限没有修改,改完之后即可正常启动服务