首页 > 代码库 > 在ceph中:pool、PG、OSD的关系

在ceph中:pool、PG、OSD的关系

原文:http://www.cnblogs.com/me115/p/6366374.html

Pool是存储对象的逻辑分区,它规定了数据冗余的类型和对应的副本分布策略;支持两种类型:副本(replicated)和 纠删码( Erasure Code);目前我们公司内部使用的Pool都是副本类型(3副本);

PG( placement group)是一个放置策略组,它是对象的集合,该集合里的所有对象都具有相同的放置策略;简单点说就是相同PG内的对象都会放到相同的硬盘上; PG是 ceph的核心概念, 服务端数据均衡和恢复的最小粒度就是PG;

OSD是负责物理存储的进程,一般配置成和磁盘一一对应,一块磁盘启动一个OSD进程;

下面这张图形象的描绘了它们之间的关系:

  • 一个Pool里有很多PG,
  • 一个PG里包含一堆对象;一个对象只能属于一个PG;
  • PG有主从之分,一个PG分布在不同的OSD上(针对三副本类型)

技术分享

在ceph中:pool、PG、OSD的关系