Placement group splitting and merging
IBM Storage Ceph can split existing placement groups (PGs) into smaller PGs, which increases the total number of PGs for a given pool. IBM Storage Ceph can also merge two existing PGs into a larger PG, which decreases the total number of PGs.
Splitting
Splitting existing placement groups (PGs) allows a small IBM Storage Ceph cluster to scale over time as storage requirements
increase. The PG auto-scaling feature can increase the pg_num value, which causes
the existing PGs to split as the storage cluster expands. If the PG auto-scaling feature is
disabled, then you can manually increase the pg_num value, which triggers the PG
split process to begin. For example, increasing the pg_num value from
4 to 16, will split into four pieces. Increasing the
pg_num value will also increase the pgp_num value, but the
pgp_num value increases at a gradual rate. This gradual increase is done to
minimize the impact to a storage cluster’s performance and to a client’s workload, because migrating
object data adds a significant load to the system. By default, Ceph queues and moves no more than 5%
of the object data that is in a "misplaced" state. This default percentage can be adjusted with the
target_max_misplaced_ratio option.
Merging
Merging two PGs together can be useful, especially when the relative amount of objects in a pool
decreases over time, or when the initial number of PGs chosen was too large. While merging PGs can
be useful, it is also a complex and delicate process. When doing a merge, pausing I/O to the PG
occurs, and only one PG is merged at a time to minimize the impact to a storage cluster’s
performance. Ceph works slowly on merging the object data until the new pg_num
value is reached.