Ceph PG(归置组)的状态说明

Ceph PG(Placement Group)的状态反映了Ceph集群中数据的健康状况和分布情况。以下是Ceph PG的一些常见状态:

  1. Creating:创建状态。在创建存储池时,会创建指定数量的归置组(PG)。Ceph在创建一或多个归置组时会显示Creating;创建完后,在其归置组的Acting Set里的OSD(Object Storage Daemon,对象存储守护进程)将建立互联;一旦互联完成,归置组状态应该变为active+clean,此时ceph客户端可以向归置组写入数据。
  2. Peering:对等状态。正在同步状态,同一个PG中的OSD需要将准备数据同步一致,而Peering就是对等同步过程中的状态。当ceph peering pg时,ceph将会把pg副本协定导入osd。当ceph完成peering,意味着osd同意当前PG状态,并允许写入。
  3. Active:活跃状态。当ceph完成peering过程,pg将会变成active。处于active状态的PG意味着PG中的数据变得可用,主PG将可执行读写操作。
  4. Clean:干净状态。PG当前不存在待修复的对象,Acting Set和Up Set内容一致,并且大小等于存储池的副本数。
  5. Degraded:降级状态。降级状态出现于OSD被标记为down以后,那么其他映射到此OSD的PG都会转换到降级状态。如果此OSD还能重新启动完成并完成Peering操作后,那么使用此OSD的PG将重新恢复为clean状态。如果此OSD被标记为down的时间超过5分钟还没有修复,那么此OSD将会被ceph踢出集群,然后ceph会对被降级的PG启动恢复操作,直到所有由于此OSD而被降级的PG重新恢复为clean状态。
  6. Stale:陈旧状态。正常状态下,每个主OSD都要周期性的向RADOS集群中的监视器(Mon)报告其作为主OSD所持有的所有PG的最新统计数据。因任何原因导致某个OSD无法正常向监视器发送汇报信息的、或者由其他OSD报告某个OSD已经down的时候,则所有以此OSD为主PG则会立即被标记为stale状态,即它们的主OSD已经不是最新的数据了。
  7. Undersized:尺寸不足状态。PG当前副本数小于其存储池定义的值(默认为3副本)的时候,PG会转换为undersized状态。
  8. Scrubbing:清洗状态。scrub是ceph对数据的清洗状态,用来保证数据完整性的机制。Ceph的OSD定期启动scrub线程来扫描部分对象,通过与其他副本比对来发现是否一致,如果存在不一致,抛出异常提示用户手动解决。scrub以PG为单位,对于每一个pg,ceph分析该pg下所有的object,产生一个类似于元数据信息摘要的数据结构(如对象大小、属性等),叫scrubmap。比较主与副scrubmap,来保证是不是有object丢失或者不匹配。扫描分为轻量级扫描和深度扫描,轻量级扫描也叫做light scrubs或者shallow scrubs或者simply scrubs,即轻量级扫描;深度扫描过程中,PG会处于scrubbing+deep状态。
  9. Recovering:正在恢复状态。集群正在执行迁移或同步对象和他们的副本,这可能是由于添加了一个新的OSD到集群中或者某个OSD宕掉后,PG可能会被CRUSH算法重新分配不同的OSD,而由于OSD更换导致PG发生内部数据同步的过程中的PG会被标记为Recovering。
  10. Backfilling:正在后台填充状态。Backfill是recovery的一种特殊场景,指peering完成后,如果基于当前权威日志无法对Up Set(上行集)当中的某些PG实例实施增量同步(例如承载这些PG实例的OSD离线太久,或者是新的OSD加入集群导致的PG实例整体迁移),则通过完全拷贝当前Primary所有对象的方式进行全量同步,此过程中的PG会处于backfilling。
  11. Remapped:重新映射状态。当PG的Acting Set变化后,数据将会从旧Acting Set迁移到新Acting Set,新主OSD需要过一段时间后才能提供服务,因此它会让老的主OSD继续提供服务,直到PG迁移完成。数据迁移完成后,PG map将会使用新Acting Set中的主OSD。
  12. Inconsistent:不一致状态。PG副本出现不一致,对象大小不正确或者恢复结束后某个副本出现对象丢失现象。
  13. Down:失效状态。PG处于离线状态。
  14. Repair:正在修复状态。PG正在被检查,被发现的任何不一致都将尽可能的被修复。

此外,还有一些其他状态,如"Replay"(某OSD崩溃后,PG正在等待客户端重新发起操作)等。这些状态共同构成了Ceph集群中PG的完整状态集,反映了集群的健康状况和数据的分布情况。管理员可以通过监控这些状态来及时发现并解决问题,确保Ceph集群的稳定性和可靠性

相关推荐
石兴稳5 小时前
Ceph层次架构分析
ceph
活老鬼5 小时前
Ceph分布式存储
linux·运维·服务器·分布式·ceph
石兴稳2 天前
Ceph client 写入osd 数据的两种方式librbd 和kernel rbd
linux·ceph
石兴稳2 天前
Ceph的pool有两种类型
ceph
运维小文2 天前
ceph的集群管理
ceph·对象存储·存储·ceph集群管理·ceph节点管理
石兴稳3 天前
iSCSI 和SCSI的概述
ceph
骑鱼过海的猫1233 天前
【java】java通过s3访问ceph报错
java·ceph·iphone
石兴稳3 天前
Ceph 中PG与PGP的概述
ceph
石兴稳3 天前
Ceph后端两种存储引擎介绍
ceph