'Resize' Placement Groups of Ceph OSD Pools.

Script follows

Although the Placement Group sizes can be specified during the OSP deployment using CephPools parameter in TripleO, Just in-case if you have to alter the sizes after the deployment. Please note that this was performed on a fresh install, so no data in those pools.

#Format is pool-name:pgs-size
pools="rbd:128 metrics:32 images:32 backups:16 volumes:64 vms:64"

for pool in $pools ; do 
 pgc="${pool/*:/}"
 pname="${pool/:*/}"
 echo -e "Changing size of ${pname} to ${pgc}"
 ceph osd pool create new-${pname} ${pgc}
 rados cppool ${pname} new-${pname}
 ceph osd pool delete ${pname} ${pname} --yes-i-really-really-mean-it
 ceph osd pool rename new-${pname} ${pname}
done

links

social