PG介绍:
0.全称placement group,中文译为放置组,用于放置object的一个载体
1.在架构层次上,PG处于RADOS层的中间
2.向上,负责接收和处理来自客户端的数据请求
3.向下,负责将数据请求翻译为能够被本地对象存储所能理解的事务
4.组成存储池的基本单位,存储池中很多特性依托于PG实现
5.不同节点间的数据同步、恢复依赖于PG(面向容灾域的备份策略)
PG状态:
1.active -活跃态,PG可以正常处理来自客户端的读写请求
2.activating -peering已完成,PG正在等待所有PG实例同步并固化对等的结果(信息、日志等)
3.backfilling -正在后台填充态,backfill是recovery的一种特殊场景,指peering完成后,如果基于当前权威日志无法对up set当中的某些PG实例实施增量同步(例如承载这些PG实例的OSD离线太久,或者是新的OSD加入集群导致的PG实例整体迁移)则通过完全拷贝当前primary所有对象的方式进行全量同步
4.backfill-toofull -某个需要被backfill的PG实例,其所在的可用空间不足,backfill流程当前被挂起
5.backfill-wait -等待backfill资源预留
6.clean -干净态,PG当前不存在待修复的对象,acting set和up set内容一致,并且大小等于存储池的副本数
7.creating -PG正在被创建
8.deep -PG正在或者即将进行对象一致性扫描清洗
9.degraded -降级状态,peering完成后,PG检测到任意一个PG实例存在不一致(需要被同步/修复)的对象,或者当前acting set小于存储池副本数
10.down -peering过程中,PG检测到某个不能被跳过的interval中(例如该interval期间,PG完成了peering,并且成功切换至active状态,从而有可能正常处理了来自客户端的读写请求),当前剩余在线的不足以完成数据修复
11.incomplete -peering过程中,由于a.无法选出权威日志b.,通过choose_acting set后续不足以完成数据修复,导致peering无法正常完成
12.inconsistent -不一致态,集群清理和深度清理后检测到PG中对象在副本存在不一致,例如对象 的文件大小不一致或recovery结束后一个对象的副本丢失
13.peered -peering已经完成,但是PG当前acting set规模小于存储池规定的最小数
14.peering -正在同步态,PG正在执行同步处理
15.recovering -正在恢复态,集群正在执行迁移或同步对象和他们的副本
16.recovering-wait -等待recovery资源预留
17.remapped -重新映射态,PG活动集任何的一个改变,数据从老活动集到新活动集的迁移。在迁移期间还是用老活动集中的主OSD处理客户端请求,一旦迁移完成新活动集中的主OSD开始处理
18.repair -PG在执行scrub过程中,如果发现存在不一致的对象,并且能够修复,则自动进行修复状态
19.scrubbing -PG正在或者即将进行对象一致性扫描
20.unactive -非活跃态,PG不能处理读写请求
21.unclean -非干净态,PG不能从上一个失败中恢复
22.undersized -PG当前acting set小于存储池副本数