跳转至

RUNBOOK — Cadence Virtuoso IC25.10 运行与使用手册

读者:使用或运维本交付物的人(新人按章节顺序照做即可)。 【2026-09-26 状态变更】安装树 IC25.10.000 已按用户决策卸载(换版本)——本手册第 2、4、8 章的 接入与排障流程当前不适用,须待替代版本装好后同步更新(档案:SOP.md 变更 4;现状:HANDOFF.md 第 2 节)。 当前硬限制:license 未部署,virtuoso 尚不能正常启动(见场景 8.1,HANDOFF 待办 #1)。

目录

  1. 服务概览 / 2. 接入与使用 / 3. 日常速查表 / 4. 日常操作 / 5. 配置管理 / 6. 备份与恢复 / 7. 监控与告警 / 8. 故障处置 / 9. 安全与权限 / 10. 容量与扩容 / 11. 附录

1. 服务概览

  • 是什么:Cadence Virtuoso Studio IC25.10.000(含 Hotfix IC25.10.040,kit 12 个全匹配),装在 NFS 供集群共享使用。
  • 构成:
  • 安装树(33G):服务端 /data/nfs/tools/cadence/virtuoso/IC25.10.000,客户端经 /tools 只读挂载视图访问;
  • InstallScape 安装器:/opt/iscape/iscape.05.01-p001(长期保留,不随安装目录删除);
  • Lmod modulefile:module load cadence virtuoso/IC25.10.000(唯一来源在 slurm_ins 工程,本工程不产出);
  • 部署工具:ic25_install_20260924/(门禁、安装、依赖、体检子命令,见第 3、4 章)。
  • 依赖:NFS server 192.168.31.249;客户端 Lmod 环境;license 服务(待部署)。
  • 客户端矩阵(六台,/tools 已挂、依赖已齐):192.168.31.18-.20(slurm)、192.168.31.25-.27(lsf)。master .16/.17 无 /tools(不跑作业)。
  • 异常时的业务影响:用户无法启动 Virtuoso(环境/库/license 问题);作业脚本报命令找不到或缺库。
  • 重要性:高——IC 设计核心环境,单实例无冗余。

2. 接入与使用

用户侧(作业脚本 / 交互式 shell)

source /etc/profile.d/zzz_site_lmod.sh          # 非登录 shell / 作业脚本首行必须
module load cadence virtuoso/IC25.10.000        # 加载链:家族入口先行,单步 load 会 unknown
which virtuoso                                  # 预期命中 /tools/.../bin/virtuoso
cd <你的工程目录 && virtuoso &                   # 启动;license 就绪前预期报 license 错(场景 8.1)

关键点:module load cadence virtuoso/IC25.10.000 是加载链,Lmod 家族分层下不可只写后半步;写作业脚本两行都要有。

接入矩阵

视角 路径 权限
服务端(dell-R620,192.168.31.249) /data/nfs/tools/cadence/virtuoso/IC25.10.000 root:root,755/644,只读收敛
客户端六台 /tools/cadence/virtuoso/IC25.10.000 NFS 只读挂载(test -w 应失败)
锚点二进制 …/tools.lnx86/dfII/bin/64bit/virtuoso 依赖检查用(第 7、8 章)

凭据

管理端 root 免密 ssh 至六节点(部署工具与本手册的远程命令依赖它)。凭据从管理员处取,不写入本文档。

3. 日常速查表

要做什么 命令(工程根 ic25_install_20260924/ 下执行) 预期
加载环境 module load cadence virtuoso/IC25.10.000 无报错
确认安装可见 test -d /tools/cadence/virtuoso/IC25.10.000 && echo OK OK
确认依赖闭合 module load cadence virtuoso/IC25.10.000; ldd $(find /tools/cadence/virtuoso/IC25.10.000/tools.lnx86 -name virtuoso -path '*bin*' -print -quit) 2>/dev/null \| grep -c 'not found' 0
工具体检 .venv/bin/python main.py drift RC=0(全 done)
只读门禁 .venv/bin/python main.py precheck RC=0
看运行日志 tail -n 50 logs/deploy.log;安装细节 ls logs/iscape_run_*.log 无 ERROR
看空间 df -B1G /data/nfs/tools \| tail -1 可用 ≥10G
确认挂载 findmnt -n /tools 输出挂载行
依赖预演 .venv/bin/python main.py deps --dry-run "依赖已全部满足"

4. 日常操作

4.1 启动与停止

source /etc/profile.d/zzz_site_lmod.sh
module load cadence virtuoso/IC25.10.000
cd <你的工程目录>
virtuoso &                                      # 图形界面需 X/远程桌面会话
  • license 就绪前:启动即报 license 错误,属已知未决,不是环境坏了(场景 8.1)。
  • 停止:GUI 内正常退出;兜底 ps -ef | grep -w virtuoso 找 PID 后 kill <PID>(先 kill -TERM,勿直接 -9,【未验证】未实测)。

4.2 状态检查(六台逐台,管理员)

for h in 18 19 20 25 26 27; do ssh root@192.168.31.$h '
  test -d /tools/cadence/virtuoso/IC25.10.000 && echo V=OK || echo V=NO_DIR
  findmnt -n /tools >/dev/null && echo M=OK || echo M=NO_MOUNT
  test -w /tools/cadence/virtuoso/IC25.10.000 && echo W=WRITABLE || echo W=RO'; done

预期每台三行 V=OK / M=OK / W=RO。

4.3 日志与报告

  • 部署工具运行日志:logs/deploy.log;每次 iscape 执行细节:logs/iscape_run_<时间戳>.log。
  • 门禁/计划/漂移报告:reports/precheck-*.md、plan-*.yaml、drift-*.md;安装实测:reports/install_report.md。

5. 配置管理

配置 位置 修改流程 易错点
部署配置(节点、介质 sha、依赖包、阈值) config/ic25_install.yaml 改完必跑 precheck + drift 复验 增删节点后须跑 deps;sha 值是来源锁定,介质换批次要同步
modulefile /opt/modulefiles/*(slurm_ins 工程渲染) 到 slurm_ins 工程经 --module-env 改 红线:不手改 /opt/modulefiles/*
客户端 fstab(/tools 挂载) 各节点 /etc/fstab 需用户逐次确认(2026-09-25 豁免不延续) 红线动作,先确认再动
module 环境入口 /etc/profile.d/zzz_site_lmod.sh 系统级,变更前确认 作业脚本漏 source → 场景 8.2

6. 备份与恢复

  • 介质现状:9 卷安装 tar 已被用户删除(2026-09-25)。回滚链降级——rollback --force 删掉安装目录后,无介质则装不回来。
  • 恢复回滚能力:把 Base 5 卷拷回 ../IC25.10.000/(sha 与 config 锁定值比对:sha256sum ../IC25.10.000/*.tar),precheck 自动回到全匹配。
  • 安装树备份:当前无副本(NFS 单实例);灾备 = 介质拷回 + 重装(第 5 章 SOP 步骤 3-6),或自行 tar 快照安装树。
  • 台账:删除类动作、代码/配置备份全记录在 backup/README.md,恢复与清理对照它执行。

7. 监控与告警

指标 查看命令 阈值/判据 异常动作
漂移 .venv/bin/python main.py drift RC=0;RC=1 漂移、RC=2 探测失败 看报告对应项,按 SOP 第 5 章对应步骤收敛
门禁 .venv/bin/python main.py precheck 无 BLOCK 按报告处置(缺包→deps、半装→rollback)
服务端空间 df -B1G /data/nfs/tools 可用 ≥10G 清理或扩容;安装窗口另需工程根 ≥25G
挂载 六台 findmnt -n /tools 全部有输出 场景 8.3
依赖闭合 load 后 ldd 锚点 | grep -c 'not found' 0 场景 8.2
日志 grep -E 'ERROR|FAIL' logs/deploy.log \| tail 空 按时间窗查上下文

建议频率:每周一次 drift + 空间巡检;节点变更(增删/重装)后立即全跑。

8. 故障处置

场景 8.1:virtuoso 启动报 license 错误

症状:Failed to find a valid license / cannot checkout 类报错。

诊断:

echo "$LM_LICENSE_FILE"                        # 预期 端口@主机;当前应为空

处置:已知未决——license 服务尚未部署(用户 2026-09-24 决策"后补",HANDOFF 待办 #1)。license 文件/server 就绪后:部署 FlexLM → 在 modulefile 补 LM_LICENSE_FILE=端口@主机(经 slurm_ins 工程)。环境/库问题不背锅,勿反复重装。

验证:lmstat -a -c $LM_LICENSE_FILE 显示 vendor 可用;virtuoso & 正常进入 GUI。

场景 8.2:作业里找不到 virtuoso,或 ldd 报缺库

症状:virtuoso: command not found;或 load 后 ldd 仍 not found > 0。

诊断(按序):

echo "$LMOD_DIR" && module av cadence          # 1) Lmod 源在不在(lsf 三台无 Lmod → 用第 2 条判断)
findmnt -n /tools                               # 2) 挂载在不在
ssh root@192.168.31.18 'rpm -q motif libXmu libXp libXt mesa-libGLU libX11-xcb'   # 3) 依赖包

处置: 1. 作业脚本漏 source → 补首行 source /etc/profile.d/zzz_site_lmod.sh; 2. 只写了 module load virtuoso/... 单步 → 改成完整加载链 module load cadence virtuoso/IC25.10.000; 3. /tools 未挂 → 场景 8.3; 4. 缺 rpm 包 → 工程根 .venv/bin/python main.py deps(新节点必跑); 5. lsf 三台 .25-.27 未装 Lmod(已知缺口,HANDOFF 待办 #0)→ 作业脚本暂用手工 export 环境变量兜底,或先在 slurm_ins 侧为其装 Lmod。

验证:load 后 ldd 锚点 grep -c 'not found' = 0。

场景 8.3:客户端 /tools 不可见或挂载丢失

症状:test -d /tools/... 失败;findmnt -n /tools 无输出。

诊断:

findmnt -n /tools                               # 挂载点还在吗
mount | grep /tools                             # 内核视图
showmount -e 192.168.31.249 | head              # NFS 端导出列表

处置:fstab 有条目 → mount /tools;fstab 缺条目 → 属红线动作,须用户确认后再补(参照 .18 的既有参数);NFS server 不可达 → 先查 .249 服务端与网络,本机不动。

验证:场景 4.2 三行全 OK。

场景 8.4:安装树出现写位(权限漂移)

症状:drift 的 perms 项 pending;或手工 find 出非空。

诊断:

find /data/nfs/tools/cadence/virtuoso/IC25.10.000 \( -type f -o -type d \) -perm /022 | head   # 预期空
ls -ld /data/nfs/tools/cadence/virtuoso/IC25.10.000                                            # 预期 root:root drwxr-xr-x

处置(服务端执行):

# 高危:属主与权限整体收敛(仅影响安装树内)
sudo chown -R root:root /data/nfs/tools/cadence/virtuoso/IC25.10.000
sudo chmod -R u=rwX,go=rX /data/nfs/tools/cadence/virtuoso/IC25.10.000

验证:find 输出空;drift RC=0。

9. 安全与权限

  • 安装树 root:root、目录 755 / 文件 644、无 group/other 写位——用户只读使用,任何人不应写 /tools。
  • 红线:不手改 /opt/modulefiles/*;不动 Lustre 服务端与 slurm.conf;fstab 变更逐次经用户确认;失败 2 次即停不换参数重试。
  • 凭据不入本文档,只写取用来源。

10. 容量与扩容

  • 基线:安装树 33G;服务端 /data/nfs/tools 常态可用 ≥10G。
  • 新节点扩容四步(前提:ssh root 免密可达、dnf 源可用):
  • config/ic25_install.yaml 的 nodes.client 加节点 IP;
  • 工程根 .venv/bin/python main.py deps(补 6 个依赖包,rpm+ldd 双复验);
  • 该节点挂 /tools(fstab 持久化,经用户确认,参数照抄 .18);
  • 跑第 4.2 节状态检查,三行全 OK 即并入。
  • 已知瓶颈:安装树 NFS 单实例无副本;lsf 三台无 Lmod(待办 #0);license 未部署(待办 #1)。

11. 附录

术语

  • 树内库 vs 真缺:裸 ldd 的 not found 中,安装树内自带的约 217 个由 modulefile 注入的 LD_LIBRARY_PATH 在运行时解析(正常);真缺系统库为 0 才算通过。
  • 加载链:module load cadence virtuoso/IC25.10.000,家族入口与模块须分层依序加载,不可单步。
  • 半装/半升级:安装/升级中途失败的不完整状态,工具会 BLOCK,处置见 SOP 第 5 章步骤 5。

文档地图

文件 管什么
docs/HANDOFF.md 当前状态与待办(AI 会话交接快照)
docs/SOP.md 累积变更档案与完整安装流程(第 5 章分步操作)
reports/install_report.md 安装实测数据与验收表
backup/README.md 备份与删除类动作台账

修订记录

日期 内容
2026-09-26 初版(按 writing-ops-change-sop 新规范产出)

来源:/home/rain/Documents/eda_tools_ins/Cadence/ic25_install_20260924/docs/RUNBOOK.md | 最后更新:2026-09-26 16:58(由 build/sync.py 同步,请勿在站点侧修改)