[root@compute03 images]# ceph daemon osd.4 config show |grep "mon_max_pg_per_osd" "mon_max_pg_per_osd": "250", 4 ]# U4 a! `# b. b! c+ ^
这是因为集群 OSD 数量较少,测试过程中建立了多个存储池,每个存储池都要建立一些 PGs 。而目前 Ceph 配置的默认值是每 OSD 上最多有 300 个 PGs 。在测试环境中,为了快速解决这个问题,可以调大集群的关于此选项的告警阀值。方法如下: 在 monitor 节点的 ceph.conf 配置文件中添加: [global].......
! J' f, F) A* S+ }/ b6 Lmon_pg_warn_max_per_osd = 1000
3 K* L% G+ `0 b0 ` V" P+ I6 ?7 ^( Y% |- }% H. \; f4 f
+ M. X" q* v( W3 {! Y' d& t8 t7 y然后重启 monitor 进程。
% x U) u5 w* u2 E# E
或者直接用 tell 命令在运行时更改参数的值而不用重启服务: ceph tell mon.* injectargs '--mon_pg_warn_max_per_osd 1000'
' T; {( c( C, ^4 l5 {# Q0 q
+ ]/ f. \3 E6 l1 x3 S4 w* o' Z$ t9 W# q/ t, ~- K
而另一种情况, too few PGs per OSD (16 < min 20) 这样的告警信息则往往出现在集群刚刚建立起来,除了默认的 rbd 存储池,还没建立自己的存储池,再加上 OSD 个数较多,就会出现这个提示信息。这通常不是什么问题,也无需修改配置项,在建立了自己的存储池后,这个告警信息就会消失。
& G3 b5 n- g* U$ B0 A
, a. {8 X( e6 H S: J |