跳转至

2026-10-06 EDA 集群存储与服务拓扑 巡检报告

类型:只读巡检(B 类)。不改变任何系统状态。 范围:lsf / slurm / lustre / nfs / ldap 五类服务的节点接入、权限与挂载现状,以及对标 EDA 存储标准的符合性核实。 采集时间:2026-10-06(实机只读探测,命令见附录 A);2026-10-07 复核并更新:LSF 两台 master 已改为 MXJ=0(bhosts -w → closed_Full / MAX=0,与 hpc-submit 同款),不再接作业——据此收敛 G1 与撤销 G8;同日再更新:G3(NFS soft)经决策有意保留、G4(/tools /pdk 服务端导出)已改 ro,两项不再计为差距。 采集对象:15 台(slurm .16–.20、lustre .21/.22、lsf .23–.27、hpc .28、license .29、k8s .10)+ NFS 服务端本机 .249 证据档位:【实测】= 本轮命令输出;【档案】= 项目文档记载,本轮未复核。


二、判定基准:EDA 存储标准

本报告采用两段基准:项目内已落地的 EDA 存储标准(eda_storage_standardization),加行业通行做法(Microsoft/Azure NetApp EDA 最佳实践、Lustre 官方架构)。

# 标准条目 出处
S1 三层物理分离:Tier1 持久(NFS /projects//home)/ Tier0 跨节点共享临时(Lustre scratch)/ 本地节点私有临时(/local_scratch、$TMPDIR),IO 特征互不干扰 项目内标准 附录 B.5-1(行业同:EDA 三层模型)
S2 NFS 客户端参数统一:hard,timeo=600,retrans=2,noatime,actimeo=30,去 soft;静态库卷建议再加 nocto,actimeo 提升元数据性能 项目内标准 第二章-1;ANF EDA 最佳实践
S3 工具/PDK 只读 + 版本化(服务端导出即只读,不只靠客户端 ro) 项目内标准 附录 B.5-2
S4 License 服务化(不挂载,走网络) 项目内标准 附录 B.5-3
S5 客户端全局统一视图:/tools、/pdk、/projects、scratch 在所有跑作业的节点上可见一致 项目内标准 附录 B.5-4
S6 Lustre 客户端参数统一 noatime,flock,lazystatfs;scratch 条带化 -c 3 -S 1M;元数据/数据分离、MDT/OST 有冗余 项目内标准 第二章-2;Lustre 架构
S7 统一身份(LDAP)覆盖全部参与作业的节点,含存储服务端(用于 UID/GID 解析与配额) 项目内 LDAP 改造计划;行业通行
S8 临时数据有生命周期兜底:作业 trap + Epilog + 老化清理,且不误删非作业目录 hpc-simulation-env.yaml storage 注释

三、拓扑与接入矩阵(现状)

3.1 逐节点接入矩阵

主机 IP 角色 Slurm LSF NFS 客户端 Lustre 客户端 LDAP(sssd) 本地 scratch
slurm-master-01 .16 主控+DBD ctld✓ dbd✓ munge✓ — /home /opt/modulefiles /mnt/slurm-shared ✗ ✓ ✗
slurm-master-02 .17 备控 ctld✓ munge✓(dbd✗) — 同上 ✗ ✓ ✗
slurm-work-01/02/03 .18/.19/.20 计算 slurmd✓ munge✓ — /home /projects /tools /pdk /opt/modulefiles ✓ 已挂 ✓ ✓ 50G xfs
lustre-mgs-01 .21 MGS/MDS — — ✗ 服务端(/mnt/mdt0) ✗ ✗
lustre-oss-01 .22 OSS — — ✗ 服务端(/mnt/ost0) ✗ ✗
lsf-master-01 .23 LSF 主控(不接作业,2026-10-07 起 MXJ=0) — mbatchd✓ sbatchd✓ lim✓ 仅 /home /data/nfs/lsf —(不跑作业,无需) ✓ —(无需)
lsf-master-02 .24 LSF 备控(不接作业,同上) — sbatchd✓ lim✓ 仅 /home /data/nfs/lsf —(不跑作业,无需) ✓ —(无需)
lsf-work-01/02/03 .25/.26/.27 计算 — sbatchd✓ lim✓ /home /tools /pdk /opt/modulefiles /data/nfs/lsf ✗ 挂载失败(见 §5 G2) ✓ ✗
hpc-submit .28 统一提交节点 客户端(munge✓,无 slurmd) sbatchd✓ lim✓(不执行作业) /home /projects /tools /pdk /opt/modulefiles /data/nfs/lsf ✓ 已挂 ✓ ✗(提交节点,可接受)
Flexlm .29 许可服务器 — — ✗ ✗ ✗ ✗
k8s-master-01 .10 LDAP 服务端(pod 内) — — ✗ ✗ 宿主未接(服务在 pod 内,正常) ✗

k8s 其余节点(.13/.14/.15)不在本次五类服务的接入范围,未探测。

3.2 服务端清单

服务 服务端 形态 客户端
NFS dell-R620 本机 192.168.31.249(Ubuntu 24.04,/dev/sdb1 ext4 1.8T,已用 38%) 内核 NFS server,10 条导出全部 rw,async,no_subtree_check,no_root_squash 除 lustre/license 外全部节点
Lustre .21(MGS/MDS,MDT 11.1G)+ .22(OSS,OST 294.4G) Lustre 2.17.0,edafs,单 MDT + 单 OST,@tcp .18/.19/.20/.28 已挂
Slurm 控制 .16 主 / .17 备;记账 slurmdbd 仅 .16 active Slurm 26.05.2,auth/munge 提交 .28,计算 .18–.20
LSF .23 主 / .24 备(均 MXJ=0,不接作业)、提交 .28 LSF CE 10.1.0.12(lsfce) 计算 仅 .25–.27
LDAP ldap://192.168.31.10:389(OpenLDAP 2.6.10,k8s server 命名空间) sssd 客户端 11 台(见 §3.4)
FlexLM .29 lmgrd 两套调度器均未接 license 调度

3.3 NFS 挂载矩阵(含参数,标准要求去 soft)

挂载点 服务端导出 已挂节点 挂载参数现状 对标 S2
/projects /data/nfs/projects .18–.20、.28 rw,hard,timeo=600,retrans=2,noatime,actimeo=30 ✓ 达标
/tools /data/nfs/tools .18–.20、.25–.27、.28 ro,hard,timeo=600,...,actimeo=30 ✓ 达标(客户端侧)
/pdk /data/nfs/pdk 同上 ro,hard,...,actimeo=30 ✓ 达标(客户端侧)
/home /data/nfs/home 全部 11 台 rw,soft,timeo=600,retrans=2 ✗ 仍 soft
/opt/modulefiles /data/nfs/modulefiles .16/.17/.18–.20/.25–.27/.28 rw,soft ✗ 仍 soft
/data/nfs/lsf /data/nfs/lsf .23–.28 rw,soft ✗ 仍 soft
/mnt/slurm-shared /data/nfs/slurm-state .16/.17 rw,hard,intr 部分(无 actimeo)

3.4 统一身份(LDAP)

  • 已接入(sssd active)11 台:.16、.17、.18、.19、.20、.23、.24、.25、.26、.27、.28
  • 未接入:.21、.22(Lustre 服务端,sssd inactive,走本地 /etc/passwd)、.29(FlexLM)、.10/.13/.14/.15(k8s)
  • 身份实况【实测】:.18 上 id rain01 → uid=2001(rain01) gid=2000(design) groups=2000(design)
  • 职能组(GID 复用后):design 2000 / dv 3000 / custom 4000 / layout 5000 / cad 6000 / sre 6100 / pnr 6200 / signoff 6220

3.5 目录与权限现状

路径 权限 属主/属组 对标
/data/nfs/projects/{design,dv,custom,layout,cad,sre,pnr,signoff} 2775(drwxrwsr-x,setgid) root / 对应职能 GID ✓ 符合"按 LDAP 组 2775"
/mnt/lustre/scratch/{users,projects,tmp} 755 / 755 / 1777 root root ✓ 公共暂存 1777 合规
/local_scratch/users 1777 root root ✓
/tools(84G) 755 root root 内容:cadence(assura/mmsim/virtuoso)、synopsys(icc/icc2/hspice/fm/fpga/…)、mentor/calibre;siemens 为空
/pdk(19G) 755 root root FreePDK15/45、ncsu-cdk、SAED32_EDK、templates
Lustre edafs MDT 11.1G(用 1.6M)/ OST 294.4G(用 1.4M) — scratch 默认 stripe_count=1, stripe_size=4M

四、标准符合性核对

# 核查项 当前值(实测) 阈值(标准) 结论
1 Tier1/Tier0/本地 三层在跑作业节点齐备 slurm 计算 3 台齐备;LSF 执行 3 台(.25–.27)不齐(.23/.24 已不接作业,不计) 三层层层可见 异常
2 /projects 在 LSF 执行节点可见 .25–.27 均无 /projects 跑作业节点应有 异常
3 Lustre scratch 在 LSF 执行节点可见 .25/.26/.27 mnt-lustre.mount 仍 failed(2026-10-07 复核未变) 已挂载可用 异常
4 NFS 客户端参数去 soft /home、/opt/modulefiles、/data/nfs/lsf 为 soft;/projects//tools//pdk 为 hard,...,actimeo=30 hard,...,actimeo=30 正常(2026-10-07 决策有意保留 soft)
5 /tools、/pdk 服务端导出只读 服务端已 ro(2026-10-07 改),客户端亦 ro 服务端 ro 正常
6 Lustre scratch 条带化 stripe_count=1(单 OST 物理上无法条带) -c 3 -S 1M 异常(受容量约束)
7 Lustre MDT/OST 冗余 单 MDT + 单 OST,无 HA 建议 HA 异常(架构级)
8 LDAP 覆盖存储服务端 .21/.22 lustre 服务器未接 sssd 存储服务端接统一身份 异常
9 LDAP 覆盖计算/控制/提交节点 11 台 sssd active 全覆盖 正常
10 /projects/* 按职能组 2775 drwxrwsr-x + 职能 GID 2775 正常
11 scratch 公共目录 1777 /mnt/lustre/scratch/tmp = 1777 1777 正常
12 License 服务化 FlexLM 独立主机,网络服务 不挂载 正常
13 License 接入调度 Slurm/LSF 均未接 建议接入 异常(已知设计选择)
14 scratch 老化清理不误删非作业目录 按 -mtime +30 清 depth=3,非 jobid 目录(EDA users/<user>/virtuoso/...)会被整棵删 需排除能力 异常(HANDOFF #15 挂账)
15 客户端全局统一视图(含控制节点) .16/.17(及改造后的 .23/.24)无 /projects /tools /pdk 统一视图 正常(控制节点不跑作业,按 BASELINE.md §2「节点接入判据」本就不需要)

五、差距清单(按风险排序)

G1【高】LSF 三台执行节点(.25–.27)缺共享三层存储

  • 证据【实测 2026-10-06 + 2026-10-07 复核】:.25–.27 无 /projects、无 /local_scratch,/mnt/lustre 挂载失败(见 G2)。
  • 影响:从统一提交节点 .28 提交、脚本内引用 /projects 或 /mnt/lustre 的作业,落到 LSF 执行节点即路径不存在而失败。
  • 原 master 部分已消解:.23/.24 已于 2026-10-07 改为 MXJ=0(bhosts -w → closed_Full / MAX=0),不再接作业,故无需补 /tools /pdk /opt/modulefiles /projects /mnt/lustre;LSF 调度池由 30 槽收为 24 槽。
  • 注:LSF 契约 references/lsf-simulation-env.yaml 原注「master 节点同(exec_node_mounts)」与实测不符(该条仅探测过 .25),已按新事实同步。

G2【高】Lustre 挂载在 LSF 执行节点长期失败且无自愈

  • 证据【实测】:.25/.26/.27 的 mnt-lustre.mount 状态 failed (Result: timeout),起始时间 2026-09-29 18:45(失败已 6 天无人察觉);日志 Mounting timed out. Terminating.,mount.lustre 进程被 TERM。lnet/lustre 内核模块已加载,fstab 条目为 192.168.31.21@tcp:/edafs /mnt/lustre lustre defaults,nofail 0 0。
  • 根因(判据):与 env_facts_sync_20261004/SOP.md 附录 A 的 mnt-lustre.mount 无自动重试属同一类——启动期竞态/超时后即置 failed,nofail 使失败被静默吞掉,无重试、无告警。slurm 计算节点同源配置却已挂上,说明非 Lustre 服务端本身不可用。
  • 影响:LSF 多节点作业无跨节点共享工作区;若手工挂载后重启仍会复发。

G3【已定论·撤销】NFS 客户端参数保留 soft(有意为之)

  • 证据【实测】:/home、/opt/modulefiles、/data/nfs/lsf 的 fstab 与运行时均为 soft(全节点);/projects、/tools、/pdk 为 hard,timeo=600,retrans=2,noatime,actimeo=30。
  • 判定(2026-10-07 用户决策):有意保留 soft —— 实测 hard 延迟偏高,本环境为测试 / 学习用途,接受 soft 在服务端抖动时静默 EIO 的风险。不再作为差距;决策已入 BASELINE.md §2。

G4【已结案 2026-10-07】/tools、/pdk 服务端导出 rw → 已收紧为 ro

  • 原证据【实测 2026-10-06】:exportfs -v 中 /data/nfs/tools、/data/nfs/pdk 与其它导出同为 rw,no_subtree_check,no_root_squash,只读仅靠客户端兜底。
  • 处置【实测 2026-10-07】:/etc/exports 两行改为 ro 并 exportfs -ra;exportfs -v 与内核导出表 /var/lib/nfs/etab 双证 ro;客户端读不受影响(本就 ro 挂载);幂等复跑零变更。详见 nfs_export_ro_20261007/SOP.md。

G5【中】Lustre 单 MDT + 单 OST,无条带、无 HA、容量小

  • 证据【实测】:MDT 11.1G、OST 294.4G、stripe_count=1。
  • 影响:无法按标准做 -c 3 -S 1M 条带;MDS/OSS 任一故障即全不可用;容量不适合大规模波形库。

G6【中】LDAP 未覆盖存储服务端与许可服务器

  • 证据【实测】:.21/.22 sssd inactive、/etc/sssd/sssd.conf 无 domain(SSSDCONF=0),getent group design 返回本地 design:x:2000:;.29 同样未接。
  • 影响:Lustre 服务端无法按统一身份做按用户/组配额,文件属主在服务端只能以数字呈现;身份源出现两套(files + LDAP),长期有 UID/GID 漂移风险。

G7【中】scratch 老化清理无排除能力,会误删非 jobid 目录

  • 证据【档案】:HANDOFF §3 #15 —— Lustre 段按 -mindepth 3 -maxdepth 3 -mtime +30 清理,EDA 仿真的 users/<user>/virtuoso/... 等非 jobid 命名目录 30 天后被整棵删除。
  • 影响:违反 S8「不误删非作业目录」;对 30 天以上的长周期仿真工程有直接数据损失风险。

G8【已撤销】控制器缺统一视图;hpc-submit 无本地 scratch

  • 证据【实测】:.16/.17(及改造后的 .23/.24)无 /projects /tools /pdk;.28 无 /local_scratch。
  • 判定:不作为差距。控制节点不跑作业、不加载工具,按接入判据(详 BASELINE.md §2「节点接入判据」)本就不需要这三层;.28 作为提交节点无本地临时层亦属正常。

G9【低】License 未接入调度(两套调度器)

  • 证据【实测+档案】:scontrol show lic 无配置;LSF 侧同样未接。
  • 影响:排队不等于许可可用,长作业到运行期才失败。属已知设计选择,非缺陷。

六、处置建议(按风险从高到低)

优先级 动作 类型 验收判据
P0 修通 .25/.26/.27 的 Lustre 挂载并加自愈(与 HANDOFF #9 的 mnt-lustre.mount 无重试合并解决):先 systemctl restart mnt-lustre.mount 验证可挂,再加 systemd 重试/健康检查覆盖 C 类变更 三台 mnt-lustre.mount = active,重启后仍 active;lfs df 可见 edafs
P0 给 LSF 三台执行节点 .25–.27 补 /projects 与 /local_scratch(.23/.24 已不接作业,无需补) C 类变更 执行节点与 slurm 计算节点挂载视图一致;幂等复跑零变更
~~P1~~ ~~NFS 参数去 soft~~ 已定论:有意保留 soft(2026-10-07,实测 hard 延迟高) 已定论 见 BASELINE.md §2
~~P1~~ ~~/tools、/pdk 服务端导出改 ro~~ 已办 2026-10-07 已完成 exportfs -v + /var/lib/nfs/etab 双证 ro;客户端读正常;幂等零变更
P2 LDAP 接入 .21/.22(sssd),打通存储服务端统一身份与配额能力 C 类变更 getent passwd rain01、lfs quota -u rain01 在服务端可用
~~P2~~ ~~scratch 老化清理加排除能力(HANDOFF #15)~~ 已办 2026-10-07:find -not -path 排除已参数化进 scratch_gc.exclude_patterns;离线自测 17/17、3 台下发、幂等零变更 已完成 scratch_gc_exclude_20261007/SOP.md
P3 ~~更正 LSF 契约 yaml「master 节点同」表述~~ 已办:2026-10-07 同步 exec_nodes / total_slots / critical_gap / gaps / slurm_vs_lsf 五处 文档 已完成
P3 Lustre 容量/冗余方案(增 OST、双 MDS)评估 待决策 评估报告

以上均为 C 类变更,本次仅作评估,未执行任何修改。


附录 A:取证命令与时间窗

  • 时间窗:2026-10-06 下午(一次性并行采集)
  • 采集脚本(留存于本目录):
  • probe_eda_topo.py → probe_out.txt(15 台:服务/进程/挂载/目录/LDAP)
  • probe_eda_topo2.py → probe2_out.txt(NFS 服务端导出与权限、/projects 子目录、Lustre 树、LDAP 实况)
  • probe_eda_topo3.py → probe3_out.txt(mnt-lustre.mount 失败根因、/tools 家族、fstab 全文)
  • 关键过滤/命令:
  • 挂载:awk '$3 ~ /^(nfs|nfs4|lustre)$/' /proc/mounts
  • 服务:systemctl is-active <unit>、pgrep -x <proc>
  • 身份:getent passwd rain01、id rain01、getent group <g>
  • Lustre:lfs df -h、lfs getstripe -d /mnt/lustre/scratch
  • 挂载失败:systemctl status mnt-lustre.mount、journalctl -u mnt-lustre.mount
  • NFS 服务端:exportfs -v、grep -vE '^\s*#' /etc/exports
  • 脱敏:本报告不含任何凭据值;/etc/exports 仅保留导出路径与选项。

附录 B:本轮未能确认项

  1. ~~LSF .23/.24 是否确实可接作业~~ 已确认并已变更:2026-10-06 实测二者 MAX=4/2、ok(接作业);2026-10-07 复核,用户已改为 MXJ=0,bhosts -w → closed_Full / MAX=0,不再接作业。
  2. /tools/siemens 为空是"未装"还是"符号链接悬空",未展开(与 HANDOFF #3「四家族 tools 为空」的表述存在口径差异,待核对)。
  3. Lustre 挂载失败是否为"启动期竞态"还是"mount.lustre 参数缺 _netdev/noatime",未做挂载复现实验(属变更动作,未执行)。

来源:/home/rain/Documents/slurm/slurm_ins/eda_topo_audit_20261006/20261006-EDA集群存储与服务拓扑-巡检报告.md | 最后更新:2026-10-07 03:02(由 build/sync.py 同步,请勿在站点侧修改)