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
浙公网安备 33010602011771号