3月 072018
 

现象:

 

分析:

  1. 哪个pool的问题?
  2. 原因: 某个pool中单个pg的对象数量超过了集群每pg对象数量平均值的10倍; 并不意味着肯定是有问题的
  3. 重现方法:只要你的集群中至少有一个pg是较多使用的,那么你再多创建几个pool,pg设置的大一些,这个报警就可以出现

解决办法:

  1. 删掉没用的pool,或者:
  2. 调整参数:
    1. 如下: (需要重启)
  3. 调整报警的pool的pg数量

 

思考:

  1. 既然pg中对象太多就会报警,那么,创建pool时就指定一个较大的pg值(如: 1024)不就可以了? 这样也不行,pg数量太大,理论上会影响性能,而且,单个osd上pg数量太多(超过mon_pg_warn_max_per_osd) 也会报警: http://blog.csdn.net/styshoo/article/details/62722679 查看每个osd上pg数量的方法:

    然而,我的osd上的pg数量也超过了300的设置值了,没有报警呢
  2. 具体需要调整的选项需要参考对应版本的文档或代码,如,12.2.1 的release notes 中就有这样的说明:
    The maximum number of PGs per OSD before the monitor issues a warning has been reduced from 300 to 200 PGs. 200 is still twice the generally recommended target of 100 PGs per OSD. This limit can be adjusted via the mon_max_pg_per_osd option on the monitors. The older mon_pg_warn_max_per_osd option has been removed.

 

参考:

 Posted by at 上午 10:09

Sorry, the comment form is closed at this time.