在ceph中:pool、PG、OSD的关系 Pool是存储对象的逻辑分区,它规定了数据冗余的类型和对应的副本分布策略;支持两种类型:副本(replicated)和 纠删码( Erasure Code);目前我们公司内部使用的Pool都是副本类型(3副本); PG( placement group)是一个放置策略组,它是对象的集合,该集合里的所有对象都具有相同的放置策略;简...
总PG的数量基本计算公式为: (总OSD数每个OSD计划PG数)/副本数 => 总PG数 因为总PG数推荐为2的N次幂,计算出来的结果不一定为2的N次幂,需要取比计算结果小的,最近的一个数,并且这个数为2的N次幂。因为2的N次幂计算结果最快,这样可以减少CPU内存的消耗。 说明:总的PG数=所有Pool中定义的PG数的总和 假设...
PG temp:Peering过程中,如果当前interval通过CRUSH计算得到的Up Set不合理,那么可以通知OSD Monitor设置PG temp来显示的指定一些仍然具有相对完备PG信息的OSD加入Acting set,在Ceph 正在往主 OSD 回填数据时,这个主OSD是不能提供数据服务的,使得Acting set中的OSD在完成Peering之后能够临时处理客户端发起的读写请求,以尽...
pool 3 'mytest' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 58 flags hashpspool stripe_width 0 毫无疑问ceph osd dump输出的信息最详尽,包括pool ID、副本数量、CRUSH规则集、PG和PGP数量等。 可以调整刚创建的pool的副本数量: root@ceph00...
每个Pool由多个PG组成,每个PG负责一部分数据的管理和存储。 目的: PG的作用是将数据均匀分布到集群中的OSD上,以实现负载均衡和提高性能。 PG的数量影响数据的分布和性能,通常建议根据集群规模和工作负载来调整PG的数量。 配置参数: 数量:pg_num表示一个Pool中的PG数量。
ceph osd pool create data_pool1024 创建完后,假设"data_pool"的id为2,每个PG分别叫做2.0,2.1,..., 2.3ff。PG 在 Pool 被创建后, MON 根据 CRUSH 算法就已经计算出来的 PG 应该所在若干的 OSD 。也就是说,在客户端写入对象的时候,PG 和 OSD 的映射关系已经是算出来了。可以通过以下命令来查看具体的...
快照:用ceph osd pool mksnap创建快照的时候,实际上创建了某一特定存储池的快照。 设置所有者:你可以设置一个用户 ID 为一个存储池的所有者。 1. 创建 pool # ceph osd pool create <poolname> <pg-num> 2. pool 列表 # ceph osd lspools
PG 的 acting set 是由 CRUSH 算法根据 CRUSH Rules 动态地计算得出的。 其主要特点如下: 基本特点 PG 确定了 pool 中的对象和 OSD 之间的映射关系。一个 object 只会存在于一个 PG 中,但是多个 object 可以在同一个 PG 内。 Pool 的 PG 数目是创建 pool 时候指定的,Ceph 官方有推荐的计算方法。其值与...
ceph osd pool create pool_name 1024 三、ceph pg命令 1.ceph pg dump 打印所有 PG 的详细信息,包括 PG ID、状态、主副本位置、数据量等 # ceph pg dump dumped all version 33420 stamp 2024-08-16T09:56:59.472500+0800 last_osdmap_epoch 0 last_pg_scan 0 PG_STAT OBJECTS MISSING_ON_PRIMARY DEGR...
创建pool osd pool create <pool> [<pg_num:int>] [<pgp_num:int>] ceph osd pool create RDB_Test_pool2 32 32 查看pool pg pgp数量 osd pool get <pool> pg_num|pgp_num| ceph osd pool get RDB_Test_pool2 pg_num ceph osd pool get RDB_Test_pool2 pgp_num ...