Ceph pg_num计算 1. 用ceph官网提供的pg计算器计算 可直接使用Ceph官网pg计算器计算pg_num,填入相关参数即可得出推荐的pg_num,如下图: 2. 用公式计算 pg_num计算值为: 注意: 最终pg_num的计算结果取接近计算值的2次幂,以提高CRUSH算法效率。例如:计算值为200时,取256作为结果。pgp_num的值应设置为与pg_nu...
通常来说,我们可以通过以下公式来计算: PG数目 = (OSD数目 * 100) / pg_num 其中,pg_num为Pool的pg_num参数,OSD数目则为Ceph集群中的OSD的数量。根据这个公式,我们可以大致估算出需要设置的PG的数量,以达到满足性能和负载平衡的目的。 需要说明的是,Ceph中的PG数量并非固定不变的,可以通过修改Pool的pg_num参...
}, 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/LJP...
OSD 数量在 10 到 50 个时,可把 pg_num 设置为 4096 OSD 数量大于 50 时,你得理解权衡方法、以及如何自己计算 pg_num 取值 自己计算 pg_num 取值时可借助pgcalc工具 pool的容量规划也要考虑,例如对象存储default.rgw.buckets.data要分配多一点的PGs。 所以更准确的计算公式是: ( Target PGs per OSD ) ...
(1)预设Ceph集群中的PG数至关重要,公式如下: PG 总数 = (OSD 数 100) / 最大副本数 (2) 集群中单个池的PG数计算公式如下 PG 总数 = (OSD 数 100) / 最大副本数 / 池数 @Lucien168: pg数量,一般都是按照pool的容量进行规划设置的。官方也有相关计算器,一般推进一个osd 大概100个osd左右进行评估设置...
(3)使用上述公式,根据OSD数量、复制size、pool的数量,计算出新的PG数量,假设是256. (4)变更rbd的pg_num和pgp_num为256: $ ceph osd poolset rbd pg_num256 $ ceph osd poolset rbd pgp_num256 (5)如果有其他pool,同步调整它们的pg_num和pgp_num,以使负载更加均衡。
PG数量的预估 集群中单个池的PG数计算公式如下:PG 总数 = (OSD 数 * 100) / 最大副本数 / 池数 (结果必须舍入到最接近2的N次幂的值) #ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-ruleset-name] $ ceph osd pool create test_pool 512 512 replicated pool '...
一个Ceph集群中,PG的数量不能随便的设定。而应该合理的设定。通常如果一个集群有个超过50个OSD,建议每个OSD大约有50到100到PG。如果有更大规模的集群,建议每个OSD大约100到200个PG。 总PG的数量基本计算公式为: (总OSD数每个OSD计划PG数)/副本数 => 总PG数 因为总PG数推荐为2的N次幂,计算出来的结果不一...
file———> object———-—> pool中划分出来的image(一堆pg)———---> osd daemon 1)一开始在 PG 被创建的时候,MON 根据 CRUSH 算法计算出 PG 所在的 OSD。这是它们之间的初始关系。 2)Ceph 集群中 OSD 的状态是不断变化的,它会在如下状态之间做切换: up:守护进程运行中,能够提供IO服务; down...