安装
本节介绍如何在已有的超算集群上部署OpenSCOW系统。您可参考本文档在生产环境中部署OpenSCOW。
一. 前提条件
- slurm集群准备完毕
- 版本为
21.08.4及以上 - 已经部署slurm的Accounting功能
- 部署slurm集群可参考slurm集群部署实践
- 版本为
- slurm集群各节点实现了LDAP认证,提供两个基于CentOS7的脚本用来快速搭建和配置LDAP,修改两个文件开头部分的相关配置(
Start Configuratin Part和End Configuration Part之间的变量),运行即可:- provider.sh: 用于配置LDAP服务器
- client.sh: 用于配置LDAP客户端(slurm集群所有节点都需要执行)
- slurm集群挂载了并行文件系统,例如lustre、gpfs等,提供NFS的搭建供参考;
- 登录节点和计算节点安装TurboVNC,版本3.0以上,官方安装教程;
- 登录节点安装桌面,例如Xfce、KDE、MATE等。
二. 部署流程
1. 准备OpenSCOW部署节点
我们推荐将OpenSCOW部署在一个单独的节点上。下文称部署这些组件的节点为服务节点,要求如下:
-
最小配置:8C16G,推荐配置(生产级):16C32G;
-
与slurm集群各节点网络可达,或者至少与slurm集群登录节点和管理节点网络可达(代理网关方案)。
-
服务节点可以免密以root用户SSH登录到slurm集群各个登录节点,并且服务节点的
~/.ssh目录下有登录所需要的id_rsa.pub和id_rsa文件- 运行所有部署的命令用户不需要为root,但是此用户的
~/.ssh下的密钥对需可以以root用户登录登录节点
- 运行所有部署的命令用户不需要为root,但是此用户的
-
服务节点/代理网关节点可以SSH连接到所有计算节点,并且计算节点和登录节点的所有用户共享同样的
SSH authorized_keys配置文件
因为这个issue,如果您的登录节点和计算节点的所使用的OpenSSH的版本高于8.2(大多比CentOS 7新的操作系统默认的版本均高于此),那么即使您能在OpenSCOW节点上通过ssh命令连接到登录和计算节点上,OpenSCOW可能也无法通过SSH连接到这些节点上。如果您遇到了这个问题,您需要在您的各个节点的/etc/ssh/sshd_config文件中增加以下内容,并重启sshd服务。
PubkeyAcceptedKeyTypes=+ssh-rsa
这是因为OpenSSH从8.2版本开始默认取消了对ssh-rsa公钥签名算法的支持(OpenSSH 8.2 Release Note)。当前系统仅支持使用ssh-rsa类型的公钥对进行SSH 登录,在后续我们会增加对使用更新算法(例如ed25519)的公私钥对的默认支持。
另外,Rocky Linux 9.3 或 RHEL 9 中,需调整加密策略到 LEGACY 以支持加密算法(如 ssh-rsa)。
sudo update-crypto-policies --set LEGACY
为了简化部署,系统组件以docker镜像的形式分发。服务节点应该安装好
docker(安装docker的官方文档)docker compose(安装docker compose的官方文档)。
2. 编译和部署适配器
针对不同种类的调度器,需要在集群上部署对应的适配器。适配器是在OpenSCOW和底层调度器之间的中间层,向OpenSCOW提供一组接口,OpenSCOW通过这组接口调用适配器功能。理论上,只要适配器实现了接口所定义的功能,OpenSCOW就能方便地部署在对应集群上。
适配器本质上是一个gRPC服务器,我们已经实现了部分调度器对应的适配器,可以参考下列文档部署适配器
- 适配器运行依赖本机glibc版本,强烈建议在与运行环境(slurm管理节点)一致的环境中下载源码自行编译。
- 适配器将会暴露一个端口来提供服务,OpenSCOW将通过
ip地址+端口号访问适配器,调用接口。请记录下适配器的地址信息,用于后续部署。
3. 安装和配置OpenSCOW
3.1 下载openscow-cli
openscow-cli是我们官方维护的OpenSCOW部署和运维工具,能够帮助您快速部署、管理和维护OpenSCOW集群。
参考open-cli下载openscow-cli,并将其存放到一个你用于存放OpenSCOW配置文件的目录下。
# scow目录将会用于存在OpenSCOW相关的配置文件
mkdir scow
cd scow
# 将下载的openscow-cli移动到scow目录下
cp /path/to/scow-cli ./
chmod +x scow-cli
3.2 配置文件
运行以下命令生成示例配置文件:
# 生成安装配置文件./install.yaml和示例配置文件目录./config
./cli init
主要配置文件及说明(根据以下顺序配置系统):
| 顺序 | 配置文件 | 功能说明 | 是否必须 | 配置DEMO | 备注 |
|---|---|---|---|---|---|
| 1 | install.yaml | 安装文件 | 必须 | install.yaml | 按照集群需求修改对应参数 |
| 2 | {集群ID}.yaml | 集群配置文件 | 必须 | {集群ID}.yaml | 支持多集群,一个集群一个配置文件 |
| 3 | auth.yaml | 认证系统 | 必须 | auth.yaml | 所有集群同一个认证系统 |
| 4 | mis.yaml | 管理系统 | 可选 | mis.yaml | |
| 5 | portal.yaml | 门户系统 | 可选 | portal.yaml | 若登录节点不是安装的xfce,需要对应进行修改 |
| 6 | audit.yaml | 审计系统 | 可选 | audit.yaml |
3.3 其他配置(可选)
配置完成后,运行以下命令启动系统。
./cli compose up -d
当修改了配置文件后,运行以下命令重启系统
./cli compose restart