1、背景:
Ceph集群会定时进行Scrub操作,在Ceph对接OpenStack的场景中,如果Ceph集群正在进行Scrub操作,会对Scrub的数据进行加锁,如果OpenStack使用Ceph作为后端存储的虚拟机此时也在访问该数据,就会导致OpenStack中使用Ceph作为后端存储的虚拟机可能会出现卡顿的现象。
1)Scurb是什么?
Scrub是Ceph集群副本进行数据扫描的操作,用以检测副本间数据的一致性,包括Scrub和Deep Scrub,其中Scrub只会对元数据信息进行扫描,相对比较快,而Deep Scrub不仅对元数据进行扫描,还会对存储的数据进行扫描,相对比较慢。
2)Scrub默认周期是多久进行一次?
OSD的Scrub默认配置策略是每天到每周(如果集群负载大周期就是一周,如果集群负载小周期就是一天)进行一次,时间区域默认为全天(0时-24时),Deep Scrub默认策略是每周一次。
2、案例实战
基于对业务运行时间的了解,晚上10点到第二天早上7点为业务闲时,可以进行Scrub操作,本文以此为例进行配置策略的制定。
场景:晚22点到第二天早上7点进行Scrub
先通过tell方式,让Scrub时间区间配置立即生效,具体操作如下:
配置Scrub起始时间为22点整:
ceph tell osd.* injectargs "--osd-scrub-begin-hour 22"
配置Scrub结束时间为第二天早上7点整:
ceph tell osd.* injectargs "--osd-scrub-end-hour 7"
然后将Ceph集群所有节点的配置文件修改,参考如下:
vim /etc/ceph/ceph.conf
[global]
......
[osd]
osd_scrub_begin_hour = 22
osd_scrub_end_hour = 7
这样之后,可以使配置立即生效,即使集群服务重启或者节点重启,配置也会重新从配置文件中加载,永久生效。
今天的文章Ceph集群定时Scrub分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/6767.html