slurm集群部署教程
时间: 2023-11-06 08:49:06 浏览: 158
slurm集群搭建包.zip
Slurm 是一个开源的高性能计算集群管理系统,用于在大规模计算环境中调度、管理和监控作业。下面是一些关于如何部署 Slurm 集群的基本教程:
## 1. 安装 Slurm
首先,需要在所有计算节点和管理节点上安装 Slurm。可以通过源代码或二进制软件包进行安装。
### 安装依赖
在安装 Slurm 之前,需要安装一些依赖,包括 Munge、OpenSSL、PAM、Numactl、MySQL 或 MariaDB、Python 等。可以通过以下命令安装这些依赖:
```
sudo apt-get update
sudo apt-get install munge libmunge-dev openssl libssl-dev libpam0g-dev numactl \
mariadb-server libmysqlclient-dev python3-dev python3-pip
```
### 安装 Slurm
可以从官方网站下载最新版本的 Slurm 源代码:https://www.schedmd.com/downloads.php。然后将源代码解压缩并进行编译和安装。
```
tar xzf slurm-20.11.7.tar.gz
cd slurm-20.11.7
./configure --prefix=/usr/local
make
sudo make install
```
## 2. 配置 Slurm
在安装完 Slurm 后,需要配置集群。主要包括以下步骤:
### 配置 Munge
Slurm 需要 Munge 来进行身份验证和加密。需要在所有节点上安装 Munge,并生成一个共享密钥。
```
sudo apt-get install munge
sudo systemctl enable munge
sudo systemctl start munge
sudo /usr/sbin/munged --force
sudo dd if=/dev/random bs=1 count=1024 >/etc/munge/munge.key
sudo chmod 400 /etc/munge/munge.key
sudo chown munge:munge /etc/munge/munge.key
```
将生成的密钥复制到所有节点上。
### 配置 Slurm 配置文件
Slurm 的配置文件为 `/usr/local/etc/slurm.conf`。可以使用以下命令创建一个基本的配置文件:
```
sudo mkdir -p /etc/slurm-llnl
sudo cp /usr/local/etc/slurm.conf.example /etc/slurm-llnl/slurm.conf
```
然后,编辑配置文件并根据需要进行更改。以下是一些常用的配置项:
```
ControlMachine=<管理节点IP地址>
MpiDefault=none
SlurmUser=<Slurm用户>
SlurmdUser=<slurmd用户>
AuthType=auth/munge
CryptoType=crypto/munge
```
### 配置 slurmdbd
slurmdbd 是一个用于将作业信息和节点状态存储在数据库中的守护进程。需要在管理节点上安装 MySQL 或 MariaDB,并创建一个数据库和一个用户。
```
sudo apt-get install mariadb-server libmysqlclient-dev
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation
sudo mysql -u root -p
```
在 MySQL 命令行界面上,输入以下命令来创建数据库和用户:
```
CREATE DATABASE slurm_acct_db;
GRANT ALL ON slurm_acct_db.* TO 'slurm'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
```
然后,编辑 `/etc/slurm-llnl/slurmdbd.conf` 文件,并根据需要进行更改。以下是一些常用的配置项:
```
DbdAddr=<管理节点IP地址>
DbdHost=<管理节点主机名>
StorageType=accounting_storage/mysql
DbdUser=<MySQL用户名>
DbdPass=<MySQL用户密码>
DbName=slurm_acct_db
```
### 配置节点
在每个计算节点上,需要编辑 `/etc/slurm-llnl/slurmd.conf` 文件,并根据需要进行更改。以下是一些常用的配置项:
```
ControlMachine=<管理节点IP地址>
AuthType=auth/munge
CryptoType=crypto/munge
```
然后,启动 `slurmd` 守护进程:
```
sudo systemctl enable slurmd
sudo systemctl start slurmd
```
## 3. 启动 Slurm
在完成所有配置后,可以启动 Slurm。首先,需要启动 `slurmdbd` 守护进程:
```
sudo systemctl enable slurmdbd
sudo systemctl start slurmdbd
```
然后,在管理节点上启动 `slurmctld` 守护进程:
```
sudo systemctl enable slurmctld
sudo systemctl start slurmctld
```
## 4. 测试 Slurm
可以使用以下命令测试 Slurm 是否正常工作:
```
srun -N <节点数> -n <任务数> hostname
```
例如:
```
srun -N 2 -n 4 hostname
```
运行此命令后,应该会在终端上看到所有节点的主机名。如果一切正常,则表示 Slurm 已经正确安装和配置。
以上是一个基本的 Slurm 集群部署教程,如果需要更高级的配置和管理,请参考 Slurm 官方文档。
阅读全文