Ceph入门到静态-deep scrub 深度清理处理

9.6 洗刷 REPORT DOCUMENTATION BUG#

除了为对象创建多个副本外,Ceph 还可通过洗刷 归置组来确保数据完整性(请参见第 1.3.2 节 "归置组"了解有关归置组的详细信息)。Ceph 的洗刷类似于在对象存储层运行 fsck。对于每个归置组,Ceph 都会生成一个包含所有对象的编目,并比较每个主对象及其副本,以确保不会有缺失或不匹配的对象。每天的浅层洗刷会检查对象大小和属性,而每周的深层洗刷则会读取数据并使用校验和来确保数据完整性。

洗刷对于维护数据完整性非常重要,但该操作可能会降低性能。您可以通过调整以下设置来增加或减少洗刷操作:

osd max scrubs

同时针对一个 Ceph OSD 执行的洗刷操作数量上限。默认值为 1。

osd scrub begin hourosd scrub end hour

按小时定义的一天内可以执行洗刷的时间段(0 到 24)。默认开始时间为 0,结束时间为 24。

重要

如果归置组的洗刷间隔超出 osd scrub max interval 设置的值,则无论您定义的洗刷时间段为何,都将执行洗刷。

osd scrub during recovery

允许恢复期间执行洗刷。如果将此选项设置为"false",则当存在工作的恢复进程时,将禁止安排新的洗刷。已在运行的洗刷将继续执行。此选项有助于降低忙碌集群上的负载。默认值为"true"。

osd scrub thread timeout

洗刷线程超时前的最长时间(以秒为单位)。默认值为 60。

osd scrub finalize thread timeout

洗刷完成线程超时前的最长时间(以秒为单位)。默认值为 60*10。

osd scrub load threshold

规范化的最大负载。当系统负载(由 getloadavg()online cpus 数量之比定义)高于此数字时,Ceph 将不会执行洗刷。默认值为 0.5。

osd scrub min interval

当 Ceph 集群负载较低时洗刷 Ceph OSD 的最短间隔(以秒为单位)。默认值为 60*60*24(一天一次)。

osd scrub max interval

无论集群负载如何都洗刷 Ceph OSD 的最长间隔(以秒为单位)。默认值为 7*60*60*24(一周一次)。

osd scrub chunk min

单次操作期间要洗刷的对象存储块数量下限。洗刷期间,Ceph 会阻止向单个块写入数据。默认值为 5。

osd scrub chunk max

单次操作期间要洗刷的对象存储块数量上限。默认值为 25。

osd scrub sleep

洗刷下一组块之前休眠的时间。增大此值会降低整个洗刷操作的速度,但对客户端操作的影响较小。默认值为 0。

osd deep scrub interval

深层洗刷(完整读取所有数据)的间隔。osd scrub load threshold 选项不会影响此设置。默认值为 60*60*24*7(一周一次)。

osd scrub interval randomize ratio

在安排归置组的下一次洗刷作业时,为 osd scrub min interval 值增加一个随机延迟。该延迟为一个随机的值,小于 osd scrub min interval * osd scrub interval randomized ratio 所得结果。因此,该默认设置实际上是将洗刷随机地安排在允许的时间段 [1, 1.5] * osd scrub min interval 内执行。默认值为 0.5。

osd deep scrub stride

执行深层洗刷时读取的大小。默认值为 524288 (512 kB)。

相关推荐
傻啦嘿哟16 分钟前
代理IP在后端开发中的应用与后端工程师的角色
网络·网络协议·tcp/ip
Red Red20 分钟前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
BestandW1shEs1 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师1 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球1 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...1 小时前
表的操作(MySQL)
数据库·mysql·表的操作
哥谭居民00011 小时前
MySQL的权限管理机制--授权表
数据库
wqq_9922502771 小时前
ssm旅游推荐系统的设计与开发
数据库·旅游