# 参数替换与使用说明

示例基线 Slurm 26.05.4；依据正文逐项核对，不整体执行。

- `REPLACE_ALLOCATABLE_MIB`：按现场内存和系统预留填写 Slurm 可分配内存，单位 MiB。
- `REPLACE_ALLOWED_SOURCE_CIDR`：允许访问该服务的来源网段。
- `REPLACE_BOARDS`：按 `slurmd -C` 的实际探测结果填写。
- `REPLACE_COMPUTE_IP`：compute 的管理网络地址。
- `REPLACE_CORES_PER_SOCKET`：按 `slurmd -C` 的实际探测结果填写。
- `REPLACE_CPUS`：按 `slurmd -C` 的实际探测结果填写。
- `REPLACE_DB1_IP`：db1 的管理网络地址。
- `REPLACE_DB_PASSWORD`：现场生成的记账数据库密码，对应 db1 的 StoragePass。
- `REPLACE_LOGIN_IP`：login 的管理网络地址。
- `REPLACE_MASTER1_IP`：master1 的管理网络地址。
- `REPLACE_MASTER2_IP`：master2 的管理网络地址。
- `REPLACE_OFFICIAL_SHA256`：从所选版本的官方校验信息取得完整 SHA-256。
- `REPLACE_PORT_OR_RANGE`：当前角色实际需要开放的端口或端口范围。
- `REPLACE_SOCKETS_PER_BOARD`：按 `slurmd -C` 的实际探测结果填写。
- `REPLACE_THREADS_PER_CORE`：按 `slurmd -C` 的实际探测结果填写。
- `REPLACE_ZONE`：承载集群通信网卡的 firewalld 区域。

另核对：主机名、共享存储挂载、hpc/research/alice、UID/GID、MariaDB 完整版本与 buffer pool、节点资源和分区策略。记账密码只保存在 db1 的 slurmdbd.conf；完成日志密码只保存在两控制器的 slurmctld.conf。两种私密配置权限均为 slurm:slurm 0600；公共 slurm.conf 不含密码。

## v2 新增参数

- `REPLACE_APPSTREAM_BASEURL`：内部 AppStream 完整 HTTPS 仓库地址。
- `REPLACE_BASEOS_BASEURL`：匹配发行版、EL 主版本、架构的内部 BaseOS 完整 HTTPS 仓库地址。
- `REPLACE_BUILDER_BASEURL`：内部 CodeReady Builder / PowerTools / CRB 完整 HTTPS 仓库地址。
- `REPLACE_CLUSTER_INTERFACE`：实际承载集群通信的网卡，用于确认 firewalld zone。
- `REPLACE_COMPUTE_CIDR`：仅包含受信任计算节点的网段；不连续时分别添加源地址。
- `REPLACE_EPEL_BASEURL`：匹配 EL 主版本和架构的内部 EPEL 完整 HTTPS 仓库地址。
- `REPLACE_MARIADB_BASEURL`：内部 MariaDB 10.11 完整 HTTPS 仓库地址，仅 db1 启用。
- `REPLACE_SLURM_BASEURL`：已签名 Slurm 26.05.4 RPM 的内部仓库地址；用本地 RPM 时保持仓库禁用。

## v3 双库与控制器私密配置

- `REPLACE_JOBCOMP_DB_PASSWORD`：两控制器 JobComp 完成日志密码，与各自来源 IP 的数据库账号一致；与记账密码分别生成。

`REPLACE_MASTER1_IP`、`REPLACE_MASTER2_IP` 使用 MariaDB 实际看到的连接来源；已启用 skip-name-resolve，不能用主机名代替 IP 授权。`REPLACE_DB1_IP` 必须是 db1 实际拥有的集群地址。MariaDB 同时监听该地址和 127.0.0.1。

init-slurm.sql.example 只用于新建实例；slurmctld.conf.example 只安装到两控制器，并通过 systemd 的 SLURM_CONF 指定。下载的配置内仍有占位值，按正文替换，不整体执行附件。
