On 27/04/26 17:42, Iztok Gregori via ceph-users wrote:
I assume that 'target_max_misplaced_ratio' is a key parameter to avoid large data movement in a given time, there is more to look into?
Yes. Setting that lower than default can help avoid certain intermediate states that can result in a fairly-full cluster's OSDs going nearfull/backfillfull.
The documentation say about 'target_max_misplaced_ratio' "...the balancer will incrementally move a small fraction of unbalanced PGs in order to improve distribution. This fraction will not exceed a certain threshold that defaults to 5%...". does it mean that off all the PGs that has to be moved out/in of the node(s), maximum 5% will be moved at the same time?
It seems that in my case (Ceph Quincy) 'target_max_misplaced_ratio' is looking for misplaced objects, not PGs (as I thought). I activated the balancer on a unbalanced cluster, set the ratio to 0.005000 (0.5%) and watch the bytes fly. I was expecting that maximum 0.5% of PGs (~70 PGs) will be in backfilling, but the number almost doubled (~130 PGs, > 1% of PGs) until the balancer status said: "Too many objects (0.005030 > 0.005000) are misplaced; try again later" I re-checked the latest documentation and the PGs are explicitly mention when talking about the ratio: "...The maximum percentage of PGs to remap (move) in a single phase defaults to 5%..." https://docs.ceph.com/en/latest/rados/operations/balancer/#throttling Is this the default on newer version of Ceph (I'm running Quincy in a upgrade path to Squid) or the documentation is not correct? Thanks Iztok Gregori