ceph学习之PG

PG的计算公式:

整个集群PG的计算公式

Total PGs = ((Total_number_of_OSD * 100) / max_replication_count) 

 

每个POOL中PG的计算公式:

Total PGs = (Total_number_of_OSD * 100) / max_replication_count / pool_count

 

 

结算的结果往上取靠近2的N次方的值。比如总共OSD数量是160,复制份数3,pool数量也是3,那么按上述公式计算出的结果是1777.7。取跟它接近的2的N次方是2048,那么每个pool分配的PG数量就是2048。

在更改pool的PG数量时,需同时更改PGP的数量。PGP是为了管理placement而存在的专门的PG,它和PG的数量应该保持一致。如果你增加pool的pg_num,就需要同时增加pgp_num,保持它们大小一致,这样集群才能正常rebalancing。下面介绍如何修改pg_num和pgp_num。

检查pool2里面pg的数目

[root@mon1 ~]# ceph osd pool get pool2 pg_num
pg_num: 128
[root@mon1 ~]# ceph osd pool get pool2 pgp_num
pgp_num: 128
[root@mon1 ~]#

 

 

 

 
 
posted @ 2017-05-19 16:41  netmouser  阅读(685)  评论(0编辑  收藏  举报