# 京东主控与六节点灾备 完整项目认知、文件关系、当前运行态与维护规则先读:`INDEX.hdlp`(编号 `JD-DR-001`)。 京东 `JD-FD-PRIMARY` 是日常主控,不是唯一恢复入口。六台个人节点分别持有独立、服务器端保存的恢复身份;Mac、浏览器和个人本地磁盘不保存恢复私钥。 ## 两级故障 1. 京东授权服务损坏但 SSH 仍在线:从任一分控节点发起节点本地邮件授权,批准后使用受限恢复密钥调用京东固定恢复动作。 2. 京东主机完全离线:从至少两个不同云厂商保存的加密控制面备份重建京东,再轮换全部恢复密钥。SSH 反向恢复不能替代云厂商控制台重建。 ## 强制边界 - 每个节点一把独立密钥,禁止六节点共用密钥。 - 京东 `authorized_keys` 对恢复密钥使用来源地址限制、`restrict` 和 forced-command。 - forced-command 仅允许 `health-check`、`restore-authz`、`restore-navigation-map`、`rollback-last-deploy`。 - 每次恢复必须先由发起节点向预登记邮箱发送工单;批准只产生一次性、短时恢复收据。 - 企业 `AW-GZ-001` 不属于六节点灾备组,不持有京东恢复私钥。 - 语言协议、零点原核频道和公开导航互通不扩大服务器权限。 - 所有恢复事件写入 root 所有的追加日志,并由独立审计密钥签名。 ## 六个分控节点 `BS-GZ-006`、`BS-SG-001`、`BS-SG-002`、`BS-SG-003`、`BS-SH-005`、`ZY-SG-006`。 部署前必须逐台确认:当前导航图、节点身份、固定出口地址、邮件发送能力、恢复公钥指纹和加密备份状态。仓库收据不能替代现场检查。 ## 六节点引导 从云控制台确认京东实例自己的公网 IPv4,再作为临时环境变量执行引导。不得把登录来源地址或云元数据错误正文当作实例地址: ```bash JD_PUBLIC_IP='' \ RECOVERY_PACKAGE=/tmp/jd-recovery-controller.tgz \ bash bootstrap-six-node-recovery.sh ``` 地址只写入服务器端 SSH 配置,不写入仓库。脚本验证 IPv4 格式,并以远端固定命令的退出码作为闭环成功依据。 ## 现场状态(2026-07-20) 六个分控节点的反向健康检查均已验证为 `active / active`。上海节点另经云厂商自动化助手确认灾备配置存在、服务端口监听、反向检查成功。无地址或凭据写入仓库。 已知缺口:小湖灯中央授权服务曾无法读取 `BS-SH-005` 的实时导航图。该问题与上海灾备通道本身分离,后续须使用 `restore-navigation-map` 固定动作修复并新增回执。