【ceph相关】pg相关总结

1、存储池pg数计算方法

参考官方文档说明:Ceph PGs per Pool Calculator

计算公式如下:

                    (Target PGs per OSD)x(OSD#)x(%Data)
Suggest PG Count = ---------------------------------------------
                                        (Size)
  • 参数说明
参数说明备注
Suggest PG Count 存储池建议PG数  
Target PGs per OSD 每个OSD的pg数 1、如果未来集群的OSD数量基本不再增长,Target PGs per OSD=100
2、如果未来集群的OSD数量可能增长到目前规模的2倍以内,Target PGs per OSD=200
3、如果未来集群的OSD数量可能增长到大于目前规模的2倍且小于3倍,Target PGs per OSD=300
OSD# 存储池包含osd个数 默认情况下为集群所有osd的个数,可根据对应crush rule所包含的osd个数进行计算
%Data 存储池写入数据占总OSD容量百分比 集群所有存储池%Data值之和为100%
Size 存储池冗余数 1、如果存储池为副本池,则此处为副本数
2、如果存储池为纠删池,则此处为k+m
  • 相关说明
    • 存储池pg数建议取最接近2次幂的数值,这可以小幅提高crush算法效率。如果最接近2次幂的数值比原计算值小于25%,则使用2的下一个更大的次幂
    • 存储池pg数计算是为了整个集群有足够的pg来均匀存放数据,同时避免单一osd的pg数过高,影响recovery和backfill操作
  • 参考示例

原文地址:https://www.cnblogs.com/luxf0/p/15736770.html