Ceph-笔记
分布式存储ceph:可靠性设计_cyq6239075的博客-CSDN博客_ceph 可靠性
数据 落盘_cephfs:分布式元数据管理_Robot-R的博客-CSDN博客
【scrub】
ceph-osd会定义启动scrub线程,扫描部分对象(哪些对象?),和其他副本比较,发现是否一致。如果发现不一致,ceph会抛出这个异常给用户解决。以PG为粒度,触发scrub。用户手动修复,使用: ceph pg repair <pg_id> # 全量复制master节点数据到副本节点。 scrub分为light scrubbing和Deep scrubbing,前者是频率多直接检查hash值,后者是频率少直接读取内容计算checksum比较。
【backfill】
当加入或者减少一个新的osd时,所有remapped之后的PG都要迁移到该osd上,此时就叫做backfill。
【recovery】
当一个osd或者多个osd崩溃之后,再次上线,该osd的状态已经严重滞后了(此时crushmap中还保持该osd),这个时候就会进行recovery过程。如果是多个osd recovery, 那么这个时候会占用非常多的服务器资源。
【peering】
故障恢复时,对比各个副本的PGlog, 根据PGlog差异构造missing列表,恢复阶段根据missing列表来恢复。peering以PG为单位进行,peering过程中,该PG的IO会被挂起,进入recovery阶段,则可以接受IO,但hit到missing列表项的,也会挂起,直到恢复完成后。因为PGlog的记录是有限的,当peering时发现,PGlog差异太大,则会触发backfill。
【degrade】 PG的副本数没有达到要求,但是满足最小副本数要求。
【incomplete】 PG的副本数连最小副本数都没有达到。
【osd crush weight】
Crush weight实际上为bucket item weight,
简单来说,bucket weight表示设备(device)的容量,1TB对应1.00,500G对应0.5,bucket weight是所有item weight之和,item weight的变化会影响bucket weight的变化,也就是osd.X会影响host。对与它的调整会立即重新分配pg,迁移数据,这个值一般在刚init 万osd的时候根据osd的容量进行设置。
Command:
ceph osd crush reweight osd.1 1.2
【osd weight】
Osd weight的取值为0~1。osd reweight并不会影响host。当osd被踢出集群时,osd weight被设置0,加入集群时,设置为1。
Command:
ceph osd reweight 1 0.7
ceph osd pg-upmap-items 1.1, [5 ,8]
表明pg 1.1需从osd.5重新映射到osd.8
ceph osd pg-upmap-items 1.2 , [0 ,8] , [5 ,11]
表明pg 1.2的osd集合中osd.0重映射到osd.8 ,osd.5重映射到osd.11
//这里定义了一个状态机类machine。初始状态在A
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?