6.8 KiB
6.8 KiB
Calculet NPU 远端恢复原状计划
制定时间:2026-08-01
状态:已于 2026-08-02 00:54 执行完成并通过独立验收。本文件保留为清理前计划和基线;实际结果见 Calculet-NPU-远端与本机清理完成记录-20260802.md。
恢复目标
- 删除本次在样机生成的全部归档、分片、清单和分析源码。
- 删除本次环境盘点写入的 Shell 历史,同时保留对方原有历史和后续新增历史。
- 确认没有遗留下载、模型服务、测试程序、端口监听或 NPU 设备占用。
- 不修改对方原有容器、镜像、驱动、系统服务和用户配置。
- 回收约 90 GiB 磁盘空间,并给出清理前后审计记录。
当前恢复基线
- 远端归档目录:
/home/user2/calculet-analysis-export - 精确占用:
96,590,271,861字节,共 4,883 个文件 - 根文件系统:总计
982,240,026,624字节,已用246,533,816,320字节,可用685,735,694,336字节 - Shell 历史:
/home/user2/.bash_history - Shell 历史当前状态:69 行、权限
600、所有者user2:user2 - 本次新增历史范围:第 53-69 行
- 第 53-69 行 SHA-256:
a5cc09c89ea56d8c79a1be6da9f402d13d9d74ecace8f25918f19601cac4eb36 - 对方原有历史范围:第 1-52 行
- 历史文件 mtime:
2026-08-01 16:26:26 +0800 - 当前没有 NPU 设备占用、8031 监听或模型服务进程
- 原有命名容器
calculet-llama-v0.4.8_Qwen仍为created状态
清理前置条件
以下条件必须全部满足:
- 项目负责人明确确认可以开始删除远端暂存资料并处理 shell 历史;全部资料已取回不等于自动授权删除。
- 已批准范围内的所有归档都存在本地完成标志,并通过分片、整包和必要的逐文件 SHA-256 校验。
- 当前已批准的优先第 1-4 步完成标志存在:
remote-export/PRIORITY-1-4-ASSEMBLY-AND-VERIFICATION-COMPLETE.txt。 - 当前四个优先归档已按
LOCAL-PRIORITY-1-4-ARCHIVES.sha256复核通过。 llama.cpp已通过git fsck --full,HEAD 为fd9bd632f346085920d523dd307a3e4c11cc0a05。- 容器
/home完成标志remote-export/STEP-5-CONTAINER-HOME-ASSEMBLY-AND-VERIFICATION-COMPLETE.txt存在,整包校验通过。 - OCI 完成标志
remote-export/STEP-6-CONTAINER-OCI-ASSEMBLY-AND-VERIFICATION-COMPLETE.txt存在,整包、25 个 blob 和所有描述符引用通过。 - 完整模型完成标志
remote-export/STEP-8-COMPLETE-MODEL-ASSEMBLY-AND-VERIFICATION-COMPLETE.txt存在,68 个文件已按MODEL-FILES.sha256自动和独立复核两次。 - 本地输出目录已有至少一份额外备份,或者项目负责人明确接受单副本风险。
- 已通知后续测试同事清理时间窗,避免清理时仍有人使用相同账号。
任一条件不满足时,不删除远端归档。
执行阶段
阶段 1:停止传输并固定状态
- 暂停并结束本地 detached screen 下载任务。
- 确认远端不存在指向
calculet-analysis-export的 rsync sender。 - 保存清理前
df、进程、端口、Podman、驱动参数和 NPU 设备占用快照。 - 再次记录待删除路径的大小、所有者、权限和文件数。
阶段 2:安全处理 Shell 历史
不能直接截断 .bash_history,因为后续同事可能已经追加新命令。应执行以下保护逻辑:
- 重新计算当前第 53-69 行 SHA-256。
- 只有指纹仍为
a5cc09c89ea56d8c79a1be6da9f402d13d9d74ecace8f25918f19601cac4eb36时才自动处理。 - 原样保留第 1-52 行。
- 删除第 53-69 行。
- 原样保留第 70 行及之后由其他同事新增的历史。
- 通过同目录临时文件和原子重命名更新,恢复
600和user2:user2。 - 如果行号或指纹不匹配,立即中止并人工比对,不做猜测性修改。
阶段 3:删除本次远端持久文件
精确清理范围:
/home/user2/calculet-analysis-export/home/user2/llama.cpp-src-fd9bd632.tar.gz/home/user2/calrt-focused-src-fd9bd632.tar.gz/home/user2/calbin_inspect.cpp
不得使用 /home/user2、/home 或包含通配符的宽范围删除命令。删除前必须逐项 stat 并确认所有者为 user2。
阶段 4:远端恢复验证
- 上述四个目标均不存在。
- 归档相关 rsync、tar、zstd、split 和 sha256sum 进程为 0。
llama-server、calrt_smoke、calbin_inspect进程为 0。- 8031 端口未监听。
/dev/calculet0无进程占用。- 原有命名容器仍为
created,镜像 ID 未变化。 - 驱动参数保持:
poll_mode=0、dma_timeout_ms=30000、strict_validation=Y、calculet_log_level=6、max_boards=16。 - 用户 crontab 仍为空,系统包数据库未因清理发生变化。
- 对比清理前后磁盘空间,预期回收约 90 GiB。
阶段 5:测试方本地凭据与网络清理
远端验收完成后,再处理测试方 Mac:
- 正常停止 OpenVPN,确认
utun路由消失。 - 删除临时 VPN 配置、认证文件和日志。
- 删除包含 SSH 明文密码的本地 Expect 包装器。
- 删除样机 SSH
known_hosts记录前先确认后续不再需要连接。 - 仅在确认 OpenVPN 是本次专用安装且没有其他项目依赖时,才卸载本地 OpenVPN。
- 保留已验证的本地分析包、报告和校验记录。
清理完成记录模板
执行时应补充:
- 执行人和时间
- 本地归档验证标志及 SHA-256 结果
- Shell 历史处理前后行数和指纹
- 删除的四个精确路径
- 清理前后磁盘使用量
- 远端进程、端口、NPU、容器、镜像和驱动参数复核结果
- VPN 和本地凭据清理结果
- 对方环境负责人确认结果
当前下载快照
快照时间:2026-08-02 00:35。第 1-8 步已全部完成,8 个本地归档合计 21,078,519,107 字节。
| 优先步骤 | 本地结果 |
|---|---|
| 关键上下文 | 8,942,525 B,整包及 115 个文件通过 |
| 基线分析归档 | 436,398,080 B,53/53 分片及整包通过 |
| 无权重模型运行时 | 11,253,912 B,整包及 66 个文件通过,权重计数为 0 |
完整 llama.cpp |
264,921,801 B,32/32 分片、整包、HEAD 和 git fsck --full 通过 |
容器完整 /home |
740,994,223 B,89/89 分片、整包、gzip/tar 结构和解包通过 |
| 完整 OCI 镜像 | 1,646,166,016 B,197/197 分片、整包、25 个 blob 和描述符引用通过 |
完整 /home/user2 |
1,684,911,580 B,201/201 分片、整包、结构和查看副本通过 |
| 完整模型归档 | 16,284,930,970 B,1,942/1,942 分片、整包及 68 个模型文件两轮通过 |
最终总标志 remote-export/ALL-REQUESTED-DATA-ASSEMBLY-AND-VERIFICATION-COMPLETE.txt 已生成,8 个归档统一清单 LOCAL-ALL-DOWNLOADED-ARCHIVES.sha256 全部匹配。当前远端没有 rsync sender 或运行容器,VPN、远端暂存目录和本地凭据继续保留,尚未进入清理阶段。