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...
"osd_pglog": { "items": 461859, "bytes": 8445595868 }, 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://...
通常来说,我们可以通过以下公式来计算: PG数目 = (OSD数目 * 100) / pg_num 其中,pg_num为Pool的pg_num参数,OSD数目则为Ceph集群中的OSD的数量。根据这个公式,我们可以大致估算出需要设置的PG的数量,以达到满足性能和负载平衡的目的。 需要说明的是,Ceph中的PG数量并非固定不变的,可以通过修改Pool的pg_num参...
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左右进行评估设置...
~]$ ceph osd pool create<poolname><pgnum><pgpnum>[type] pool name:存储池名称,必须唯一。 pg num:存储池中的pg数量。 pgp num:用于归置的pg数量,默认与pg数量相等。 type:指定存储池的类型,有replicated和erasure, 默认为replicated。 创建一个副本池如下。
(1)由于pg不均衡或者weight权重不相等的,可以通过调节osd的pg数,或者 weight值进行初步腾出容量。 # 调节osd weight值 ceph osd reweight <osdname (id|osd.id)> <float[0.0-1.0]> # 调节pg数目 ceph osd pool set <poolname> pg_num|pgp_num <int> #int为最接近2的幂次方 ...
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 ...
3)通过对 OID 使用 HASH 算法得到一个16进制的特征码,用特征码与 Pool 中的 PG 总数取余,得到的序号则是 PGID 。 即Pool_ID + HASH(OID) % PG_NUM 得到 PGID 4)PG 会根据设置的副本数量进行复制,通过对 PGID 使用 CRUSH 算法算出 PG 中目标主和次 OSD 的 ID,存储到不同的 OSD 节点上(其实是...
pgp_num: 64 查看size大小,默认为三副本 [root@node-1 ~]# ceph osd pool get happylau size size: 3 关于pg_num和pgp_num的数量,官方推荐的计算方案为,每个OSD推荐使用100个PG,OSD的数量*100/pool副本数量,然后取最近2的^n次方的值,套公式,其值为:PGs=3*100/3=100,取最近的值为128,此时的设置低于...