跳转至

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 同步,请勿在站点侧修改)