| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .. | ||
| test | ||
| backup-control-plane.sh | ||
| bootstrap-six-node-recovery.sh | ||
| INDEX.hdlp | ||
| jd-recovery-entry.sh | ||
| jd-recovery-runner | ||
| README.md | ||
| recovery-policy.json | ||
京东主控与六节点灾备
完整项目认知、文件关系、当前运行态与维护规则先读:INDEX.hdlp(编号 JD-DR-001)。
京东 JD-FD-PRIMARY 是日常主控,不是唯一恢复入口。六台个人节点分别持有独立、服务器端保存的恢复身份;Mac、浏览器和个人本地磁盘不保存恢复私钥。
两级故障
- 京东授权服务损坏但 SSH 仍在线:从任一分控节点发起节点本地邮件授权,批准后使用受限恢复密钥调用京东固定恢复动作。
- 京东主机完全离线:从至少两个不同云厂商保存的加密控制面备份重建京东,再轮换全部恢复密钥。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,再作为临时环境变量执行引导。不得把登录来源地址或云元数据错误正文当作实例地址:
JD_PUBLIC_IP='<verified-console-address>' \
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 固定动作修复并新增回执。