Ceph 核心概念精讲:彻底搞懂 PG、PGP、pg_num、pgp_num

前言

在 Ceph 中,PG、PGP、pg_num、pgp_num 是最容易混淆、也是最高频的知识点。绝大多数初学者都会疑惑:明明已经有了 PG,为什么 Ceph 还要额外设计一个 PGP?两个参数 pg_num 和 pgp_num 看似雷同,到底分工是什么?扩容时为什么必须先改 pg_num,再改 pgp_num?

一、基础概念:什么是 PG?

PG(Placement Group,归置组) ,是 Ceph 数据管理的最小逻辑单元。

Ceph 完整的数据映射链路:Object 对象 → PG 归置组 → OSD 磁盘节点。

Ceph 不会直接以单个对象为单位管理数据,因为对象数量极其庞大(数十亿级别),直接管理性能极差。因此通过 PG 将海量对象分组,统一收拢管理。

Ceph 所有后台操作,全部以 PG 为最小粒度:

  • 数据副本同步、故障恢复

  • 磁盘巡检(scrub)、数据校验、修复

  • 数据跨节点迁移、集群负载均衡

简单总结:PG 就是对象的"逻辑收纳箱",只负责分组,不负责数据搬家调度。

二、核心难点:什么是 PGP?

PGP 全称 Placement Group for Placement 。直译:用于 CRUSH 落地分配的归置组。

想要理解 PGP,首先要读懂 Ceph 顶级设计思想:将 PG 扩容拆分为两个独立动作,解耦"逻辑分裂"和"物理搬家"。

如果 PG 扩容时,分裂数据、跨节点搬家同时执行,会瞬间产生海量磁盘IO与网络流量,直接打满集群资源,导致线上业务延迟雪崩。

因此 Ceph 把扩容拆成两步:

  1. 第一步:本地逻辑拆分:只在本地 OSD 修改元数据,拆分 PG,不移动真实数据,无性能损耗

  2. 第二步:全局物理均衡:后台缓慢跨节点迁移数据,可控限流,不影响业务

为了实现这个解耦设计,Ceph 引入了 PGP:

PG 负责逻辑分组,PGP 负责物理调度。

通俗白话解释:

  • PG:只是给对象分配编号、完成本地分组

  • PGP:决定哪些 PG 拥有资格参与 CRUSH 算法调度、跨 OSD 搬家、全局均衡

相关推荐
Terry_Tsang15 小时前
CephFS 故障分析
ceph
逐流人14 天前
Ceph对象存储与文件系统存储管理:从RADOS网关、S3与Swift到CephFS快照同步
linux·运维·ceph·云原生·云计算·swift·rados
逐流人15 天前
Ceph分布式存储集群配置与池管理:从配置优先级到PG、复本池与纠删码池
运维·分布式·ceph·云原生·云计算·rados
月落汀兰15 天前
建池后类型不可修改!深度拆解 Ceph PG 放置组,副本 / 纠删码池选型,快照与命名空间避坑
运维·ceph
.冰块.15 天前
Ceph 分布式存储实战(二):存储池管理与 cephx 认证授权
分布式·ceph·rados·纠删码·复本池·cephx认证与用户权限
.冰块.15 天前
Ceph 分布式存储实战(一):架构入门与 cephadm 集群部署
分布式·ceph·架构·cephadm
fengkai454516 天前
十、Ceph 分布式存储5-8
运维·ceph·容器
SeanQhl1 个月前
基于华为云ECS平台的分布式存储系统Ceph-部署指导
ceph·分布式存储·华为云ecs
あ-1 个月前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》第十八章:Rook-Ceph 企业级备份、容灾与数据保护体系
ceph
あ-1 个月前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第六章:Kubernetes Rook-Ceph 运维手册 v1.0(生产版)
ceph