在ceph 集群中建立一个新的pool后,出现”1 pool(s) have non-power-of-two pg_num”。
通过命令建立了一个名为 first_pool 的存储池后,执行 ceph -s 命令可以看到如下的警告:
bash
health: HEALTH_WARN
1 pool(s) have non-power-of-two pg_num
1 2 3 4 5 6 7
| **原因是: 建立 pool 时,指定的 pg_num 不是 2 的幂会触发这个告警**
通过命令
```bash ceph osd pool ls detail | grep first_pool
|
可以观察到 first_pool 的 pg_num 是 10。因此会报上述的警告。 使用 set 命令改变 pg_num 的值
1
| ceph osd pool set first_pool pg_num 32
|
pgp_num 通常设置为与pg_num 相同。
1
| ceph osd pool set first_pool pgp_num 32
|
命令执行后会有一个准备调整的过程,需要一些时间
再查看集群的状态,转为正常
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| cluster: id: 6c0d548f-5da2-46a5-b289-f1cd16a31aa2 health: HEALTH_OK
services: mon: 1 daemons, quorum ceph-01 (age 20m) mgr: ceph-01(active, since 20m) osd: 3 osds: 3 up (since 20m), 3 in (since 15h)
data: pools: 1 pools, 128 pgs objects: 0 objects, 0 B usage: 3.0 GiB used, 27 GiB / 30 GiB avail pgs: 128 active+clean
|