4.4.4. 调整清理

默认情况下,Ceph 每周执行轻型清理和深度清理。轻型清理检查对象大小和校验和,以确保 PG 存储相同的对象数据。随着时间的推移,磁盘扇区的对象大小和校验和可能会变得不良。深度清理检查对象的副本内容,以确保实际内容相同。为此,深度清理以 fsck 的方式确保数据完整性,但该过程会对集群施加 I/O 罚款。甚至轻型清理也会影响 I/O。

默认设置允许 Ceph OSD 在内向期间启动清理,如峰值操作时间或负载过重的期间。当清理操作与最终用户操作冲突时,最终用户可能会遇到延迟和性能不佳的情况。

为了防止最终用户性能下降,Ceph 提供了多个清理设置,可将清理限制为负载较低或非高峰时段的期间。详情请参阅《 红帽 Ceph 存储配置指南 》中的 清理 OSD 部分。

如果集群在一天中出现高负载,当晚晚出现低负载时,请考虑将清理限制为夜间小时。例如:

[osd]
osd_scrub_begin_hour = 23   #23:01H, or 10:01PM.
osd_scrub_end_hour = 6      #06:01H or 6:01AM.

如果时间限制不是确定清理计划的有效方法,请考虑使用 osd_scrub_load_threshold。默认值为 0.5,但可以根据低负载状况进行修改。例如:

[osd]
osd_scrub_load_threshold = 0.25