水位线是什么
Ceph 用几个容量比例阈值来保护集群:接近上限时先告警并限制新数据落盘,达到上限后直接让相关池转入只读,防止 OSD 被写满后连日志都写不进去。因此容量告警不是提醒,而是集群主动降级服务的开关。
基本信息
| 适用平台 | Ceph(默认阈值,以官方文档为准) |
|---|---|
| 常见阈值 | nearfull、backfillfull、full、failsafe |
| 查看命令 | ceph df、ceph osd df tree |
| 权限要求 | 只读排查即可,调整阈值与清理需管理员 |
典型使用场景
- 收到 near full 告警:判断是数据真实增长还是快照与垃圾对象堆积
- 写入报错前预警:在池转只读之前腾出容量
- 容量规划:结合增长曲线决定扩容节点数量与时间点
- 多租户管理:用配额约束单个业务池不要吃掉整个集群
容量查看
容量查看
ceph df # 全局与分池使用率、可用空间
ceph osd df tree # 按主机看单 OSD 使用率与方差
ceph df detail # 含配额与对象数量的明细
ceph health detail # 读出触发告警的具体阈值语句阈值与后果
| 阈值 | 典型含义 | 达到后的表现 |
|---|---|---|
| nearfull | 接近高位,需尽快扩容 | 告警并限制新 OSD 加入与再平衡 |
| backfillfull | 已不适合再接收回填 | 停止向该 OSD 回填,降级持续 |
| full | 写入上限 | 池转为只读,新写请求直接失败 |
可用容量不等于裸容量:副本数、纠删码比例与预留空间都会折算,规划时要按池口径而不是磁盘总量估算。
靠调低阈值来消除告警只是掩盖问题;真正写满后恢复需要清空间或扩容,期间的写入失败会直接打穿业务。
腾空间的优先顺序
- 先清理无用快照与遗留的测试对象,成本最低见效最快
- 再评估能否把冷数据迁到其他池或外部归档
- 然后按容量增长曲线规划新增节点数量与上线时间
- 扩容后等再平衡收敛,再评估真实剩余余量
- 告警与配额一起配置,避免只告警不治理
单 OSD 使用率方差过大说明分布不均,这种情况先修分布再扩容,否则新增容量会继续向同一批节点倾斜。