Am 01.03.2018 um 09:58 schrieb Dan van der Ster: > On Thu, Mar 1, 2018 at 9:52 AM, Stefan Priebe - Profihost AG > <s.priebe@xxxxxxxxxxxx> wrote: >> Hi, >> >> Am 01.03.2018 um 09:42 schrieb Dan van der Ster: >>> On Thu, Mar 1, 2018 at 9:31 AM, Stefan Priebe - Profihost AG >>> <s.priebe@xxxxxxxxxxxx> wrote: >>>> Hi, >>>> Am 01.03.2018 um 09:03 schrieb Dan van der Ster: >>>>> Is the score improving? >>>>> >>>>> ceph balancer eval >>>>> >>>>> It should be decreasing over time as the variances drop toward zero. >>>>> >>>>> You mentioned a crush optimize code at the beginning... how did that >>>>> leave your cluster? The mgr balancer assumes that the crush weight of >>>>> each OSD is equal to its size in TB. >>>>> Do you have any osd reweights? crush-compat will gradually adjust >>>>> those back to 1.0. >>>> >>>> I reweighted them all back to their correct weight. >>>> >>>> Now the mgr balancer module says: >>>> mgr[balancer] Failed to find further optimization, score 0.010646 >>>> >>>> But as you can see it's heavily imbalanced: >>>> >>>> >>>> Example: >>>> 49 ssd 0.84000 1.00000 864G 546G 317G 63.26 1.13 49 >>>> >>>> vs: >>>> >>>> 48 ssd 0.84000 1.00000 864G 397G 467G 45.96 0.82 49 >>>> >>>> 45% usage vs. 63% >>> >>> Ahh... but look, the num PGs are perfectly balanced, which implies >>> that you have a relatively large number of empty PGs. >>> >>> But regardless, this is annoying and I expect lots of operators to get >>> this result. (I've also observed that the num PGs is gets balanced >>> perfectly at the expense of the other score metrics.) >>> >>> I was thinking of a patch around here [1] that lets operators add a >>> score weight on pgs, objects, bytes so we can balance how we like. >>> >>> Spandan: you were the last to look at this function. Do you think it >>> can be improved as I suggested? >> >> Yes the PGs are perfectly distributed - but i think most of the people >> would like to have a dsitribution by bytes and not pgs. >> >> Is this possible? I mean in the code there is already a dict for pgs, >> objects and bytes - but i don't know how to change the logic. Just >> remove the pgs and objects from the dict? > > It's worth a try to remove the pgs and objects from this dict: > https://github.com/ceph/ceph/blob/luminous/src/pybind/mgr/balancer/module.py#L552 Do i have to change this 3 to 1 cause we have only one item in the dict? I'm not sure where the 3 comes from. pe.score /= 3 * len(roots) > You can update that directly in the python code on your mgr's. Turn > the ceph balancer off then failover to the next mgr so it reloads the > module. Then: > > ceph balancer eval > ceph balancer optimize myplan > ceph balancer eval myplan > > Does it move in the right direction? > > -- dan > _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com