分布式存储Ceph中PG各种状态详解Word文件下载.docx

上传人:b****3 文档编号:16004177 上传时间:2022-11-17 格式:DOCX 页数:15 大小:488.76KB
下载 相关 举报
分布式存储Ceph中PG各种状态详解Word文件下载.docx_第1页
第1页 / 共15页
分布式存储Ceph中PG各种状态详解Word文件下载.docx_第2页
第2页 / 共15页
分布式存储Ceph中PG各种状态详解Word文件下载.docx_第3页
第3页 / 共15页
分布式存储Ceph中PG各种状态详解Word文件下载.docx_第4页
第4页 / 共15页
分布式存储Ceph中PG各种状态详解Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

分布式存储Ceph中PG各种状态详解Word文件下载.docx

《分布式存储Ceph中PG各种状态详解Word文件下载.docx》由会员分享,可在线阅读,更多相关《分布式存储Ceph中PG各种状态详解Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

分布式存储Ceph中PG各种状态详解Word文件下载.docx

描述

Activating

Peering已经完成,PG正在等待所有PG实例同步并固化Peering的结果(Info、Log等)

Active

活跃态。

PG可以正常处理来自客户端的读写请求

Backfilling

正在后台填充态。

backfill是recovery的一种特殊场景,指peering完成后,如果基于当前权威日志无法对UpSet当中的某些PG实例实施增量同步(例如承载这些PG实例的OSD离线太久,或者是新的OSD加入集群导致的PG实例整体迁移)则通过完全拷贝当前Primary所有对象的方式进行全量同步

Backfill-toofull

某个需要被Backfill的PG实例,其所在的OSD可用空间不足,Backfill流程当前被挂起

Backfill-wait

等待Backfill资源预留

Clean

干净态。

PG当前不存在待修复的对象,ActingSet和UpSet内容一致,并且大小等于存储池的副本数

Creating

PG正在被创建

Deep

PG正在或者即将进行对象一致性扫描清洗

Degraded

降级状态。

Peering完成后,PG检测到任意一个PG实例存在不一致(需要被同步/修复)的对象,或者当前ActingSet小于存储池副本数

Down

Peering过程中,PG检测到某个不能被跳过的Interval中(例如该Interval期间,PG完成了Peering,并且成功切换至Active状态,从而有可能正常处理了来自客户端的读写请求),当前剩余在线的OSD不足以完成数据修复

Incomplete

Peering过程中,由于a.无非选出权威日志b.通过choose_acting选出的ActingSet后续不足以完成数据修复,导致Peering无非正常完成

Inconsistent

不一致态。

集群清理和深度清理后检测到PG中的对象在副本存在不一致,例如对象的文件大小不一致或Recovery结束后一个对象的副本丢失

Peered

Peering已经完成,但是PG当前ActingSet规模小于存储池规定的最小副本数(min_size)

Peering

正在同步态。

PG正在执行同步处理

Recovering

正在恢复态。

集群正在执行迁移或同步对象和他们的副本

Recovering-wait

等待Recovery资源预留

Remapped

重新映射态。

PG活动集任何的一个改变,数据发生从老活动集到新活动集的迁移。

在迁移期间还是用老的活动集中的主OSD处理客户端请求,一旦迁移完成新活动集中的主OSD开始处理

Repair

PG在执行Scrub过程中,如果发现存在不一致的对象,并且能够修复,则自动进行修复状态

Scrubbing

PG正在或者即将进行对象一致性扫描

Unactive

非活跃态。

PG不能处理读写请求

Unclean

非干净态。

PG不能从上一个失败中恢复

Stale

未刷新态。

PG状态没有被任何OSD更新,这说明所有存储这个PG的OSD可能挂掉,或者Mon没有检测到Primary统计信息(网络抖动)

Undersized

PG当前ActingSet小于存储池副本数

3.状态详解及故障模拟复现

3.1Degraded

3.1.1说明

•降级:

由上文可以得知,每个PG有三个副本,分别保存在不同的OSD中,在非故障情况下,这个PG是active+clean状态,那么,如果PG的副本osd.4挂掉了,这个PG是降级状态。

3.1.2故障模拟

1.停止osd.1$systemctlstopceph-osd@1

2.查看PG状态$bin/cephpgstat20pgs:

20active+undersized+degraded;

14512kBdata,302GBused,6388GB/6691GBavail;

12/36objectsdegraded(33.333%)

3.查看集群监控状态

4.客户端IO操作

故障总结:

为了模拟故障,(size=3,min_size=2)我们手动停止了osd.1,然后查看PG状态,可见,它此刻的状态是active+undersized+degraded,当一个PG所在的OSD挂掉之后,这个PG就会进入undersized+degraded状态,而后面的[0,2]的意义就是还有两个副本存活在osd.0和osd.2上,并且这个时候客户端可以正常读写IO。

3.1.3总结

·

降级就是在发生了一些故障比如OSD挂掉之后,Ceph将这个OSD上的所有PG标记为Degraded。

降级的集群可以正常读写数据,降级的PG只是相当于小毛病而已,并不是严重的问题。

Undersized的意思就是当前存活的PG副本数为2,小于副本数3,将其做此标记,表明存货副本数不足,也不是严重的问题。

3.2Peered

3.2.1说明

Peering已经完成,但是PG当前ActingSet规模小于存储池规定的最小副本数(min_size)。

3.2.2故障模拟

a.停掉两个副本osd.1,osd.0

$systemctlstopceph-osd@1$systemctlstopceph-osd@0

b.查看集群健康状态

c.客户端IO操作(夯住) 

读取对象到文件,夯住IO

$bin/rados-ptest_poolgetmyobjectceph.conf.old

-现在pg只剩下osd.2上存活,并且pg还多了一个状态:

peered,英文的意思是仔细看,这里我们可以理解成协商、搜索。

-这时候读取文件,会发现指令会卡在那个地方一直不动,为什么就不能读取内容了,因为我们设置的min_size=2,如果存活数少于2,比如这里的1,那么就不会响应外部的IO请求。

d.调整min_size=1可以解决IO夯住问题

设置min_size=1

$bin/cephosdpoolsettest_poolmin_size1setpool1min_sizeto1

e.查看集群监控状态

f.客户端IO操作

读取对象到文件中

$ll-lhceph.conf*-rw-r--r--1rootroot6.1KJun2514:

01ceph.conf-rw-r--r--1rootroot6.1KJul320:

11ceph.conf.old-rw-r--r--1rootroot6.1KJul320:

11ceph.conf.old.1

-可以看到,PG状态Peered没有了,并且客户端文件IO可以正常读写了。

-当min_size=1时,只要集群里面有一份副本活着,那就可以响应外部的IO请求。

3.2.3总结

Peered状态我们这里可以将它理解成它在等待其他副本上线。

当min_size=2时,也就是必须保证有两个副本存活的时候就可以去除Peered这个状态。

处于Peered状态的PG是不能响应外部的请求的并且IO被挂起。

3.3Remapped

3.3.1说明

Peering完成,PG当前ActingSet与UpSet不一致就会出现Remapped状态。

3.3.2故障模拟

a.停止osd.x

$systemctlstopceph-osd@x

b.间隔5分钟,启动osd.x

$systemctlstartceph-osd@x

c.查看PG状态

d.客户端IO操作

rados读写正常

rados-ptest_poolputmyobject/tmp/test.log

3.3.3总结

在OSD挂掉或者在扩容的时候PG上的OSD会按照Crush算法重新分配PG所属的osd编号。

并且会把PGRemap到别的OSD上去。

Remapped状态时,PG当前ActingSet与UpSet不一致。

客户端IO可以正常读写。

3.4Recovery

3.4.1说明

指PG通过PGLog日志针对数据不一致的对象进行同步和修复的过程。

3.4.2故障模拟

b.间隔1分钟启动osd.x

osd$systemctlstartceph-osd@x

c.查看集群监控状态

$cephhealthdetailHEALTH_WARNDegradeddataredundancy:

183/57960objectsdegraded(0.316%),17pgsunclean,17pgsdegradedPG_DEGRADEDDegradeddataredundancy:

183/57960objectsdegraded(0.316%),17pgsunclean,17pgsdegradedpg1.19isactive+recovery_wait+degraded,acting[29,9,17]

3.4.3总结

Recovery是通过记录的PGLog进行恢复数据的。

o记录的PGLog在osd_max_pg_log_entries=10000条以内,这个时候通过PGLog就能增量恢复数据。

3.5Backfill

3.5.1说明

当PG的副本无非通过PGLog来恢复数据,这个时候就需要进行全量同步,通过完全拷贝当前Primary所有对象的方式进行全量同步。

3.5.2故障模拟

b.间隔10分钟启动osd.x

$osdsystemctlstartceph-osd@x

c.查看集群健康状态

6/57927objectsdegraded(0.010%),1pgunclean,1pgdegradedPG_DEGRADEDDegradeddataredundancy:

6/57927objectsdegraded(0.010%)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1