随笔 - 378  文章 - 0  评论 - 5  阅读 - 6085

Ceph数据分布的基本单元-PG

PGs 就是 Placement Groups 的复数形式,也就是 多个 PG 的意思。每个 PG 是一个逻辑单元,负责管理一部分对象(数据)。下面我用更通俗的方式解释一下:


PG 是什么?

  • PG 是 Ceph 中数据分布的基本单位,你可以把它想象成一个“小组”或“容器”。
  • 每个 PG 负责管理一部分对象(数据),比如一个 PG 可能管理 100 个对象,另一个 PG 管理另外 100 个对象。
  • PG 的作用是将数据分散到不同的 OSD(对象存储设备)上,确保数据分布均匀且支持容错。

PGs 是什么?

  • PGs 就是 多个 PG 的集合。比如一个 Ceph 集群可能有 1000 个 PG,每个 PG 负责管理一部分数据。
  • 这些 PG 共同组成了整个集群的数据分布结构。

PG 和 PGs 的关系

  • 你可以把 PG 想象成一个“小组”,而 PGs 就是“很多个小组”。
  • 每个小组(PG)负责管理一部分数据,而所有小组(PGs)一起协作,确保整个集群的数据分布和管理。

为什么需要 PG?

  1. 数据分布均匀
    Ceph 使用 CRUSH 算法将数据分配到不同的 PG 中,再通过 PG 将数据映射到具体的 OSD 上。这样可以确保数据均匀分布在集群中,避免某些 OSD 负载过高。

  2. 容错和复制
    每个 PG 会管理多个副本(通常是 3 个),这些副本会分布在不同的 OSD 上。如果某个 OSD 坏了,数据仍然可以从其他 OSD 上恢复。

  3. 高效管理
    通过将数据分成多个 PG,Ceph 可以更高效地管理数据,比如在扩容、数据迁移或故障恢复时,只需要操作相关的 PG,而不需要影响整个集群。


举个例子

假设你有一个 Ceph 集群,里面有 1000 个对象需要存储:

  • Ceph 会将这些对象分配到 10 个 PG 中,每个 PG 管理 100 个对象。
  • 每个 PG 会将它的 100 个对象复制 3 份,分别存储在不同的 OSD 上。
  • 这样,整个集群的数据就被均匀分布和管理了。

总结

  • PG 是一个逻辑单元,负责管理一部分对象(数据)。
  • PGs 就是多个 PG 的集合,共同管理整个集群的数据。
  • PG 的作用是确保数据分布均匀、支持容错,并提高管理效率。
posted on   Leo-Yide  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示