深入的 scrub 分布
转载
为了验证数据的完整性,Ceph 使用一种称为深入 scrub 的机制,它会每周为每个放置组浏览所有数据。当所有 osd 同时运行深入 scrub 时,这可能是过载的原因。
你可以轻松地查看当前是否正在运行深入 scrub(以及有多少个)使用 ceph status `ceph -w`。但更有趣的是查看一周内的分布情况,以预测负载
获取一周的分布 ¶
$ for date in `ceph pg dump | grep active | awk '{print $20}'`; do date +%A -d $date; done | sort | uniq -c
239 monday
41 tuesday
2 saturday
410 sunday
我们可以很容易地看到深入 scrub 完成的时间(在我的例子中是星期日和星期一)。
深入 scrub 的默认间隔是每周一次,但可以使用参数‘osd deep scrub interval’进行调整:https://ceph.net.cn/docs/master/rados/configuration/osd-config-ref/#scrubbing
每小时的分布 ¶
$ for date in `ceph pg dump | grep active | awk '{print $21}'`; do date +%H -d $date; done | sort | uniq -c
11 00
26 01
34 02
37 03
26 04
25 05
14 06
1 08
28 09
49 10
52 11
46 12
37 13
31 14
29 15
45 16
34 17
33 18
27 19
33 20
27 21
25 22
22 23