首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Ceph scrub了解

Ceph scrub了解

作者头像
heidsoft
发布2023-03-18 17:13:01
发布2023-03-18 17:13:01
5480
举报

Scrub主要是为了检查磁盘数据的静默错误,在英文中被称为:Silent Data Corruption,大家都知道硬盘最核心的使命是正确的读取和写入数据,在读、写失败的情况下及时抛出异常,但是在某些场景下,写入成功,读取的时候才发现数据已经损坏,这就是静默错误,一般静默错误产生原因有这几种:

  1. 硬件错误
  2. 传输过程信噪干扰
  3. 软件bug
  4. 固件bug

Ceph的scrub类似于文件系统的 fsck,对于每个 pg,Ceph生成所有对象的列表,并比较每个对象多个副本,以确保没有对象丢失或数据不一致。Ceph的scrub主要分两种:

(1)Scrub:对比对象各个副本的元数据来检查元数据的一致性;

(2)Deep scrub:检查对象各个副本数据内容是否一致,耗时长,占用IO资源多;scrub 对于数据一致性十分重要

scrub job 生产流程

scrub job消费流程

一个文件将数据写入到Pool资源池的过程:

首先客户端会从Cluster Map中读取到集群各节点的信息,要写入存储的文件会被拆分成多个Object对象,这些Object对象都会被写入到Pool资源池中,PG是建立在Pool资源池中的,一个Pool资源池中会有多个PG载体,Object对象文件最终会被存放在Pool资源池的PG目录中,最后再通过CRUSH Rule算法将数据文件写入到不同的OSD中。

由一次slow-request浅谈Ceph scrub原理 https://juejin.cn/post/6844903731784335374

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云数智圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档