Ceph 是一个开源的分布式存储系统,通过 Ceph,用户可以有效地管理大规模的存储集群,并提供可靠、高性能的数据存储服务。一个关键的概念是 PG(Placement Group),PG 是 Ceph 存储集群中的数据和元数据的最小单元,在数据分布、数据恢复和数据再均衡时扮演着重要的角色。 对于Ceph 中的 PG,一个重要的参数是 pg_num,...
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 设置...
ceph osd poolset{pool-name}pg_num{pg_num} 你增加归置组数量后、还必须增加用于归置的归置组( pgp_num )数量,这样才会开始重均衡。 pgp_num 数值才是 CRUSH 算法采用的用于归置的归置组数量。虽然 pg_num 的增加引起了归置组的分割,但是只有当用于归置的归置组(即 pgp_num )增加以后,数据才会被迁移到新...
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...
ceph创建pool时pg_num的配置 pg_num# 用此命令创建存储池时: 代码语言:javascript 复制 ceph osd pool create{pool-name}pg_num 确定pg_num取值是强制性的,因为不能自动计算。常用的较为通用的取值: 少于5个osd,pg_num设置为128 osd数量在 5 到 10 个时,pg_num设置为512...
Ceph是一个流行的开源分布式存储系统,用于管理大规模的存储资源。在Ceph中,存储空间被划分为许多小的存储单元,称为PG(Placement Group)。PG的数量对Ceph集群的性能和稳定性有着重要的影响。 要查看Ceph集群中每个pool的PG数量,可以使用命令“ceph osd pool getpg_num”。这个命令将返回指定pool的PG数量信息,帮助用户...
Cephpg_num计算 Cephpg_num计算 1. ⽤ceph官⽹提供的pg计算器计算 可直接使⽤计算pg_num,填⼊相关参数即可得出推荐的pg_num,如下图:2. ⽤公式计算 pg_num计算值为:注意:最终pg_num的计算结果取接近计算值的2次幂,以提⾼CRUSH算法效率。例如:计算值为200时,取256作为结果。pgp_num的值应...
由于ceph 17 ceph-adm的池和集群自动平衡有问题,导致pg_num 和 pgp_num未自动调整。所以需要手动调整, 未调整之前pg_num 和 pgp_num 都为1,一个pool 只有一个pg,导致该pool只映射(hash)到两个osd,导致所有磁盘的读写都集中到了两个osd上,随着并发虚拟机的读写请求变多,性能触发瓶颈。 原本一个30s能建好...
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...
根据我们的规则确定副本数和故障隔离区类型获得了num&busket-type,可以启动计算了。在计算的过程当中还要调用CRUSH算法,而CRUSH算法就需要PG_ID、Buckets Tree等这些数据结构实例以及相应参数num的输入,才可以最终得到相应数目的Buckets。 (3)Which:如何寻找到具体的OSD?既然Bucket都定了,那么我们只需要在How的循环过程中...