ceph PG和PGP调整经验

PG和PGP调整经验

调整前准备

  • 为了降低对业务的影响,需要调整以下参数
    • ceph tell osd.* injectargs ‘–osd-max-backfills 1’
    • ceph tell osd.* injectargs ‘–osd-recovery-max-active 1’
    • ceph tell osd.* injectargs ‘–osd-recovery-max-single-start 1’
  • 计算pool合理的pg和pgp数量:
    • 计算公式:(单个osd上pg数,一般为100) x (osd数量) x (该pool数据量百分比) / (副本数)。所得结果向上取2的整数倍。

    • 参考网站:https://ceph.com/pgcalc/

调整pg

ceph osd pool set ${pool_name} pg_num ${pg_num}

说明:

  • 调整pg时,原则上每次增加一倍
  • 执行上述命令后,本质是当前pg的分裂。
  • mon会首先更新自身的osd map中的pg数量,然后将osd map同步给osd。
  • osd根据新的pg数量进行计算,进行本地分裂(1个pg分裂成2个)
  • 分裂过程就是创建新目录,然后数据移动过去。
  • 分裂期间CPU和IO会打满,负载非常高,影响时间看数据量而定。网上说的一般是30s,我的数据量多,并且集群压力大。足足影响了8分钟。部分osd负载特别高,查看osd tree的时候直接down掉的,无法接受请求,随后恢复正常。
  • 本地分裂后,pg扩容结束,所以扩容pg很快。
  • pg数量大于pgp数量时,heath状态显示warning。需要扩充pgp数量。

调整pgp

ceph osd pool set ${pool_name} pgp_num ${pgp_num}

说明

  • 调整pgp数量会使pg在集群内重新分布
  • 该操作会影响一半的数据进行迁移,对集群影响非常大。所以上述设置的三个参数会限制当前正在迁移的pg数量,导致不会同时大规模数据一同迁移。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值