Ceph PG和PGP分解

PG

  • PG是ceph对象到OSD的中间桥梁,实现大容量集群的关键效率技术

PG分裂

  • ceph最大的特点是能实现OSD负载均衡,如果新增OSD就会导致之前的PG映射就要被负载一部分到新的PG上(前提是新增了PG数量)

PGP

  • PGP其实是PG的复制,原因在于PG分裂会导致之前的PG映射OSD关系变化,导致新增OSD后导致大量数据迁移,而复制PG给PGP在后续分裂中尽量让之前的PG还是对应之前的OSD上,避免数据的迁移

为什么需要合理规划PG数量,OSD增加一般也需要增加PG数量

  1. 数据表明磁盘的使用率在70%左右是I/O平发和响应延时最佳状态
  2. PG数是决定了OSD的并发处理对象的能力
  3. PG需要占用大量的CPU和内存资源

为了使磁盘发挥最大的效能,就需要对PG数进行合理计算

  • 集群PG数:代表的是整个PG数量(只是记录作用)
  • 存储池PG数:基于集群PG数分配 (创建存储池指定)
  • PG数是2的次方整数

计算PG公式(二种方案),以下纯属自己的理解

方案一,基于平均存储池

  • 集群PG=(OSD*100)/最大副本数 (所有存储池加起来不要超过)
  • 存储池PG=(PG=(OSD*100)/最大副本数)/存储池数
    • 100是整数倍数,代表的是未来OSD可能增加的倍数,比如未来可能增加一倍就是200

这个方案提供的是平均存储池的方案,也就是存储池没有大小固定限制,那么如果需求是存储池是安装大小分配的,合理的PG就需要根据容量的百分比进行计算

方案二,基于不平均存储池

在这里插入图片描述

- List item

官网提供计算器:https://old.ceph.com/pgcalc/

操作

ceph -s | grep pg
#查看集群的PG总数

在这里插入图片描述

ceph --show-config  | grep pg
#mon_max_pg_per_osd = 250 查看默认最大的PG数
#超过系统会提示不给创建存储池,可以在ceph.conf中配置

14.2.18无法通过–show-config 查看,ceph-mon --show-config | grep pg

ceph osd pool get volumes pg_num
#查看存储池volumes的PG数
ceph osd pool get volumes pgp_num
#查看存储池volumes的PGP数

在这里插入图片描述

ceph osd dump |grep pool | awk '{print $1,$3,$4,$5":"$6,$13":"$14}'
#查看所有存储池的副本数和PG数
#128+64+8+8+8+8+8+8+8=248

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值