← 首页 · 边缘工程 边缘工程

变电站边缘 AI 盒:备份与灾备恢复手册(可执行)

调研日期:约 2026-10-25(Asia/Shanghai)
落盘:/workspace/research/edge-ai-backup-disaster-recovery.md
定位:配置 / 密钥策略 / 模型指针 / 证据索引 / MQTT 离线缓冲的备份分层;换盘、换盒 runbook;与 Mender A/B、签名仓、安全启动、证据仓、VLAN 隔离衔接;不进保护网。
衔接:edge-ai-secure-boot-runtime-integrity.md、edge-ai-model-signstore-mender-cookbook.md、edge-ai-model-canary-rollback.md、edge-ai-evidence-store-snapshot-retention.md、edge-ai-mqtt-hardening-offline-buffer.md、edge-ai-vlan-network-isolation.md、edge-ai-observability-logging-metrics.md、edge-ai-d60-d90-acceptance-checklist.md、edge-ai-substation-gateway-bom.md。
声明:本文为边缘 AI 工程灾备基线,不替代继电保护二次安规或业主未公开站规。不确定处标 unknown。


0. 一句话结论与红线

结论:系统根用 Mender 已签名 Artifact / 黄金镜像重建;业务状态用 /data 分层快照恢复;模型权重以 仓侧内容寻址 + current/previous 指针为准,本地只保指针与已验签副本;设备身份私钥默认不外备(仅公钥/证书指纹进台账);证据允许丢近期环形缓冲,站配置与相机清单不可丢;恢复后必须 验签 + Secure Boot 自检 + VLAN/ACL 自检 才进 prod 推理。

红线 ID 禁止项 说明
B1 设备身份私钥禁止明文外备 mTLS/MQTT 设备私钥、SSH 主机私钥、TEE/TPM 密封密钥:禁止进飞书、Git、证据仓、未加密 U 盘、聊天;仅允许站内 PKI 重签新证或 TPM 密封备份(若有,流程 unknown)
B2 模型/OTA 签名私钥禁止落设备、禁止当「盒备份」带走 签名钥只在离线 HSM/隔离 CI;设备仅 model-verify.pub;换盒不迁私钥
B3 证据可丢近期,配置不可丢 热盘环形证据允许 RPO=数小时~数天;site.yaml / 相机清单 / 围栏 / VLAN 角色 / ACL / authorized_keys 目标 RPO≤24h,换盘后必须可恢复
B4 恢复后未验签 / 未 VLAN 自检禁止进 prod 无 MODEL_VERIFY 通过、current 错链、CAM/AI/MQ/MGMT 口别错、出现 PROT 路由 → 仅 degraded/maintenance,禁止金标准告警
B5 备份通道永不进保护二层 快照、rclone、USB 导入、MinIO 温盘均在 AI/MGMT/EVD VLAN;对齐 N1/N5、证据仓 R2
B6 禁止用「整盘 dd 含私钥」当标准灾备 整盘镜像仅实验室;生产以「签名系统轨 + /data 白名单目录 + 仓侧重拉」为准,避免密钥扩散面

1. 备份对象分层与 RPO/RTO

1.1 目标(试点默认,可按业主改)

类别 示例对象 目标 RPO 目标 RTO(换盘/换盒到可推理) 丢失后果
C0 不可丢配置 site_id、相机 RTSP/ONVIF 清单、电子围栏、任务绑定、防抖参数版本、VLAN/口别角色、MQTT ACL 摘要、authorized_keys 指纹、model-verify.pub 指纹 ≤ 24 h(建议日备 + 变更即备) ≤ 4 h(备件+镜像齐) 站不可用或误报
C1 模型指针 /data/models/current→sha、previous、可选 canary 拆除态;manifest 指纹 ≤ 24 h;仓侧持有完整权重 ≤ 2 h(仓可达则重拉) 可回 previous 或仓侧重拉
C2 MQTT 缓冲 离线 SQLite / 环形队列未上传事件 ≤ 1~6 h(有界;满则按 P 丢) 恢复后补传;不堵 RTO 可丢低优 telemetry/frames
C3 证据索引 index.sqlite、retention.json、近期 meta.json 索引 ≤ 24 h;媒体按热保留 索引优先;媒体可从温盘补 近期帧可丢(B3)
C4 证据媒体 JPEG/clip 环形缓冲 允许丢未同步部分 不阻塞推理恢复 审计缺口,记 evidence_gap
C5 系统根 rootfs / FIT / Agent 二进制 以 最后成功 Mender Artifact 为准 ≤ 2~4 h刷槽+首次启动 用黄金 Artifact 重建

1.2 三层落存:镜像 vs /data 快照 vs 仓侧

层 放什么 不放什么 手段
L-镜像(系统轨) 已签名 rootfs/FIT、Agent、GStreamer 插件、公钥、默认 Schema、只读基线配置模板 权重、现场相机密码、设备私钥、证据媒体、MQTT 队列 Mender Artifact;出厂黄金镜像台账(版本+签名)
L-/data 快照 config/(站配置)、models/(store 可选精简 + 指针)、mqtt_buffer/、evidence/index.sqlite + 近 N 日 meta、审计日志尾、证书公钥/设备证(私钥见 B1) 签名私钥、PROT 任何路由、未脱敏人脸长留 rsync/btrfs send/zfs send 或「tar+SHA-256」日备到 EVD/MGMT NAS;加密卷口令站内保管
L-仓侧权威 模型 store/<sha> 全量、Mender Artifact 仓库、站配置 Git/CMDB(脱敏)、相机资产台账、PKI 证书序列号台账 设备私钥材料 MinIO/签名仓 + 配置仓;换盒优先「仓 → 盒」
/data/                          # 独立于 A/B rootfs;系统回滚不删
  config/
    site.yaml                   # 站/间隔/任务
    cameras.yaml                # RTSP/ONVIF;密钥用 file ref 或 vault id
    fences/                     # 电子围栏多边形
    debounce.json               # 防抖参数版本
    network-role.json           # 口别→VLAN 角色(自检用)
  models/
    store/<sha>/ …              # 可 GC;权威在仓
    current -> store/<sha>
    previous -> store/<sha>
    keys/model-verify.pub
  mqtt_buffer/queue.sqlite
  evidence/
    index.sqlite
    …/event_id/meta.json        # 媒体可按保留删;索引优先备
  audit/
  identity/                     # 仅证书与公钥指纹清单;私钥权限 600 且默认不进外备包

快照白名单原则:只备「可声明清单」内路径;禁止整盘盲拷。每日作业产出 BACKUP_MANIFEST.sha256(路径+哈希+utc),与可观测性 backup_last_ok_ts 对齐。

1.3 与既有分轨的关系

轨 灾备动作 禁止
Mender 系统轨 坏根 → 刷上一成功 Artifact / A/B 回滚;不指望从证据盘还原 rootfs 为救系统关闭 Secure Boot;未签名 Artifact
模型轨 丢权重 → 仓按 model.ver 重拉 → 验签 → 挂 current;本地有 previous 则先切回 手工 cp 未签名引擎冒充恢复
证据轨 索引从日备恢复;媒体温盘 rclone 补;缺口标 suspect 把证据盘挂到 PROT;恢复时开全站静音掩盖缺口
MQTT 缓冲 恢复 SQLite 后异步补传;推理先起 阻塞 NPU 等补传完成

2. 换盘 / 换盒 Runbook

2.1 场景判定

场景 典型症状 首选路径
S1 仅数据盘坏 rootfs 仍启动;/data mount 失败 换 SSD → 建文件系统 → 恢复 L-/data 白名单 → 仓补模型
S2 系统盘坏 / 变砖 不开机或 verity 循环 备件刷黄金 FIT/Artifact → 挂原 /data(若健康)或恢复快照
S3 整盒更换 硬件报废 新盒出厂 Secure Boot 镜像 → 新发 设备证书(旧私钥作废)→ 恢复配置快照 → 仓拉模型 → 全量自检
S4 误删配置 推理在、相机/围栏错 只回滚 config/ 日备;不动 current 除非台账要求

2.2 换盘(S1)步骤

  1. 隔离:MGMT 登录;将推理切 maintenance;确认无 PROT 线缆误接(目视+口别标签)。
  2. 取证:导出最近 BACKUP_MANIFEST、journal 尾、model current 读链结果(只读)。
  3. 换盘:工业 SSD 同容量档或更大;分区:独立 /data;可选 LUKS(业主 unknown)。
  4. 恢复:按白名单 rsync/解密 tar;核 BACKUP_MANIFEST.sha256。
  5. 模型:若 store 不完整 → 仅保留指针文件,Agent pull+verify 仓侧;失败则挂 previous 或停在 degraded。
  6. MQTT:恢复 queue.sqlite 后启动补传线程;确认有界、不堵推理。
  7. 自检(§3)通过后切回 prod;上报 DEVICE_RESTORE_OK(ops 事件,非保护点)。

2.3 换盒(S3)步骤

  1. 台账:新 device_id、MAC、口别照片、Secure Boot / 公钥指纹录入。
  2. 刷机:仅已签名黄金镜像;首次启动确认 verified boot / 只读根。
  3. 身份:站内 CA 新签 mTLS 证;旧证吊销;禁止从坏盒拷私钥到新盒(B1)。
  4. 配置:下发最近 config/ 快照;相机口令从站内保险柜/密码器取,不写进 Git 明文。
  5. 模型:仓拉台账指定 model.ver → 验签 → current;previous 可同拉次稳版。
  6. 网络:按 network-role.json 接 CAM/AI/MQ/MGMT;跑 VLAN/ACL 自检。
  7. 演练门禁:故意错签包一次 → 必须 MODEL_VERIFY_FAIL 且不激活。

2.4 USB / 离线包(无仓可达时)

  • 仅允许:签名模型包 + 加密配置包 + 公钥;介质登记编号与保管人。
  • 导入路径:MGMT 口或本地 console;校验 SHA + Ed25519 后再落 /data。
  • 禁止经 CAM VLAN 灌包;禁止未登记 U 盘。

3. 恢复后检查单(必须全绿才 prod)

# 检查项 通过标准 失败处置
R-01 Secure Boot / 只读根 verified boot 或 ro/verity;/data 可写 停在 maintenance;禁关验签「先跑起来」
R-02 公钥指纹 model-verify.pub sha 与台账一致 停;从黄金镜像重置公钥
R-03 current 模型 manifest 验签通过;model.ver=主权重 SHA;compat 板卡匹配 切 previous 或仓重拉;上报 MODEL_VERIFY_FAIL
R-04 相机清单 cameras.yaml 路数/URI 与台账一致;RTSP TCP 拉流 OK 只修配置;不改保护侧
R-05 围栏/任务 fences 哈希与变更单一致;防抖参数版本可读 回滚昨日 config
R-06 口别与 VLAN CAM 仅相机;SSH 仅 MGMT;无默认路由进 PROT 网段 拔错线/改 ACL 后再测
R-07 ACL / Broker 设备只能写本 device_id topic;匿名关闭 对照 MQTT 手册重放 ACL
R-08 MQTT 缓冲 队列有界;断 Broker 推理 FPS 跌落≤5%(抽测) 修发布路径后再 prod
R-09 证据索引 index.sqlite 可查;媒体缺口记 evidence_gap 不伪造 温盘补齐可选
R-10 审计 恢复工单号、操作者、前后 Artifact/model.ver 写入 audit 缺审计视为未完成恢复

一键自检建议(开机/restore-complete 钩子):串行跑 R-01~R-07;任一项红 → Agent 保持 degraded,MQTT status=degraded,不发金标准告警。


4. 两周落地 + 验收门禁

4.1 两周排期(可与 D60 并行)

日 动作 产出
D1–2 冻结白名单目录与 RPO 表;登记黄金 Artifact / 公钥指纹 backup-policy.md + 台账行
D3–4 实现日备作业:/data 白名单 → 加密落 EVD/NAS;BACKUP_MANIFEST cron/systemd timer;失败告警
D5 配置变更钩子:改 cameras/fences 触发一次增量备 变更即备证明
D6–7 实验室 S1 换盘 演练(可写盘) 录像 + 检查单勾选
D8–9 S3 换盒 演练:新证+仓拉模型+VLAN 自检 吊销旧证记录
D10 错签包 / 无公钥指纹不匹配拒 prod 否决证据
D11 断 Broker + 恢复后补传;证据缺口标记 对齐 MQTT/证据红线
D12–14 写进 D60/D90:备份失败告警、季度复演日历 门禁签字

4.2 验收门禁(建议写入 D60/D90)

门禁 否决条件
G1 无日备成功记录连续 ≥48h 仍标「已上线灾备」
G2 外备包中检出设备私钥或模型签名私钥
G3 换盘/换盒演练跳过 R-01~R-07 任一仍切 prod
G4 恢复通道穿越 PROT VLAN 或经未过滤 CAM 灌包
G5 恢复后 current 未验签或 model.ver 与权重 SHA 不一致
G6 以「证据全丢可接受」为由不备 config/ / 相机清单

5. 运维速查

问题 先做 禁止
盒无法启动 备件刷签名镜像;保留原数据盘只读取配置 关闭 Secure Boot;随便下个论坛镜像
模型目录空 仓拉台账 model.ver;验签后挂链 U 盘拷未签名 .rknn
恢复后狂误报 核围栏/相机预置位是否漂移;重校双光 全站静音当恢复完成
备份作业失败 查 NAS/EVD 空间与 MGMT 路由;保留上次好包 把备份改指办公网公盘明文
换盒后 MQTT 拒连 新证 CN=device_id;ACL 换名;旧证吊销 临时 allow_anonymous true

6. 参考与未知项

  • Mender A/B 与 /data 独立、Artifact 签名:对齐签名仓 / Secure Boot 手册;板级刷机工具名 unknown(BSP)。
  • TPM 密封备份设备钥:若板载 TPM/fTPM,流程与 PCR 策略 unknown,默认仍走「吊销+重签」。
  • 业主对证据法定保留期、盘级加密审批:unknown,以安监批复覆盖 B3 媒体侧。
  • 公开思路:内容寻址制品(模型仓)+ 配置即代码日备 + 不可变基础设施(签名镜像)——实施以站内 VLAN 与密钥红线为先,不照搬云上整机快照。

文档结束。

← 变电站 / 电力边缘 AI 可观测性(日志 / 指标 / 追踪)手册 首页 变电站边缘 AI:ONVIF / RTSP 相机配置与联调手册 →