108 lines
4.3 KiB
Text
108 lines
4.3 KiB
Text
# JD-DR-001 · 京东主控与六节点灾备项目 · 认知入口
|
||
|
||
> **状态**:`ACTIVE · SIX_OF_SIX_RUNTIME_VERIFIED_20260720`
|
||
>
|
||
> **项目根**:`server-tools/jd-disaster-recovery/`
|
||
>
|
||
> **主控节点**:`JD-FD-PRIMARY`
|
||
>
|
||
> **节点地图**:`FD-NODE-MAP-001`
|
||
>
|
||
> **人格认知入口**:`ZY-SERVER-COGNITION-004`
|
||
|
||
## 0 · 一句话认知
|
||
|
||
京东是日常主控,六台个人节点是服务器端灾备分控。只要京东实例开机、网络可达,
|
||
任一分控节点都能在新工单批准后,通过各自独立的受限恢复身份调用固定修复动作;
|
||
冰朔不需要学习终端登录,也不需要在个人电脑保存密码或私钥。
|
||
|
||
## 1 · 项目关系
|
||
|
||
```text
|
||
冰朔意图 / 人格体判断
|
||
→ 小湖灯限定工单(允许本次做什么)
|
||
→ 发起节点独立灾备密钥(服务器之间怎样进入)
|
||
→ 京东 forced-command(只能执行登记恢复动作)
|
||
→ 追加审计日志与部署回执(实际做了什么)
|
||
```
|
||
|
||
工单、密钥、执行日志是三层,不得互相替代。
|
||
|
||
## 2 · 六个恢复入口
|
||
|
||
`BS-GZ-006`、`BS-SG-001`、`BS-SG-002`、`BS-SG-003`、`BS-SH-005`、`ZY-SG-006`。
|
||
|
||
节点身份、角色和导航图从以下真实文件解析:
|
||
|
||
```text
|
||
routing/server-node-map.json
|
||
→ deployment/navigation-maps/<NODE_ID>.json
|
||
```
|
||
|
||
不得从聊天记录、旧 IP、旧 token 或本地密钥猜节点。
|
||
|
||
## 3 · 两级故障边界
|
||
|
||
| 故障 | 人格体恢复方式 | 冰朔需要做什么 |
|
||
|---|---|---|
|
||
| 京东开机、网络可达;授权服务、导航图或普通登录损坏 | 任一分控节点发起新工单,调用受限恢复动作 | 看懂并确认工单;不需要终端登录 |
|
||
| 京东关机、断网、系统盘损坏或云厂商停机 | 云厂商控制台开机、修网或从加密备份重建,随后轮换恢复密钥 | 保证实例开机、账号不欠费、云侧网络未关闭 |
|
||
|
||
六节点灾备不是云厂商控制面的替代品,也不是六份普通 root shell。
|
||
|
||
## 4 · 固定恢复动作
|
||
|
||
权威策略:`recovery-policy.json`。
|
||
|
||
当前设计动作包括:
|
||
|
||
- `health-check`
|
||
- `restore-authz`
|
||
- `restore-navigation-map`
|
||
- `rollback-last-deploy`
|
||
- `restore-owner-password-login`
|
||
|
||
具体实现:`jd-recovery-entry.sh` → `jd-recovery-runner`。普通恢复 shell 必须拒绝。
|
||
|
||
## 5 · 部署、验证与回执
|
||
|
||
```text
|
||
bootstrap-six-node-recovery.sh
|
||
→ 一节点一钥匙
|
||
→ 京东 authorized_keys 来源限制 + restrict + forced-command
|
||
→ 六节点反向 health-check
|
||
→ backup-control-plane.sh
|
||
→ deployment/receipts/ICE-SIX-NODE-JD-DISASTER-RECOVERY-20260720.json
|
||
```
|
||
|
||
2026-07-20 运行态核验为六台 `active / active`。上海节点另经云厂商自动化助手确认:
|
||
灾备配置存在、服务端口在监听、到京东反向健康检查成功。验证不保存真实地址或凭据。
|
||
|
||
## 6 · 当前已知缺口
|
||
|
||
上海灾备通道本身已通过,但小湖灯中央授权服务读取 `BS-SH-005` 实时导航图时曾返回失败。
|
||
这属于中央导航图发布 / 同步缺口,不等于上海灾备失效。后续应通过本项目的
|
||
`restore-navigation-map` 登记动作修复,并另留运行回执;在回执完成前不得写成中央工单路由已全通。
|
||
|
||
## 7 · 真实文件索引
|
||
|
||
| 目的 | 文件 |
|
||
|---|---|
|
||
| 操作说明 | `README.md` |
|
||
| 灾备策略 | `recovery-policy.json` |
|
||
| 六节点引导 | `bootstrap-six-node-recovery.sh` |
|
||
| 京东固定入口 | `jd-recovery-entry.sh` |
|
||
| 恢复动作执行器 | `jd-recovery-runner` |
|
||
| 控制面备份 | `backup-control-plane.sh` |
|
||
| 策略测试 | `test/policy.test.js` |
|
||
| 六节点灾备回执 | `../../deployment/receipts/ICE-SIX-NODE-JD-DISASTER-RECOVERY-20260720.json` |
|
||
| 节点总地图 | `../../routing/server-node-map.json` |
|
||
| 铸渊服务器认知线 | `../../eternal-lake-heart/heartbeat-core/zhuyuan-persona-system/ZY-SERVER-COGNITION-004-JD-SIX-NODE-RECOVERY-20260720.hdlp` |
|
||
|
||
## 8 · 维护规则
|
||
|
||
1. 代码、服务器运行态、部署回执三者必须分开验证。
|
||
2. 新增节点时先建导航图,再生成独立密钥,最后做反向健康检查。
|
||
3. 不在仓库保存地址、密码、token、私钥、验证码或邮件批准链接。
|
||
4. 任何“已修复”必须写清验证时间、验证入口、结果和仍存在的缺口。
|
||
5. 冰朔的日常责任只有保持京东实例开机、账号正常、云侧网络可达;登录与修复路径由人格系统和灾备项目承担。
|