1 背景
经过测试发现scrub比较影响性能,所以想降低scrub对线上业务的影响,基本策略是选择业务低峰期进行scrub,且降低scrub的速率
2 调参
-
设置凌晨2点到4点才进行srub
ceph config set osd osd_scrub_begin_hour 2 ceph config set osd osd_scrub_end_hour 4
-
设置自动修复
ceph config set osd osd_scrub_auto_repair true
-
调整scrub最大时间间隔, 超过一年才报警
ceph config set osd osd_deep_scrub_interval 31536000 ceph config set osd osd_scrub_max_interval 31536000
-
据观察发现虽然设置最大超时时间为1年,但是还是会出现告警,需要调整下面配置
ceph config set mgr mon_warn_pg_not_scrubbed_ratio 0 ceph config set mgr mon_warn_pg_not_deep_scrubbed_ratio 0
-
降低scrub速率,不影响线上业务
ceph config set osd osd_max_scrubs 1 ceph config set osd osd_scrub_chunk_min 5 ceph config set osd osd_scrub_chunk_max 10 ceph config set osd osd_scrub_during_recovery false ceph config set osd osd_scrub_load_threshold 0.5 ceph config set osd osd_scrub_sleep 0.1 ceph config set osd osd_scrub_priority 5
-
其它命令
ceph pg dump pgs|awk '{print $1" "$23}'|column -t|less
参考:
网友评论