-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unsuccessful_pools prevents rebalancing when new nodes added. #18
Comments
to quote the code comment: # we tried all osds to place this pg,
# so the shardsize is just too big
# if pg_size_choice is auto, we try to avoid this PG anyway,
# but if we still end up here, it means the choices for moves are really
# becoming tight.
unsuccessful_pools.add(pg_pool) so we assume that the shardsize is the problem and we couldn't place the pg because of that. i wonder in this scenario why disabling that check allows finding a destination for another pg of the same pool :) please update to the latest git version and try again. if it fails, can you send me another state file so i can try to reproduce locally? |
Still interested in an analysis? If so, please send a state dump :) |
I'll close this for now - please notify me if you have another shot to reproduce with a state file. |
Added two new storage nodes to a cluster that was completely balanced by placementoptimizer.py
Performed upmap_ramapped.py to set all pgs to active+clean
https://github.com/HeinleinSupport/cern-ceph-scripts/blob/master/tools/upmap/upmap-remapped.py
Expected subsequent runs of placementoptimizer.py to shift data to the new nodes.
Instead: Entire pool is blacklisted and no further optimisations can be found.
Disabling this code fixes the issue:
ceph-balancer/placementoptimizer.py
Line 2041 in d0cd6a8
I'm wondering what is the purpose of unsuccessful_pools?
The text was updated successfully, but these errors were encountered: