2.12. 调整清理
默认情况下,Ceph 每周执行轻型清理和深度清理。轻型清理检查对象大小和校验和,以确保 PG 存储相同的对象数据。随着时间的推移,磁盘扇区的对象大小和校验和可能会变得不良。深度清理检查对象的副本内容,以确保实际内容相同。为此,深度清理以 fsck
的方式确保数据完整性,但该过程会对集群施加 I/O 罚款。甚至轻型清理也会影响 I/O。
默认设置可能允许 Ceph OSD 在规定时间(如峰值操作时间或负载过重的期间)启动清理。当清理操作与最终用户操作冲突时,最终用户可能会遇到延迟和性能不佳的情况。
为了防止最终用户性能下降,Ceph 提供了多个清理设置,可将清理限制为负载较低或非高峰时段的期间。详情请参阅 Red Hat Ceph Storage 配置指南中的清理 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