存储与备份 SSOT
SSOT Key: ops.storage
核心定义: 定义全系统的持久化策略、数据落盘位置及异地备份机制。
1. 真理来源 (The Source)
| 维度 |
物理位置 (SSOT) |
说明 |
| Postgres 数据目录 |
platform/01.postgres/compose.yaml |
${DATA_PATH} (e.g., /data/platform/postgres${ENV_SUFFIX}) |
| Redis 数据目录 |
platform/02.redis/compose.yaml |
${DATA_PATH} (e.g., /data/platform/redis${ENV_SUFFIX}) |
| Vault 数据目录 |
bootstrap/05.vault/compose.yaml |
/data/bootstrap/vault |
| 备份归档 |
Cloudflare R2 |
异地冷备(规划中) |
2. 架构模型
| 存储类型 |
位置 |
适用场景 |
| Bootstrap |
/data/bootstrap/<service> |
1Password / Vault |
| Platform |
/data/platform/<service>${ENV_SUFFIX} |
Postgres / Redis / Authentik |
3. 设计约束 (Dos & Don'ts)
✅ 推荐模式 (Whitelist)
- 模式 A: 所有有状态服务必须显式挂载到
/data/...。
- 模式 B: 备份策略需在 SSOT 中注明计划窗口与保留策略。
⛔ 禁止模式 (Blacklist)
- 反模式 A: 禁止 将数据库数据落在容器临时目录。
- 反模式 B: 严禁 未备份直接删除
/data。
4. 标准操作程序 (Playbooks)
SOP-001: 扩容磁盘
- 触发条件: 磁盘使用率 > 80%
- 步骤:
- 扩容 VPS 磁盘(云厂商操作)。
- 在宿主机扩展文件系统。
- 运行服务自检:
invoke postgres.shared.status / invoke redis.shared.status。
SOP-002: 迁移数据目录
- 触发条件: 迁移到新磁盘或新路径
- 步骤:
- 停止对应服务(Dokploy Stop)。
- 迁移
/data/<layer>/<service>${ENV_SUFFIX} 目录(非生产带后缀)。
- 启动服务并验证健康。
5. 验证与测试 (The Proof)
| 行为描述 |
验证方式 |
状态 |
| 存储路径一致性 |
compose.yaml 中路径检查 |
✅ Manual |
Used by