ceph pgp_num 未能更新的问题

由于ceph 17 ceph-adm的池和集群自动平衡有问题,导致pg_num 和 pgp_num未自动调整。所以需要手动调整,
未调整之前pg_num 和 pgp_num 都为1,一个pool 只有一个pg,导致该pool只映射(hash)到两个osd,导致所有磁盘的读写都集中到了两个osd上,随着并发虚拟机的读写请求变多,性能触发瓶颈。 原本一个30s能建好的虚拟机,10分钟才较好。

这种方式只能先手动调大pg_num和pgp_num 比如pgp_num 增大到64. 但是由于先执行另一个osd reweight的操作,触发了数据迁移,导致pgp_num 未能立刻更新。

解决方式:

image.png

参考: https://www.mail-archive.com/ceph-users@ceph.io/msg06755.html

临时解决方式:


image.png

但是新旧版本的ceph 配置方式有变化,这个是比较老的配置方式

pgp_num的扩充方式:

image.png

这个指标一旦小于5%就会扩充4个pgp_num出来,实际上这个是整个集群的pgp_num上限也在增加,当有多个池不一致的时候,
多个池都会平均分配可以扩充的pgp_num。 所以这个扩容pgp_num的操作,最好一个池一个池的进行,这样可以优先恢复一个池的性能。其他池不操作,性能会保持不变。而且pgp_num扩充的时候,设计osd再平衡,会有数据迁移,性能肯定会更差一些。

image.png
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容