跳到主要内容

故障恢复

恢复过程必须保留精确请求、幂等键、签名尝试历史和证据链。防止重复或错误执行比恢复可用性更重要。

第一响应

  1. 暂停受影响租户或适配器的新执行。
  2. 保存请求 ID、组件健康、生命周期头和有限日志。
  3. 在重试任何操作前先对故障分类。
  4. 保留活动状态目录,绝不在其上直接恢复。
  5. 恢复前先核对外部状态和证据见证。

故障矩阵

故障安全行为恢复动作
某个签名人在第一轮或第二轮不可用记录失败参与者;绝不跨尝试混用承诺或份额如仍有法定人数,使用新候选集开始新的编号尝试
候选池耗尽持久记录失败;不静默重启恢复法定人数,再显式执行 resume --retry-failed
协调器重启加载并验证签名状态;只复用完全一致的持久响应用同一操作 ID 恢复并核对已存签名包
适配器超时或结果不确定请求保持可核对;不标记已执行,也不新建幂等键先查询服务商或链上状态,确认安全后才用同一请求重试
服务商持久拒绝保留拒绝证据,不创建执行回执纠正业务或策略原因,必要时创建新请求
证据见证不可用终态证据保持待处理,不声称已独立锚定恢复见证、核对精确流头,再重试同一锚点
告警 Webhook 不可用重启后保留同一待发送事件 ID恢复接收端或网络,直到同一事件收到 2xx
状态主机丢失不覆盖幸存活动状态,也不合并秘密域在新目录和隔离端口恢复已验证备份,再做核对

备份与恢复

停止 API 后,试点控制脚本可以创建运维备份:

deploy/pilot/pilot-control.sh stop
deploy/pilot/pilot-control.sh backup

备份有意排除签名密钥包、TLS 私钥、API 凭据和其他秘密。本地保留无法防范整台主机损失;生产候选需要独立管理的备份目的地。

必须恢复到新路径,绝不能覆盖活动状态:

deploy/pilot/pilot-control.sh restore \
.luvion-pilot/backups/<backup>.json \
.luvion-pilot/state/control-plane-restored

在不同本地端口启动恢复实例,比较请求数量、终态、生命周期头、证据摘要和见证回执。只有核对成功后才能提升为活动实例。

恢复验收

只有活动请求和生命周期记录通过密码学验证、不存在冲突幂等记录或外部交易、签名法定人数和身份固定项与批准部署一致、待处理证据按顺序获得见证、运维告警恢复健康,并形成由负责人批准重开的有限验收报告,才算完成恢复。

任何一项仍不确定时,都应保持执行关闭,并通过负责任披露中的私密渠道升级处理。