升级硬件、切换云区域或灾难演练时,OpenClaw 工作区里同时存在明文配置、模型缓存与 launchd 引用路径——直接复制整个家目录往往把过期密钥和数 GB 缓存一起搬走。本文给出 2026 年可复现流程:源端打包排除规则、SHA-256 校验、目标机目录对齐、守护进程重启顺序,以及一张「迁移前/后」对照表。另含七步操作序列与回滚时间盒建议,读完应能独立验收「网关进程存活 + 最小对话成功」双条件。
守护进程首次验收见 无头 onboard 与网关验收;密钥与 plist 环境变量见 钥匙串与 .env;升级与回滚节奏见 运维 runbook。远程图形授权用 VNC 说明。
迁移前必须搞清的三类路径依赖
- 工作区根目录:
WorkingDirectory在 plist 里写死后,目标机必须使用相同用户名或同步改 plist——只拷文件不改 plist 是最常见故障。 - 缓存与工件:模型与 npm 缓存可能占 30~120 GB;全量搬运拖长窗口,应显式排除或改为迁移后按需拉取。
- 监听端口与 bind 地址:旧机若绑定特定 en0 IP,新机 DHCP 变化会导致「进程在跑但 health check 失败」。
打包排除建议(tar/rsync 思维)
| 路径/模式 | 是否纳入归档 | 备注 |
|---|---|---|
| SOUL.md, TOOLS.md, AGENTS.md | 必须 | 体积通常 < 5 MB |
| **/node_modules | 通常排除 | 目标机 npm ci 重装更可复现 |
| 模型权重缓存目录 | 按策略 | 窄带链路可只迁配置,首次对话允许 < 15 分钟预热 |
七步迁移序列
建议在变更单里写明「允许的最终不一致」:例如允许缓存未预热导致首条响应慢于基线 20%,但不允许工具调用失败率上升。把可接受偏差写成数字,比口头「差不多」更能减少迁移夜的争吵。
- 只读快照:停网关或切维护标签,避免迁移中写入
MEMORY.md。 - 生成归档并记录 SHA-256:将校验和写入变更单附件。
- 传到目标机:优先内网 scp;公网传敏感包时用加密通道并限制 ACL。
- 解压到最终路径:
chown与源用户一致。 - 安装依赖:锁定 Node 次版本与 lockfile,避免 silent major 跳跃。
- 对齐 LaunchAgent:核对
ProgramArguments与EnvironmentVariables。 - 双条件验收:连续 3 次健康检查 + 一轮最小工具调用成功。
大工作区传输:带宽与断点续传参数
当归档超过 50 GB 时,优先使用支持断点续传的工具(如 rsync --partial 或对象存储分片上传),并在传输前后各做一次校验。以 100 Mbps 对称链路估算,80 GB 净荷约需 110 分钟理论下限——实际常翻倍,因此变更窗口要按「最坏链路」申报。跨洋传敏感包时,避免经过未加密的中转桶;必要时用客户自有 KMS 包裹后再交给供应商对象存储。
迁移前后对照检查表
| 检查项 | 迁移前基线 | 迁移后应一致? |
|---|---|---|
| openclaw 版本号 | 记录 semver | 是,或注明有意升级并附 doctor 输出 |
| API 密钥指纹 | hash 末 6 位 | 是,除非同步轮换 |
| 监听端口 | lsof 截图 |
是,或已更新安全组/隧道文档 |
回滚时间盒:若 45 分钟内双条件验收失败,应默认回退到旧机网关(保持只读),而不是并行双写——双写阶段最容易产生分叉状态与重复计费。旧机只读期建议不超过 72 小时,避免长期双栈运维。
常见问题:能否只同步配置文件而不同步缓存?
可以,且往往是正确默认:把 SOUL.md、工具声明与版本锁文件打成一个「轻量包」,在目标机执行与源机相同大版本的 openclaw 后再跑依赖安装。首次对话延迟可能上升 2~4 倍,但换来更小攻击面与更可审计的归档体积。若业务不能接受冷启动,可对缓存目录单独做增量 rsync,并同样计算校验和。
迁移后网关反复重启怎么排?
先比对 plist 中的环境变量键名是否有多余空格或引号嵌套错误——从 tar 解压复制时偶发。再检查目标机 Node 路径与源机是否一致;不一致时应在 plist 里写绝对路径而非依赖 login shell 的 PATH。若仍 crash-loop,临时以前台模式启动网关捕获 stderr,保留最近 200 行日志附在工单。
跨地域换机时的延迟与合规提醒
从香港节点迁到东京节点时,工作区里的日志可能含用户对话片段——归档传输应走加密通道并在 ROPA 中登记。若 RTT 从 25 ms 变 55 ms,工具链里硬编码超时的作业可能偶发失败,迁移后应跑一轮 soak。NodeMac 多区域上架便于你把网关贴近数据驻留区而无需重写业务逻辑。
若组织同时运行多台网关,迁移其中一台时务必冻结「指向该实例」的入站路由(例如 Slack 事件订阅或固定 IP 白名单),否则会出现旧地址仍接收流量、新实例空闲的假阳性。把 DNS 或负载均衡的 TTL 临时降到 60 秒级,可在回滚时更快切回;迁移完成并稳定 24 小时后再恢复较长 TTL,降低权威 DNS 查询成本。
自动化团队可为每次迁移生成一页「差异摘要」:归档字节数、排除规则列表、新旧监听端口、以及 doctor 输出 diff。该摘要应进入内部知识库而非只留在聊天——三个月后你会感谢自己能搜到当时为什么排除了 node_modules。
Mac mini M4 的统一内存与大缓存带宽适合迁移后快速重建依赖与模型热层;原生 macOS 减少容器路径差异带来的隐性 breakage。通过 NodeMac 按需租用香港、日本、韩国、新加坡或美国节点,可在同一套 SSH/VNC 流程下完成「旧机打包—新机解压—launchd 拉起」,把迁移从固定资产转移变成可重复的运营动作。独占物理机也意味着性能基线可对照迁移前后表内数值,快速判断问题是配置漂移还是上游模型。