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)。
目录¶
- 服务概览 / 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同步,请勿在站点侧修改)