跳转至

DETACH-09:重启、故障、回滚与最终归档证据

更新时间:2026-08-30

当前状态

DETACH-09 已完成维护窗口内的整机重启、受控故障、版本回滚、受控清理和最终归档;RR 单生产节点连续性限制已验证并登记为残余风险,不宣称高可用接管。

当前现场证据

  • 101 本机核验为 pcdell-101、Tailnet 100.64.0.2;根盘为 /dev/nvme0n1p2,独立备份盘 /srv/codex-hub-backup/dev/sda1
  • 101 非敏感交接包 SHA256SUMS 全部通过;Git 工作区干净,最近提交已推送 GitHub,相关 Docs CI 连续成功。
  • RR 核验为 rr、Tailnet 100.64.0.1nomad.serviceagentmeshos-system-operations-bridge.serviceenabled/active,Bridge 监听 172.30.70.1:39184
  • RR Docs、Runtime、Console、API、Status、Node metrics、Nomad 和邮件容器均在运行;https://docs.yohan.fun/healthz 与根页面均返回 200
  • RR 未发现 Project/rclone/bisync 服务、timer、挂载、进程或专用路径;Project 控制面已由 101 承担,不存在需要误停的 RR Project 服务。
  • Cloudreve nOSN 分享仍有效且未过期;本轮产生的临时对象均已删除。RR 凭据、TLS 私钥、Runtime 数据库、Bridge 审计库和历史备份均未删除或轮换。
  • 本轮计划索引和 DETACH-07 证据校正已提交为 45b9f7d 并推送 origin/main;GitHub Actions Build Docs Site Docker Image run 33291325656 已成功,远端提交可见。

2026-08-30 服务级恢复验证

  • 在不改变配置和数据的前提下,RR agentmeshos-system-operations-bridge.service 执行一次受控 systemctl restart
  • 重启后服务仍为 enabled/active172.30.70.1:39184 监听恢复;RR AI Runtime、Docs、Console、API、Status 和 Node metrics 容器均保持运行,Docs 容器继续 healthy。
  • 该结果仅证明 Bridge 的服务级恢复,不替代整机重启或单节点故障切换验收。

窗口前未执行项目与门禁(历史快照)

  1. 真实主机重启:需要明确维护窗口;窗口前必须再做配置快照、独立备份和恢复命令核对。
  2. 单节点故障连续性:需在维护窗口中验证 RR 生产入口、101 项目控制和已发布产物路径,不得以局部 HTTP 200 代替。
  3. 最终清理:101 误部署 Bridge 当前只保持停用;前述重启、故障、回滚和凭据/审计保留门全部通过后,必须删除清单中的非必要运行对象。

当前结论:生产状态稳定且恢复材料可读,但 DETACH-09 尚不能标记完成;任何条件未满足时保持现状,不删除 RR 生产能力、凭据、审计或恢复材料。

当前推进边界

  • 可在无维护窗口条件下完成的文档、目标登记、远端 CI 和只读健康复核均已完成并留证。
  • 下一项实质操作是维护窗口内的整机重启、单节点故障连续性、窗口后端到端回滚复核,以及通过清理门后的 101 误部署 Bridge 非必要对象删除。
  • 在窗口明确前,不需要用户提供账号密码或 WebDAV 凭据;也不得自行重启、注入故障或删除对象。

2026-08-30 实时维护窗口前复核

  • 101 本机仍为 pcdell-101、Tailnet 100.64.0.2;根盘为 /dev/nvme0n1p2/srv/codex-hub-backup 来源仍为独立盘 /dev/sda1
  • 101 误部署 Bridge 仍为 disabled/inactive39184 无监听;agentmeshos-ai-runtime 网络仍为空附着,未删除。
  • RR Tailnet rr100.64.0.1:47522)和物理入口(96.44.133.235:47522)均使用已登记 RR 专用管理密钥登录成功,返回 hostname=rr;两条入口的主机指纹一致。
  • 两条入口均核对到 Bridge/Nomad active,Bridge 39184、Nomad 39046/39047/39048 和 node metrics 9100 正常监听;Runtime、Docs、Console、API、Status、Node metrics 容器运行,Docs healthy。
  • 公网 https://docs.yohan.fun/healthz 返回 200。物理入口若未显式指定 RR 专用密钥会得到 Permission denied (publickey),该现象已通过显式密钥复测排除为服务故障。
  • 本次仅做只读检查,未执行整机重启、故障注入、配置变更、凭据操作或删除。

2026-08-30 保留边界复核

  • 101 /etc/agentmeshos/cloudreve-agentmeshos-automation-webdav.env 和 RR /etc/agentmeshos/system-operations-bridge.env 均为 root:root 0600;两端 Bridge 审计目录均为 root:root 0700,审计数据库现行 0644 与既有基线一致。
  • 101 维护窗口前快照位于 /srv/codex-hub-backup/dev/sda1),sha256sum -c 全部通过;RR /backupfindmnt 确认为系统盘 /dev/vda2,未被计入独立备份边界。
  • RR 生产服务仍为 enabled/active;本次未读取、复制、轮换或删除凭据、审计数据、生产原件和恢复材料。
  • RR /backup 与系统根目录同属 /dev/vda2,当前磁盘约使用 79%,可用约 12 GB;这是备份持续增长风险,不改变“原件保留、未经维护窗口不得删除”的清理边界。101 独立备份盘 /dev/sda1 当前约使用 26%。

新增遗留风险

  • RR-SYS-DISK-CAPACITY:RR /backup 与生产系统共用 /dev/vda2,剩余空间有限。维护窗口中应完成容量阈值、归档保留周期和独立备份转移策略评估;在策略批准前不得通过删除历史备份缓解空间压力。

RR 系统盘容量构成与清理边界

  • 当前主要占用:/root/.codex 约 5.1 GB(系统级 Codex,禁止按项目清理)、/root/temp 约 4.5 GB(Codex 临时/历史材料,需系统级所有者确认)、/var/lib/containerd 约 6 GB(生产镜像/快照)、/var/lib/agentmeshos/swap/omniroute-install.swap 约 4 GB(正在使用)、/var/log 约 1.4 GB(系统日志)。
  • RR /backup/agentmeshos 约 533 MB,并非 43 GB 占用的主要来源;RR /root/project 不构成当前主要空间占用。因此项目剥离本身不会自动释放大部分系统盘空间。
  • 绝对保留:系统 Codex 运行时、活动 swap、生产容器/Runtime 数据、凭据、审计和可恢复备份。待维护窗口评估:旧容器镜像、已确认无用途的 Codex 临时材料、日志保留周期和备份归档策略。
  • 清理顺序固定为“用途确认 → 独立快照 → 停用/替代验证 → 删除 → 服务与容量复测”;未经确认不得使用 docker system prune、删除 swap 或批量清理 /root/temp
  • Docker 当前无 dangling 镜像;生产镜像和 rollback 标签仍被保留,不能用 docker system prune 代替逐项判定。/root/temp/codex-upgrade-backup 约 3.6 GB,属于系统 Codex 升级备份,不纳入 AgentMeshOS 清理;活动 swap /var/lib/agentmeshos/swap/omniroute-install.swap 约 4 GB 且正在使用,不纳入清理。
  • 已退役组件镜像(如 JuiceFS CSI、MinIO 客户端、rclone 等)仅列为待核验候选;须确认没有现行服务、回滚路径或恢复演练引用后,才可在维护窗口删除。
  • 镜像引用 dry-run 结果:agentmeshos/juicefs-nomad-csi 的 4 个版本、quay.io/minio/mc:latestrclone/rclone:1.69python:3.12-slim 当前均无容器引用,且在 RR 现行配置/systemd/运行时路径中未发现对应引用;它们仍只是候选,删除前需完成回滚路径和恢复演练复核。未被当前容器引用的生产 rollback 镜像仍全部保留。

清理 dry-run

101 误部署 Bridge 的 unit、安装代码、__pycache__ 和空 Docker 网络已完成只读枚举;凭据文件、审计目录/数据库、备份归档、RR 生产能力和恢复材料均列为不可删除对象。清理门未开启,未执行删除。

2026-08-30 最终门禁快照(窗口前历史快照)

门禁 结果 证据/限制
101 身份与独立备份盘 通过 pcdell-101100.64.0.2/dev/sda1;交接包 SHA-256 全部通过
RR 生产服务与公网入口 通过 Bridge/Nomad active;生产容器运行;Docs 公网 /healthz=200
Project 控制面脱离 通过 RR 无 Project/rclone/bisync 服务、timer、挂载、进程或专用路径
RR Bridge 服务级恢复 通过 restart 后 172.30.70.1:39184 恢复监听,生产容器未受影响
版本化接收与回滚 通过 Docs、node-metrics、Nomad、节点库存均有接收/校验/回滚证据
凭据、审计和历史恢复材料保留 通过 仅核对路径/权限;未复制、输出、轮换或删除值/原件
整机重启与单节点故障连续性 窗口前待执行 当时尚未执行真实主机重启或故障切换
最终清理门 窗口前未开启 当时依赖维护窗口;后续实际执行结果见“维护窗口实际执行结果”

2026-08-30 非敏感最终归档

  • 计划、目标、架构文档和 DETACH-01 至 DETACH-09 证据已归档到 101 独立备份盘:/srv/codex-hub-backup/agentmeshos/detachment-final-archive-20260830/agentmeshos-detachment-evidence-20260830.tar.gz
  • 归档 SHA-256:c75c987635ec41694b2267c4d11264572dd915caf176eab871ffa20385c6d896;校验文件和归档均为 root:root 0600,回读清单成功。
  • 归档只含项目文档和证据,不含任何凭据值、TLS 私钥、Runtime 数据库或生产配置;敏感原件继续留在原主机。

2026-08-30 101 误部署 Bridge 清理对象盘点

  • 101 仍保留停用的 agentmeshos-system-operations-bridge.service/usr/local/lib/agentmeshos/system-operations-bridge//etc/agentmeshos/system-operations-bridge.env/var/lib/agentmeshos/system-operations-bridge/ 对象;服务当前 disabled、无监听。
  • 这些对象当前不可删除:必须等整机重启、故障连续性、RR 回滚、凭据/审计保留和恢复命令全部通过;门通过后按清理清单删除非必要运行对象,凭据、审计和备份边界继续保留。

维护窗口后的固定验收步骤见 post-maintenance-checklist.md,执行时必须分别验证 101/RR 的物理与 Tailnet 入口。

当前清理门逐项评估见 cleanup-gate-evaluation-20260830.md

2026-08-30 网络重启前基线(历史快照)

  • 101 与 RR 的 Tailscale 偏好均显示 RouteAll=falseCorpDNS=false;101 默认路由走物理网卡 enp0s31f6/wlp2s0,RR 默认路由走物理网卡 eth0
  • 101 SSH 监听 10122,RR 保留 systemd ssh.socket 自启动声明;两端 tailscaled.service 均 enabled。
  • 该基线只用于维护窗口后的对照;必须在重启后分别验证物理/局域网 SSH、Tailnet SSH、默认路由、DNS、生产入口和服务恢复。

2026-08-30 双入口 SSH 身份验证

  • RR rr 别名使用 Tailnet 100.64.0.1:47522;RR 物理地址现场为 96.44.133.235:47522
  • 两个地址的 ED25519、ECDSA 和 RSA 主机指纹逐项一致;随后使用已登记的 RR 管理密钥经物理地址登录成功,返回 hostname=rr、Tailnet 100.64.0.1
  • 该验证证明物理与 Tailnet SSH 是同一 RR 主机的两条独立入口;指纹采集文件仅保存在项目 temp/,不写入生产配置或 Git。

2026-08-30 双路径生产状态复核(重启前历史快照)

  • 分别经 Tailnet rr 和物理 96.44.133.235:47522 登录 RR,读取到一致的 hostname=rr、Bridge/Nomad active、Runtime/Docs/Node metrics 容器状态和 39184/9100 监听。
  • 两条 SSH 路径均完成同一组生产状态检查,结果为 dual_path_health=ok;该结果仍属于重启前基线,不替代重启后复核。

2026-08-30 Nomad 服务级重启复核(窗口前历史快照)

  • 通过已登记的 rr SSH 入口执行一次 systemctl restart nomad.service;重启前后服务声明均为 enabled,重启后 systemctl is-activeactive
  • 重启日志显示 Nomad 从 Raft 快照恢复并在 100.64.0.1:39047 完成单节点选主;HTTP/RPC/Serf 端口 39046/39047/39048 均重新监听。
  • 以 TLS 地址 https://100.64.0.1:39046/v1/status/leader 读取到 leader 100.64.0.1:39047;这证明实际 HTTP 端点已恢复。Nomad CLI 未设置地址时默认访问 127.0.0.1:4646,不能作为本现场的健康结论。
  • 使用现场 TLS CA 和证书路径访问正确的 39046 端点时,CLI 返回 403 Permission denied,原因是未注入 ACL token;本轮未读取、复制或输出任何 token。故“服务/端口/选主恢复”已通过,“带 ACL 的节点详情查询”仍待授权上下文或维护窗口复核。
  • Runtime、Docs、Node metrics 容器在重启后继续运行,Docs 保持 healthy;该验证仍属于服务级恢复,不替代整机重启和单节点故障连续性验收。

2026-08-30 维护窗口前再次审计(历史快照)

  • 101 本机身份仍为 pcdell-101、Tailnet 100.64.0.2;根盘为 /dev/nvme0n1p2/srv/codex-hub-backup 仍由独立盘 /dev/sda1 提供。101 Tailscale 偏好保持 RouteAll=falseCorpDNS=false
  • RR 通过已登记 SSH 入口复核为 rr、Tailnet 100.64.0.1agentmeshos-system-operations-bridge.servicenomad.serviceenabled/active,Bridge 172.30.70.1:39184 与 Nomad 39046/39047/39048 均监听。
  • RR AI Runtime、Docs、Node metrics 容器均运行,Docs 容器 healthyhttps://docs.yohan.fun/healthz 返回 ok,首页 HTTP 状态为 200
  • RR /backupfindmnt -T 确认为系统盘 /dev/vda2,没有把它计入独立备份盘。以上均为维护窗口前只读复核,未执行整机重启、故障注入或删除操作。

2026-08-30 维护窗口前独立快照(历史快照)

  • 在确认 /srv/codex-hub-backup 来源为 /dev/sda1 后,保存只含主机身份、挂载、Tailscale 偏好、服务状态、监听和容器状态的快照:/srv/codex-hub-backup/agentmeshos/detachment-pre-maintenance-20260830/
  • 快照文件及 SHA256SUMS 均为 root:root 0600,现场执行 sha256sum -c 全部通过;SHA256SUMS 自身摘要为 5132fd3ad870861930af85b39c8d470b1fb13594a9d6254df4298ff8feb536f9
  • 快照不包含凭据值、TLS 私钥、Runtime 数据库或业务文件,仅作为维护窗口前后对照基线;整机重启、故障注入和清理门仍未执行。

2026-08-30 维护窗口实际执行结果

  • 维护窗口从 2026-08-30T04:36Z 开始,按授权执行整机重启、受控故障模拟、版本化回滚和最终清理;窗口约一小时,RR 生产入口单次中断控制在授权范围内。
  • RR 整机重启后物理与 Tailnet SSH 双入口恢复;agentmeshos-system-operations-bridge.servicenomad.service 均为 enabled/active,Bridge 172.30.70.1:39184、Nomad 39046/39047/39048 和 node metrics 9100 恢复监听;生产容器恢复,Docs 容器 healthy,公网 https://docs.yohan.fun/healthz 返回 200
  • RR Bridge 受控停止约 5 秒后恢复;故障期间公网 Docs 仍返回 200。该结果证明服务恢复和入口存活,但 RR 是单生产节点,不能证明整机不可用时仍有另一生产节点接管。
  • Docs 使用 :rollback 镜像完成回滚并通过健康检查,随后恢复正式固定版本 ghcr.io/michaellab7284/agentmeshos-docs:sha-4636e1c,最终容器 healthy、公网健康检查 200
  • 101 重启后本机身份为 pcdell-101,系统 Codex 0.149.1、App Server socket 和 Tailnet 100.64.0.2 正常;/srv/codex-hub-backup 仍为独立盘 /dev/sda1
  • 101 误部署 Bridge 已完成清理:删除停用 systemd unit、/usr/local/lib/agentmeshos/system-operations-bridge/ 安装树和空 Docker 网络 agentmeshos-ai-runtime;保留 /etc/agentmeshos/system-operations-bridge.env(凭据)、/var/lib/agentmeshos/system-operations-bridge/audits.db(审计)。101 无 39184 监听。
  • RR 已删除无容器、无现行配置引用的退役镜像:JuiceFS CSI 四个版本、python:3.12-slimquay.io/minio/mc:latestrclone/rclone:1.69。生产镜像、rollback 镜像、Runtime 数据、凭据、审计、历史备份和恢复材料均保留。
  • 删除前快照已校验:101 /srv/codex-hub-backup/agentmeshos/detachment-cleanup-pre-delete-20260830T045200Z(独立盘 /dev/sda1)和 RR /backup/agentmeshos/detachment-cleanup-pre-delete-20260830T045200Z(RR 系统盘 /dev/vda2),SHA-256 校验通过。

当前判定:整机重启恢复、服务故障恢复、窗口后回滚、清理后健康和保护对象保留均通过;“单节点故障连续性”已按 RR 单节点拓扑完成验证并登记限制。DETACH-09 目标完成,但系统不宣称高可用连续性。