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
mgr/balancer: mgr module to automatically balance PGs across OSDs #16272
Commits on Sep 6, 2017
-
mgr/PyModules: add 'pg_status' dump
This is summary info, same as what's in 'ceph status'. Signed-off-by: Sage Weil <sage@redhat.com>
-
mgr/PyModules: add 'pg_dump' get
Signed-off-by: Sage Weil <sage@redhat.com>
-
mgr: add trivial OSDMap wrapper class
Signed-off-by: Sage Weil <sage@redhat.com>
-
pybind/mgr/mgr_module: add default arg to get_config
Signed-off-by: Sage Weil <sage@redhat.com>
-
pybind/mgr/balancer: add balancer module
- wake up every minute - back off when unknown, inactive, degraded - throttle against misplaced ratio - apply some optimization step - initially implement 'upmap' only Signed-off-by: Sage Weil <sage@redhat.com>
-
pybind/mgr/balancer: do upmap by pool, in random order
Signed-off-by: Sage Weil <sage@redhat.com>
-
crush/CrushWrapper: refactor get_rule_weight_osd_map to work with roo…
…ts too Allow us to specify a root node in the hierarchy instead of a rule. This way we can use it in conjunction with find_takes(). Signed-off-by: Sage Weil <sage@redhat.com>
-
crush/CrushWrapper: fix output arg for find_{takes,roots}()
Signed-off-by: Sage Weil <sage@redhat.com>
-
crush/CrushWrapper: rule_has_take
Signed-off-by: Sage Weil <sage@redhat.com>
-
mgr/PyOSDMap: get_crush, find_takes, get_take_weight_osd_map
These let us identify distinct CRUSH hierarchies that rules distribute data over, and create relative weight maps for the OSDs they map to. Signed-off-by: Sage Weil <sage@redhat.com>
-
mgr/PyOSDMap: OSDMap.map_pool_pgs_up, CRUSHMap.get_item_name
Signed-off-by: Sage Weil <sage@redhat.com>
-
pybind/mgr/balancer: rough framework
Signed-off-by: Sage Weil <sage@redhat.com>
-
pybind/mgr/balancer: make 'crush-compat' sort of work
Signed-off-by: Sage Weil <sage@redhat.com>
-
src/pybind/mgr/balancer/module.py: improve scoring method
* score lies in [0, 1), 0 being perfect distribution * use shifted and scaled cdf of normal distribution to prioritize highly over-weighted device. * consider only over-weighted devices to calculate score Signed-off-by: Spandan Kumar Sahu <spandankumarsahu@gmail.com>
-
pybind/mgr/balancer: make auto mode work
(with upmap at least) Signed-off-by: Sage Weil <sage@redhat.com>