对ceph来说,管理PG比直接管理每个对象要简单得多。每个PG需要消耗一定的系统资源包括CPU、内存等。集群的PG数量应该被精确计算得出。通常来说,增加PG的数量可以减少OSD的负载,但是这个增加应该有计划进行。一个推荐配置是每OSD对应50-100个PG。如果数据规模增大,在集群扩容的同时PG数量也需要调整。CRUSH会管理PG的重新...
【ceph运维】调整ceph的pg数(pg_num, pgp_num) 目录 参考资料 正文 回到顶部 参考资料 1. 调整ceph的pg数(pg_num, pgp_num)
PGP是为了管理placement而存在的专门的PG,它和PG的数量应该保持一致。如果你增加pool的pg_num,就需要同时增加pgp_num,保持它们大小一致,这样集群才能正常rebalancing。下面介绍如何修改pg_num和pgp_num。 (1)检查rbd这个pool里已存在的PG和PGP数量: $ ceph osd pool get rbd pg_num pg_num: 128 $ ceph osd po...
2)PG(Placement Group 归置组) PG 是一个虚拟的概念而已,物理上不真实存在。 它在数据寻址时类似于数据库中的索引:Ceph 先将每个对象数据通过HASH算法固定映射到一个 PG 中,然后将 PG 通过 CRUSH 算法映射到 OSD。 3)Pool Pool 是存储对象的逻辑分区,它起到 namespace 的作用。 每个Pool 包含一定数量(可配...
随后调整pg_num=2,pgp_num=1不变,这时候会发现新增了一个放置组,而且这个放置组内分割了原有放置组内的一部分对象,也就是说两个放置组共同存储了100个对象。然而观察放置组的分布,发现这两个放置组对象的OSD编号仍然是1、3、8,也就是说增加放置组的数量不改变原有的OSD映射关系。而调整pgp_num=2(即增加...
ceph config set osd osd_min_pg_log_entries 500 ceph config set osd osd_max_pg_log_entries 500 这个问题主要是因为两个因素,一个是pg 较多, 另一个是pg log条目较多。 按照公式计算最合适的pgp,然后缩小pglog 参考恢复方式:https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/LJPJZPB...
pg_num(pg的数量):pg_num增加时,会导致原来各PG中的对象均匀的分布到新建PG中,但是原PG的实际物理存储位置不会发生变化,只是会影响这些PG所在的同一个Pool池中的object分布 pgp_num(pgp的数量):pgp_num增加时,因为PG是存在于PGP中,所以会导致PG的分布方式发生变化,但是PG内的对象并不会变动,只是会导致一些PG...
Cephpg_num计算 1. ⽤ceph官⽹提供的pg计算器计算 可直接使⽤计算pg_num,填⼊相关参数即可得出推荐的pg_num,如下图:2. ⽤公式计算 pg_num计算值为:注意:最终pg_num的计算结果取接近计算值的2次幂,以提⾼CRUSH算法效率。例如:计算值为200时,取256作为结果。pgp_num的值应设置为与pg_num...
ceph osd poolset$pool_name pg_num $pg_numberceph osd poolset$pool_name pgp_num $pg_number 1. 2. 注意:我们必须依次更改每个池中的PG数量,直到“n-number of pgs degraded”和“Degraded data redundancy”告警消失。 您可以使用ceph health detail和ceph -s命令检查一切是否顺利。
Ceph存储池pg_num配置详解 Ceph存储池pg_num配置详解 PG_NUM ⽤此命令创建存储池时:ceph osd pool create {pool-name} pg_num 确定 pg_num 取值是强制性的,因为不能⾃动计算。下⾯是⼏个常⽤的值:少于 5 个 OSD 时可把 pg_num 设置为 128;OSD 数量在 5 到 10 个时,可把 pg_num 设置...