本章目标:
- 建立 Kubernetes + Rook-Ceph 企业级数据保护体系
- 实现 PVC、RBD、CephFS、对象存储多层备份
- 支撑同城双活、异地灾备、云灾备
- 满足企业 RPO/RTO 要求
- 防御误删除、数据损坏、勒索攻击等风险
适用场景:
- 企业私有云
- AI训练平台
- 数据库平台
- DevOps平台
- 多集群 Kubernetes 环境
18.1 企业级数据保护总体架构
生产推荐架构:

核心组件:
| 组件 | 用途 |
|---|---|
| Velero | Kubernetes资源备份 |
| CSI Snapshot | PVC快照 |
| RBD Mirror | 块存储复制 |
| CephFS Snapshot | 文件备份 |
| RGW Multisite | 对象复制 |
| Restic/Kopia | 文件级备份 |
| S3 Object Lock | 防勒索 |
18.2 企业备份分层模型
生产不要只依赖一种备份
推荐:
第一层:
在线快照
第二层:
同集群备份
第三层:
异地复制
第四层:
离线归档
18.3 数据保护对象分类
| 数据类型 | 保护方式 |
|---|---|
| K8s YAML | GitOps |
| PVC | Velero + Snapshot |
| RBD | RBD Mirror |
| CephFS | Snapshot |
| 对象数据 | RGW Multisite |
| 数据库 | 数据库备份 |
18.4 RPO/RTO设计
普通业务
| 指标 | 目标 |
|---|---|
| RPO | 24小时 |
| RTO | 4小时 |
重要业务
| 指标 | 目标 |
|---|---|
| RPO | 1小时 |
| RTO | 1小时 |
核心业务
| 指标 | 目标 |
|---|---|
| RPO | 分钟级 |
| RTO | 分钟级 |
18.5 Velero Kubernetes备份体系
架构
Kubernetes
|
Velero Controller
|
BackupRepository
|
S3 Storage
保护内容:
- Namespace
- Deployment
- StatefulSet
- ConfigMap
- Secret
- PVC
18.6 Velero安装
添加仓库:
helm repo add vmware-tanzu \
https://vmware-tanzu.github.io/helm-charts
安装:
helm install velero \
vmware-tanzu/velero \
-n velero \
--create-namespace
检查:
kubectl get pod -n velero
18.7 Velero备份示例
备份Namespace:
velero backup create \
app-backup \
--include-namespaces app
查看:
velero backup get
详细:
velero backup describe app-backup
18.8 自动备份策略
生产:
每日:
02:00
全量备份
每小时:
增量快照
Schedule:
velero schedule create daily \
--schedule="0 2 * * *"
18.9 PVC快照体系
Kubernetes:
PVC
|
VolumeSnapshot
|
Ceph Snapshot
查看:
kubectl get volumesnapshot
18.10 RBD Snapshot
创建:
rbd snap create \
pool/image@snap1
查看:
rbd snap ls image
恢复:
rbd snap rollback \
image@snap1
18.11 RBD Mirror异地复制
适合:
- 数据库PVC
- VM磁盘
- 核心应用
18.12 开启RBD Mirror
启用:
ceph mgr module enable mirroring
检查:
ceph mirror status
创建mirror pool:
rbd mirror pool enable \
pool \
image
查看:
rbd mirror pool status
18.13 RBD Mirror故障切换
主站:
Primary
故障:
切换:
rbd mirror image promote
恢复:
rbd mirror image demote
验证:
rbd mirror image status
18.14 CephFS备份体系
适合:
- AI Dataset
- 文件共享
创建Snapshot:
ceph fs subvolume snapshot create \
filesystem \
volume \
snapshot1
查看:
ceph fs subvolume snapshot ls
18.15 CephFS异地保护
方案:
方案一
文件同步:
CephFS
|
rsync
|
DR CephFS
方案二
应用级同步:
AI Dataset
|
对象存储
|
异地
18.16 RGW Multisite对象灾备
架构:
S3 Client
|
RGW Site A
|
Multisite Sync
|
RGW Site B
适合:
- 模型仓库
- 数据湖
- 备份文件
18.17 RGW Multisite部署
Zone:
radosgw-admin zone create
同步:
radosgw-admin sync status
检查:
metadata sync
data sync
18.18 数据库保护策略
不要:
只备份PVC
推荐:
Database
|
Native Backup
|
Ceph Snapshot
|
Velero
MySQL:
mysqldump
PostgreSQL:
pg_dump
18.19 防勒索设计
企业必须:
备份隔离
Production
|
Backup
|
Immutable Storage
18.20 S3 Object Lock
开启:
WORM
Write Once Read Many
保护:
- 删除
- 修改
策略:
例如:
30天不可删除
18.21 Backup安全设计
权限隔离
备份账号:
backup-user
只允许:
read/write backup bucket
禁止:
admin权限
18.22 灾难恢复流程
完整流程:
故障发生
↓
确认主站不可用
↓
启动DR
↓
恢复Ceph
↓
恢复Kubernetes
↓
恢复PVC
↓
启动应用
↓
业务验证
18.23 Kubernetes灾备恢复顺序
正确顺序:
1. 网络
2. Kubernetes
3. Rook Operator
4. Ceph Cluster
5. StorageClass
6. PVC
7. Application
18.24 企业备份架构推荐
18.25 企业备份策略模板
核心业务
RBD Mirror:
实时
Snapshot:
每小时
Velero:
每日
Offline Backup:
每周
普通业务
Snapshot:
每日
Velero:
每日
Archive:
每月
18.26 备份验证机制
不能只备份
必须:
定期恢复测试
测试:
Backup
↓
Restore
↓
启动Pod
↓
数据校验
18.27 月度灾备演练
执行:
| 项目 | 周期 |
|---|---|
| PVC恢复 | 月 |
| 数据库恢复 | 月 |
| RBD切换 | 季度 |
| 机房切换 | 半年 |
18.28 生产检查清单
| 项目 | 状态 |
|---|---|
| Velero部署 | □ |
| S3备份 | □ |
| PVC Snapshot | □ |
| RBD Mirror | □ |
| RGW Multisite | □ |
| 备份隔离 | □ |
| 恢复演练 | □ |
| RPO验证 | □ |
| RTO验证 | □ |
18.29 企业最终数据保护架构
Application
|
Kubernetes
|
Rook-Ceph
+------------+------------+
| | |
RBD CephFS RGW
| | |
Mirror Snapshot Multisite
| | |
+------------+------------+
Backup
|
Immutable Storage
|
DR
本章总结
企业级 Rook-Ceph 数据保护必须做到:
✅ 多层备份
✅ 多副本保护
✅ 异地复制
✅ 不可变备份
✅ 定期恢复演练
✅ 明确RPO/RTO