HANDOFF — Slurm 26.05 主备集群¶
1. 这份文件怎么用¶
- 交接快照,每次会话由 SessionStart Hook 自动注入;只描述现在,整体重写、不累积。
- 档位标注:
【已确认】=有实测证据;【未验证】=未证实;【待决策】=尚未定论。 - 稳定事实(集群拓扑与登录、存储三层、机制陷阱、命令速查)在
docs/BASELINE.md;历史过程与已结案正文在docs/SOP.md与各主题目录的SOP.md——本文件只留终态与一行指针。 - 上次整体重写:2026-10-07(本轮;上一版 11411 B 越过 10 KB 线,借机把轮次明细压成三条线摘要)。目标 7 KB / 强制重写线 10 KB。
2. 当前状态与在做什么¶
无进行中变更,无待接手任务;部署器效率改造已于 2026-10-11 结案(见 efficiency_wrapup_20261011/README.md)。 集群 6 台已就绪(控制 .16/.17、计算 .18/.19/.20、提交 .28):主备 HA、健康保障(机制 B 巡检自愈)、LDAP 用户同步、Lmod、记账+QoS、scratch 生命周期清理——全部【已确认】。
最近一轮(2026-10-07/08):① 部署器性能收敛——slurm_ins dry-run 墙钟 221→10.3 s;--submit-node 的 _sync_host 批量化(37→26 条);10-08 补收残余 3 处(scratch_gc、storage_layout 组目录、user_mgmt+health_ensure 的 pre_check)→ 命令数 -21.7%…-77.2%、清单一致;共享库 base_module.py 新增 run_per_host/_kv_script/_parse_kv;去遮蔽:删 utils/ 3 份共享库副本改走 .pth,_connect_count 上移 → 自报建连 6 次。② 存储与挂载——挂载自愈两轮扩面至 8 台(含 .21),pre_check 前置校验自愈对象 SSH 可达性;/tools /pdk 服务端导出收紧为 ro;.28 fstab 持久化补漏;scratch 老化清理加 exclude_patterns。③ 其它——Rocky/EPEL 源统一(.16/.17)、提交节点回滚演练 rc=0。逐项正文见各主题 SOP.md(本轮残余档案 probe_batch_residual_20261008/SOP.md);工程一览见 docs/PROJECT-MAP.md 变更档案表。
主流程远端命令数已核实(2026-10-11 结案):原「864 → 18」同日复测不可复现,实测为 87(
run_cmd)/ 90(exec_linux)条,墙钟相符;数字已按实测订正。效率改造结案口径见efficiency_wrapup_20261011/README.md。
关键基线数字:见 docs/BASELINE.md §5(写入延迟、复跑零变更、dry-run 墙钟基线)。
3. 未完成事项¶
| # | 事项 | 类型 | 在哪拾起 |
|---|---|---|---|
| 1 | ~~IC617 / calibre 2015.2 纳入生成器配置~~ 已结案(2026-10-10):IC25 已从配置与存储树彻底清除,单版本无互斥需求,纳管收益被「生成器会覆盖 IC617 实体 modulefile + 14 环境变量核对」成本抵消 | 已结案 | SOP 第 6 章 |
| 2 | 本地 scratch 演练(格式化不可逆,各节点 389 M 数据);--submit-node --rollback 演练已于 10-07 通过 |
待确认 | rollback_drill_20261007/README.md |
| 3 | 工具/PDK 就位后填充 /tools、/pdk 并改 modulefile install_dir——四家族 tools 现全部为空 |
待实体 | SOP 5.12/5.13;eda_tools_ins/lmod_cross_project_fix_20261005/ |
| 5 | ssd-pool 空间超卖:不自建监控,随 Prometheus 对接落地 |
已暂停 | 差距清单 |
| 6 | ~~slurmdbd 双活,消除记账单点~~ 已结案(2026-10-10):学习环境,知而不做 |
已结案 | RUNBOOK 第十章 |
| 7 | ~~备份清理:对照各 backup/README.md 自删~~ 已执行(2026-10-10):按口径 A 删 13 个主题的整个 backup/ + 2 个部分删除,23→10 个、约 4.5 M→1.1 M;未删项与理由见 backup_cleanup_20261010/README.md §3 |
已结案 | backup_cleanup_20261010/README.md |
| 10 | Lmod 优化 ④ spider cache:本机 LMOD_CACHED_LOADS=no,启用需「生成缓存 + 置 yes + 内容变更后重建」三件套,否则会「看不到新模块」;决定(2026-10-10):随 EDA 工具树就位一并做(现模块仅约 10 个,启用为零收益) |
待实体 | lmod_site_package_20261005/SOP.md 附录 |
| 11 | Lmod 优化 ⑤ deprecate() 标注与命名统一:目标模块属 eda_tools_ins 兼容侧,改名会破坏其归属;决定(2026-10-10):随 EDA 工具树就位一并做,与 ④ 合并处理以免二次返工 |
待实体 | ~/Documents/eda_tools_ins/docs/LMOD-CROSS-PROJECT-TODO.md §2-D |
| 16–17 | Lustre 挂载部分已闭环(2026-10-07):.21/.25–.27 挂载修复 + noatime(lustre_ins §3.1 #14/#16)+ .25–.27 与 .21 纳入挂载自愈(lustre_mount_selfheal_extend_20261007/ 与 selfheal_guards_hardening_20261007/,即原 #9 的两次扩面);仍待办:.25–.27 缺 /projects、/local_scratch(三层存储)→ LSF/lsf_ins §3 #5 |
部分闭环 | eda_topo_audit_20261006/ §5 G1/G2 |
| 18 | ~~LDAP 未覆盖存储服务端与许可服务器~~ 已闭环(2026-10-12):.21/.22(存储服务端,lustre_ins/ldap_client_20261012/SOP.md)与 .29(FlexLM,services/sssd/flexlm-ldap-20261012/SOP.md)均已接入 LDAP;两项均复用共享库 sssd_client(.29 走共享库 CLI 入口)。存储服务端本地镜像条目已于同日删除(lustre_ins/remove_local_mirror_20261012/SOP.md),双轨消除 |
已闭环 | 见上三份 SOP |
| 22 | ~~Tier0 scratch/users 权限不可自助~~ 已结案(2026-10-12):参数化为 1777(sticky),由 storage_layout 幂等维护(tier0.users_dir_mode),非 rain01 用户可自助建目录;4 台 apply、复跑零变更 |
已结案 | scratch_users_20261012/SOP.md |
编号沿历史(不整体重排,以免既有文档里的「HANDOFF §3 #N」引用失准)。已结案项 #1(IC617 纳管:IC25 已清除、单版本无互斥意义,2026-10-10)、#4(源统一)、#6(
slurmdbd双活:学习环境,知而不做,2026-10-10)、#9(mnt-lustre自愈)、#12–#15、#16–17 的 Lustre 挂载部分(自愈扩面至.25–.27)、#19(sync_status并发化)、#20(共享库同名副本去遮蔽:paramiko / logger / config 三份删除、改走.pth)、#21(探测并发化)的正文见各主题SOP.md与BASELINE.md§2;原 #5 的 RUNBOOK 部分已完成。
4. 红线¶
红线【均已确认,详 RUNBOOK 五/八章与 4.12】:
- 启动
slurmdbd → slurmctld(.16→.17) → slurmd,停止反向;QoS 须先于 slurmctld 存在。 --module-env执行前squeue必须为空;仅当 TaskProlog 配置变化时重启各计算节点 slurmd(2026-09-26 实测:只写 modulefile 不触发重启);--submit-node不碰任何 daemon。- 禁止手改
/usr/local/slurm/与集群上的slurm.conf(部署覆盖);改配置只落config/slurm_deploy.yaml或模板。 /etc/hosts的# BEGIN/END slurm-deploy块由部署器生成,勿手工编辑该块;宿主机/etc/exports与纳管节点的 NFS/etc/fstab条目均由storage_layout_deployer管理(判据已含 fstab 条目比对),改前必备份、勿手工改。- 三导出均 async,勿动 k8s 共用
/srv/nfs/k8s-hdd。 - munge key 权限 400 全节点一致;
authselect接管 PAM 前先验getent+SSH。 - 凭据只在 0600 文件(yaml、
ldap.pass),不入命令行/日志/文档;LDAP 用户清理误删不可回滚。 - 本地 scratch 格式化不可逆:目标设备由宿主 virsh XML 推导,不依赖盘名;宿主命令需
sudo免密。 - 生成器只写不删:取消模块须在
obsolete_module_file_dirs登记(条目可为目录或单个文件),部署器才会备份后清理共享盘路径;远端备份在/var/backups/slurm/modulefiles/,勿手工删。 - 命名与行为类陷阱(Lmod family 两级语义、csh 环境、SitePackage 扩展点、Epilog
set -u、configless、qemu-img --force-share、pkill -f dnf、health_assets渲染正则.*$)见BASELINE.md第 3 节,不在此重复。
5. 指针¶
| 文件 | 管什么 |
|---|---|
docs/BASELINE.md |
稳定层:集群拓扑与登录、存储三层、机制陷阱、命令速查 |
docs/RUNBOOK.md |
日常运维:速查、启停/扩缩容/同步、配置管理、备份恢复、故障场景 A–I;「一 → 共享存储单点」为容量水位与故障预案 |
docs/SOP.md |
集群变更档案:分步 5.1–5.13、验证 19 项、回滚 7.1–7.6、决策经过(历史过程只在这里查) |
docs/INCIDENT-20260918-*.md |
部署排障台账 + 第八章行动项 |
config/slurm_deploy.yaml |
配置唯一事实源(600,含凭据,不入 git/文档) |
docs/故障报告-20260903-*.md、docs/troubleshoot.md |
旧集群(192.168.0.x)资料,IP/场景多不适用 |
../docs/PROJECT-MAP.md |
项目地图(slurm 项目根):工程路由、依赖分层、工程内变更档案表(各主题目录一览,本文件不再重复维护) |
来源:
/home/rain/Documents/slurm/slurm_ins/docs/HANDOFF.md| 最后更新:2026-10-12 01:27(由build/sync.py同步,请勿在站点侧修改)