ceph

82次阅读
没有评论

共计 1415 个字符,预计需要花费 4 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 ceph - s 集群报错 too many PGs per OSD 怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

背景

集群状态报错,如下:

# ceph -s
 cluster 1d64ac80-21be-430e-98a8-b4d8aeb18560
 health HEALTH_WARN --  报错的地方
 too many PGs per OSD (912   max 300)
 monmap e1: 1 mons at {node1=109.105.115.67:6789/0}
 election epoch 4, quorum 0 node1
 osdmap e49: 2 osds: 2 up, 2 in
 flags sortbitwise,require_jewel_osds
 pgmap v1256: 912 pgs, 23 pools, 4503 bytes data, 175 objects
 13636 MB used, 497 GB / 537 GB avail
 912 active+clean

分析

问题原因是集群 osd 数量较少,在我的测试过程中,由于搭建 rgw 网关、和 OpenStack 集成等,创建了大量的 pool,每个 pool 要占用一些 pg,ceph 集群默认每块磁盘都有默认值,好像每个 osd 为 300 个 pgs,不过这个默认值是可以调整的,但调整得过大或者过小都会对集群的性能产生一定影响。因为我们这个是测试环境,只要能消除掉报错即可。查询当前每个 osd 下最大的 pg 报警值:

$ ceph --show-config | grep mon_pg_warn_max_per_osd
mon_pg_warn_max_per_osd = 300

解决方案

在配置文件中,调大集群的此选项的告警阀值;方法如下,在 mon 节点的 ceph.conf(/etc/ceph/ceph.conf)配置文件中添加:

$ vi /etc/ceph/ceph.conf
[global]
.......
mon_pg_warn_max_per_osd = 1000

重启 monitor 服务:

$ systemctl restart ceph-mon.target

再次查看 ceph 集群状态。

$ ceph -s

cluster 1d64ac80-21be-430e-98a8-b4d8aeb18560
 health HEALTH_OK
 monmap e1: 1 mons at {node1=109.105.115.67:6789/0}
 election epoch 6, quorum 0 node1
 osdmap e49: 2 osds: 2 up, 2 in
 flags sortbitwise,require_jewel_osds
 pgmap v1273: 912 pgs, 23 pools, 4503 bytes data, 175 objects
 13636 MB used, 497 GB / 537 GB avail
 912 active+clean

以上是“ceph - s 集群报错 too many PGs per OSD 怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1415字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)