跳转至

PROJECT-MAP — lustre_ins 项目地图

接任务先查本文件第 1 节路由表;问现状去 docs/HANDOFF.md;问步骤去各主题 SOP.md / docs/RUNBOOK.md。 本文件是静态结构视图(工程身份、依赖、路由),只做定点修订;不记当前状态与待办(那归 HANDOFF)。

1. 任务路由表

任务 / 症状 去哪 先读 入口
首次部署 / 重装 Lustre 集群 本工程(主部署器) docs/SOP.md 第 5 章 .venv/bin/python main.py <子命令> --config config/deploy.yaml
新增客户端 / OSS / MDT 本工程 add-clients-18-20/SOP.md、add-clients-25-28/SOP.md 同上(add-client / add-oss / add-mdt)
客户端挂不上 /mnt/lustre 本工程 + slurm_ins fix-client-mount-20261007/SOP.md;自愈见 slurm_ins/lustre_mount_selfheal_extend_20261007/SOP.md systemctl start mnt-lustre.mount(勿手工 mount)
普通用户写入被拒 / 权限异常 本工程(服务端身份源) fix-lustre-write-perm/SOP.md — 根因在服务端 UID 解析
调优参数不达标 / 重放调优 本工程 tuning-fix-and-rollout-plan/SOP.md main.py tune;重放须 systemctl restart lustre-tune.service
日常巡检 / 容量与漂移 本工程 docs/RUNBOOK.md main.py inspect → reports/inspect-*.md
上机前安全检查 本工程 precheck-hardening/SOP.md main.py precheck
作业落盘 / scratch 使用规范 slurm_ins(三层存储) slurm_ins/docs/BASELINE.md §2 见其 RUNBOOK
调度层问题(作业、节点状态) slurm_ins / LSF/lsf_ins 各自 HANDOFF 不在本工程

2. 分层依赖图

[whamcloud el9.7 仓库 + 定制内核 5.14.0-611.13.1_lustre.el9]   ← 安装来源(跨境带宽低,见 HANDOFF 红线)
                     ↓ 装包 / kmod-lustre
[服务端 · 物理层]  .21 = MGS + MDT(combined) | .22 = OSS          ← 本工程管
                     ↓ LNet / TCP(NID <ip>@tcp,端口 988)
[客户端 · 挂载层]  8 台 /mnt/lustre(FS `edafs`)                  ← 本工程管(挂载 + fstab 持久化)
                     ↓ Tier0 跨节点共享临时(/mnt/lustre/scratch)
[消费层]  slurm_ins(计算 .18–.20 / 提交 .28)| LSF/lsf_ins(执行 .25–.27)| eda_tools_ins(工具树)
                     ↑ 依赖关系:上层的作业正确性受本工程挂载与身份源影响;反向无依赖
  • 装载来源单列:.pth 挂载的共享库 /home/rain/py_public_modules/(BaseModule 等)不在本工程目录内。
  • 跨工程契约:挂载自愈的巡检对象清单由 slurm_ins 的 slurm.health_ensure.lustre_extra_guards 维护——本工程新增客户端后需同步该清单(目前含 .18–.20/.28/.25–.27)。

3. 子项目卡片

活工程

工程 定位 关键产物与入口 上下游
lustre_ins(本目录) Lustre 2.17.0 集群部署与运维主工程 main.py(bootstrap / add-oss / add-ost / add-mdt / add-client / enable-ha / tune / inspect / precheck / repo / rollback);modules/*.py、utils/*.py、config/deploy.yaml 上游=whamcloud 仓库与定制内核;下游=slurm_ins、LSF/lsf_ins、eda_tools_ins

留档(历次变更档案,正文保留、不再演进)

目录 一句话
add-clients-18-20/、add-clients-25-28/ 两批客户端扩展 + 踩坑(firewalld 门禁、跨境仓库带宽)
fix-lustre-write-perm/ 服务端未接入 LDAP 身份源致非 root 写入被拒
fix-client-mount-20261007/ 4 台 /mnt/lustre 未挂载恢复 + fstab noatime 对齐
tuning-fix-and-rollout-plan/ 调优模块修复与分批放量规划
precheck-hardening/ 上机前检查加固
git-init/ 工程纳入 Git + .pth 命名统一
handoff-rewrite-20261007/ 本次 HANDOFF 整体重写(含旧版备份)
py-skill-hardening/、skill-clause-fix/、skill-completeness/、skill-design-refine/、skill-generalization/、skill-portability/、skill-verify-r4/ 全局技能/规则体系的历次通用化与验证(跨工程,非本工程独有)

项目外强相关路径

路径 关系
/home/rain/py_public_modules/ .pth 挂载的共享库(BaseModule / paramiko_module / file_module 等),本工程与 slurm_ins 共用
/home/rain/Documents/slurm/slurm_ins/ 挂载自愈机制 B 所在工程;其 lustre_extra_guards 需与本工程客户端清单保持一致
/home/rain/Documents/LSF/lsf_ins/ LSF 执行节点 .25–.27 的作业侧契约
/home/rain/Documents/slurm/docs/PROJECT-MAP.md 上一层(slurm 项目)的地图,与本节不重复维护

4. 工程命名与文档约定

  • 主题目录命名:<主题>-<YYYYMMDD>/(如 fix-client-mount-20261007/);早期简名目录(git-init/ 等)保留不改。
  • 每个主题目录必备:SOP.md(八章)+ backup/README.md(台账);只读报告放 reports/,命名 YYYYMMDD-范围-巡检报告.md。
  • docs 三件套:HANDOFF.md(现在,覆盖式重写)/ BASELINE.md(稳定层,低频更新)/ SOP.md(历史,累积);本项目另有 RUNBOOK.md(服务运行手册)。
  • backup 结构:<主题>/backup/<相对原路径>/<原名>.bak.<YYYYmmdd-HHmmss>;远程文件原位保留 + 回传副本;清理由用户对照台账执行。
  • 工程形态:单 Python 部署工程(.venv/ + main.py 子命令),非多子包;共享代码走 .pth 挂载的公共库,不在本目录内复制。
  • 退役纪律:变更档案目录不删(留档),在 §3 卡片中标注即可。

来源:/home/rain/Documents/lustre_ins/docs/PROJECT-MAP.md | 最后更新:2026-10-07 10:27(由 build/sync.py 同步,请勿在站点侧修改)