guanghu-ice-heart/server-tools/jd-disaster-recovery/INDEX.hdlp

108 lines
4.3 KiB
Text
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.

# 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. 冰朔的日常责任只有保持京东实例开机、账号正常、云侧网络可达;登录与修复路径由人格系统和灾备项目承担。