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)。

相关推荐
sanggou13 小时前
踩坑记录:PDManer 导出 Oracle DDL 默认值成 ‘NULL‘ 字符串的排查与解决
数据库·oracle
动亦定13 小时前
MySQL 锁等待超时错误。详细解释原因和解决方案
数据库·mysql
数据库学啊13 小时前
分布式数据库架构设计指南:TDengine如何支持10亿级数据点的水平扩展
数据库·分布式·时序数据库·数据库架构·tdengine
郝学胜-神的一滴13 小时前
Qt删除布局与布局切换技术详解
开发语言·数据库·c++·qt·程序人生·系统架构
小丁爱养花14 小时前
Redis - set & zset (常用命令/内部编码/应用场景)
数据库·redis·缓存
GottdesKrieges15 小时前
OceanBase集群诊断工具:obdiag
数据库·sql·oceanbase
大G的笔记本16 小时前
用 Redis 的 List 存储库存队列,并通过 LPOP 原子性出队来保证并发安全案例
java·数据库·redis·缓存
流子16 小时前
etcd安装与配置完全指南
数据库·etcd
涔溪16 小时前
在 Electron 框架中实现数据库的连接、读取和写入
javascript·数据库·electron