前端组件部署指南¶
Tip
本教程已在 Rocky Linux 9 上验证。它应该可以在其他基于 systemd 的发行版上运行,例如 Debian、Ubuntu、AlmaLinux 和 Fedora。
本教程专为 x86-64 架构设计。对于其他架构,如 ARM64,请确保相应修改下载链接和命令。
本指南假设有一个演示集群,具有以下节点:
- login01:用户登录和作业提交节点。
- cranectld:控制节点。
- crane[01-04]:计算节点。
请在本教程中以 root 用户身份运行所有命令。确保在继续之前完成后端环境安装。
概述¶
您将安装和运行的主要前端组件的简要概述:
-
CLI 工具(
cbatch、cqueue、cinfo等):- 面向用户的命令行实用程序,用于作业提交、查询队列和作业状态、账务和作业控制。
- 设计为轻量级并分发到用户登录节点。它们与控制节点(
cranectld)通信。
-
cfored(交互式作业守护进程):- 为交互式作业提供支持(由
crun、calloc使用)。 - 通常在提交交互式作业的登录节点上运行。由 systemd 作为
cfored.service管理。
- 为交互式作业提供支持(由
-
cplugind(插件守护进程):- 加载和管理插件(mail、monitor、energy、event 等)并向鹤思组件公开插件服务。
- 必须在需要插件功能的节点上运行。插件
.so文件和插件配置在/etc/crane/plugin.yaml中注册。
部署策略¶
前端组件默认通过 RPM/DEB 软件包部署。
如果还没有 cranesched-frontend 和 cranesched-plugin 软件包,请先按照打包指南完成构建依赖安装并生成软件包。
cranesched-frontend 应安装在登录节点以及其他需要 CLI 工具的节点。cranesched-plugin 仅安装在需要运行插件的节点。
其他安装方式
项目的 GitHub Action 会在每次 master 构建后上传 RPM/DEB 工件。这些工件未经过完整测试,仅适用于快速验证。
此外,您也可以使用本页末尾的源码安装方式,无需生成 RPM/DEB 软件包。
安装前端软件包¶
将生成的软件包分发到目标节点后,使用对应的包管理器安装:
# RPM 系统:在登录节点安装 CLI 工具和 cfored
sudo dnf install /tmp/cranesched-frontend-*.rpm
# RPM 系统:仅在需要插件功能的节点安装
sudo dnf install /tmp/cranesched-plugin-*.rpm
# DEB 系统:在登录节点安装 CLI 工具和 cfored
sudo apt install ./cranesched-frontend_*.deb
# DEB 系统:仅在需要插件功能的节点安装
sudo apt install ./cranesched-plugin_*.deb
启用和验证服务¶
# 交互式作业所需的 cfored 仅运行在登录节点
pdsh -w login01 systemctl enable --now cfored
# 插件守护进程在需要插件功能的节点启用
pdsh -w login01,cranectld,crane[01-04] systemctl enable --now cplugind
验证部署¶
插件路径提示¶
安装路径
软件包将文件安装到 /usr/bin/、/usr/lib/crane/plugin/ 和 /usr/lib/systemd/system/。在 /etc/crane/plugin.yaml 中注册插件时,请使用 /usr/lib/crane/plugin/ 下的实际 .so 路径。
可选:Slurm 命令兼容¶
Tip
为了方便熟悉 Slurm 的用户迁移到鹤思(CraneSched),我们实现了 cwrapper 工具,管理员可以通过以下教程提供 Slurm 命令的别名。
cat > /etc/profile.d/cwrapper.sh << 'EOCWRAPPER'
alias sbatch='cwrapper sbatch'
alias sacct='cwrapper sacct'
alias sacctmgr='cwrapper sacctmgr'
alias scancel='cwrapper scancel'
alias scontrol='cwrapper scontrol'
alias sinfo='cwrapper sinfo'
alias squeue='cwrapper squeue'
alias srun='cwrapper srun'
alias salloc='cwrapper salloc'
EOCWRAPPER
pdcp -w login01,crane[01-04] /etc/profile.d/cwrapper.sh /etc/profile.d/cwrapper.sh
pdsh -w login01,crane[01-04] chmod 644 /etc/profile.d/cwrapper.sh
请注意,cwrapper 别名仅提供基本的兼容性,如需体验高级特性,请使用鹤思的命令行工具。
可选:源码安装¶
源码安装适用于开发和快速验证。构建依赖与工具的安装方法参见打包指南。准备好环境后执行:
git clone https://github.com/PKUHPC/CraneSched-FrontEnd.git
cd CraneSched-FrontEnd
make
make install
默认情况下,二进制安装到 /usr/local/bin/,systemd 单元安装到 /usr/local/lib/systemd/system/。可以通过 make install PREFIX=/opt/crane 修改安装前缀。将文件分发到目标节点后,执行 systemctl daemon-reload,再按照上文启用所需服务。