On Mon, May 16, 2016 at 10:40:47PM +0200, Wido den Hollander wrote: > > Op 16 mei 2016 om 7:56 schreef Chris Dunlop <chris@xxxxxxxxxxxx>: > > Why do we have both pg_num and pgp_num? Given the docs say "The pgp_num > > should be equal to the pg_num": under what circumstances might you want > > these different, apart from when actively increasing pg_num first then > > increasing pgp_num to match? (If they're supposed to be always the same, why > > not have a single parameter and do the "increase pg_num, then pgp_num" > > within ceph's internals?) > > pg_num is the actual amount of PGs. This you can increase without any actual data moving. > > pgp_num is the number CRUSH uses in the calculations. pgp_num can't be greater than pg_num for that reason. OK, I understand that from the docs. But why are they two separate parameters? E.g., why might you increase pg_num and not pgp_num? Or are the two parameters purely to separate splitting the PGs (pg_num) from moving data around (pgp_num)? > You can slowly increase pgp_num to make sure not all your data moves at the same time. Why slowly increase pgp_num rather than rely on "osd max backfills"? I.e. what downsides are there to setting "osd max backfills" as appropriate, increasing pg_num in small steps to the target, then increasing pgp_num to the target in one step? If you're slowly increasing pgp_num, is the recommendation to "increase pg_num a bit, increase pgp_num a bit, repeat till target is reached" (and thus potentially moving some data multiple times), or is the recommendation to "increase pg_num a bit step by step to the target, then increase pgp_num bit by bit to the target"? _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com