guanghu-ice-heart/server-tools/jd-disaster-recovery/README.md

44 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 京东主控与六节点灾备
完整项目认知、文件关系、当前运行态与维护规则先读:`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='<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` 固定动作修复并新增回执。