跳转至

鹤思部署指南

欢迎阅读鹤思部署文档。本指南将带您了解如何使用鹤思作业调度系统搭建高性能计算集群。

推荐操作系统

我们强烈推荐使用 Rocky Linux 9 进行生产部署,因为它具有稳定性、长期支持和现代化的系统组件。

您将部署的内容

鹤思由三个主要组件组成:

组件 描述 位置
后端 cranectld (Scheduler) + craned (Node daemon) 控制节点和计算节点
前端 CLI(cbatchcqueue 等)+ 其他服务(cforedcplugind 按需部署
数据库 MongoDB,用于存储作业、账户和使用数据 控制节点/存储节点

下图展示了鹤思组件在不同节点类型上的典型部署方式(虚线边框表示可选组件)。

可选组件说明

  • cplugind: 仅需在该节点需要插件功能时部署。
  • cfored: 仅在需要提交交互式作业(如 calloc / crun)的节点上部署。
graph TB
    %% === 节点定义 ===
    subgraph 登录节点
        CLIs[命令行工具]
        cfored_login[cfored]
        cplugind_login[cplugind]
    end

    subgraph 控制节点
        cranectld[cranectld]
        cplugind_ctrl[cplugind]
    end

    subgraph 计算节点
        craned[craned]
        cfored_compute[cfored]
        cplugind_compute[cplugind]
    end

    subgraph 存储节点
        mongodb[(MongoDB)]
    end

    %% === 通信关系 ===
    CLIs --> cranectld
    cfored_login --> cranectld
    cfored_login <-->|流式 I/O| craned
    cfored_compute --> cranectld
    cfored_compute <-->|流式 I/O| craned
    cranectld <-->|调度/响应| craned
    cranectld <--> mongodb

    %% 插件连接
    cplugind_ctrl <-.-> cranectld
    cplugind_login <-.-> cranectld
    cplugind_compute <-.-> craned

    %% === 样式定义 ===
    %% 必选组件:深灰实线
    classDef required stroke:#555,stroke-width:2px;

    %% 可选组件:深灰虚线
    classDef optional stroke:#555,stroke-dasharray: 6 6, stroke-width:2px;

    %% 指定可选组件(所有 cplugind)
    class cplugind_login optional;
    class cplugind_ctrl optional;
    class cplugind_compute optional;
    class cfored_compute optional;

    %% 其他均为必选组件
    class CLIs,cfored_login,cranectld,craned,mongodb required;

快速开始

对于简单的单节点测试环境:

  1. 安装后端:按照 Rocky Linux 9 指南
  2. 安装前端:按照 前端部署指南
  3. 配置数据库:按照 数据库配置指南
  4. 配置集群:编辑 /etc/crane/config.yaml (参见 配置指南
  5. 启动服务:systemctl start cranectld craned (以及根据需要启动其他前端服务)

对于生产环境的多节点集群,请遵循下面的完整部署流程。


部署流程

步骤 1:构建后端组件

选择您的操作系统并按照相应的指南操作:

所有指南都涵盖系统准备、依赖项和编译。构建完成后:

  • 打包指南 - 创建 RPM/DEB 软件包以便于跨节点分发

步骤 2:配置数据库

MongoDB 存储作业历史记录、用户账户和资源使用数据。

在控制节点上安装 MongoDB,配置身份验证并连接鹤思。

步骤 3:配置集群

定义集群拓扑、节点资源和调度策略。

了解如何编辑 /etc/crane/config.yaml 来配置:

  • 集群名称和控制节点
  • 节点定义(CPU、内存、GPU)
  • 分区和调度优先级
  • 网络设置和高级选项

步骤 4:部署到节点

对于多节点集群,高效地分发二进制文件和配置。

使用 SCP、PDSH 或包管理器在集群中部署鹤思。

步骤 5:安装前端工具

部署面向用户的工具和服务,用于作业提交和管理。

安装基于 Go 的前端组件:cbatchcqueuecinfocacct 和 daemon 支持服务。


可选功能

插件系统

使用插件扩展鹤思,用于监控、通知等。

访问控制

限制仅授权作业可以通过 SSH 访问计算节点。

高级设备管理

在使用 cgroup v2 的系统上通过 eBPF 启用 GPU 和设备隔离。

  • eBPF 支持 - 使用 eBPF 设备控制的 GRES 支持

获取帮助

  • 查看各个指南的故障排除部分
  • 查看 Rocky 9配置 指南中的配置示例
  • 验证服务是否正在运行:systemctl status cranectld craned
  • 检查日志:/var/log/crane/journalctl -u cranectld