备份什么才够用
Ceph 的「配置」不只是那几行 ceph.conf:真正决定集群能不能重建的是 MON 的 monmap、CRUSH 规则、身份密钥环与池参数。集群还在跑的时候这些都能从命令行导出成文本,一旦全部 MON 损坏,没有这些文本就只能从零重建集群并拷数据。
基本信息
| 适用平台 | Ceph 集群(所有主流版本) |
|---|---|
| 备份频率 | 每次变更后 + 定期快照,建议纳入例行任务 |
| 存放要求 | 与集群分离的介质,含密钥的文件限权保存 |
| 权限要求 | 管理员身份,需可读取 MON 与本机密钥环 |
典型使用场景
- 集群变更前后留底:扩容、改 CRUSH、调整 PG 数之前导出一次
- MON 故障重建:用备份的 monmap 与配置快速拉起
- 审计与复盘:留存某时刻的池参数与权限配置用于对比
- 接手交接:新团队拿到完整配置快照可快速理解集群结构
关键配置导出
关键配置导出
ceph config dump > /backup/ceph-config-dump.txt # 全部运行时配置项
ceph osd getcrushmap -o /backup/crushmap.bin # CRUSH 映射
crushtool -d /backup/crushmap.bin -o /backup/crushmap.txt # 转成可读文本
ceph mon getmap -o /backup/monmap.bin # MON 拓扑
ceph auth export > /backup/auth-export.txt # 全部身份与密钥(敏感)
ceph osd tree > /backup/osd-tree.txt # OSD 与主机对应关系备份清单与价值
| 对象 | 内容 | 丢了会怎样 |
|---|---|---|
| monmap | MON 成员与地址 | MON 无法重建,需要人工拼拓扑 |
| CRUSH map | 故障域与数据分布规则 | 集群能跑但数据分布规则无从还原 |
| 密钥环 | 各身份认证凭据 | 客户端与守护进程无法接入 |
| 池参数 | 副本数、PG 数、配额 | 容量与可靠性口径全部要重新推断 |
备份文本要记录导出时间和集群版本;只留一份最新配置往往不够,恢复时要的是与故障时刻接近的那一版。
auth export 与密钥环导出的内容是凭据,必须加密存放并限制访问;把它们和普通运维文档放在一起,等于给攻击者递钥匙。
留存策略要点
- 变更前后各导出一份并标注变更单号与时间,形成可对照的两版
- 保留一段时间跨度而不是滚动覆盖同一份文件
- 导出后校验文件可读,防止拷贝中断留下半个文件
- 含密钥的部分单独加密与限权,访问留痕
- 定期抽一份按流程做恢复演练,验证步骤而不只是验证文件存在
旧版本备份同样有价值:它记录的是变更前那一刻的成员与规则,排查「改完之后才出的问题」时是最直接的对照物。