Comment 9 for bug 1844164

Revision history for this message
Linjia Chang (linjiachang) wrote :

In this env, there are total 128 pgs and 6 osds, so the warning persist the entire time.

pg_num is set as following:
if data_pt and osds:
            # [(Target PGs per OSD) * (# OSD) * (% Data) ]/ Size
            target_pg_num_raw = ((osds * constants.CEPH_TARGET_PGS_PER_OSD * data_pt / 100) /
                                 replication)
            # find next highest power of 2 via shift bit length
            target_pg_num = 1 << (int(target_pg_num_raw) - 1).bit_length()

Where constants.CEPH_TARGET_PGS_PER_OSD = 200
and data_pt% could be 10%, 20%, 28%, 27%, 35%, 80% based on the pool type
so it's possible that when #OSD goes high, the number of groups for each osd goes below 30.

We should either 1. change how this is calculated or 2. add a cap at the end to see if it meets the minimum 30 each requirement.