I suppose I may have found the solution I was unaware existed.

> balancer optimize <plan> {<pools> [<pools>...]} :  Run optimizer to create a 
> new plan

So apparently you can create a plan specific to a pool(s).
So just to double check this, I created two plans, plan1 with the hdd pool (and 
not the ssd pool); plan2 with no arguments.

I then ran ceph balancer show planN and also ceph osd crush weight-set dump.
Then compared the values in the weight-set dump against the values in the two 
plans, and concluded that plan1 did not adjust the values for ssd osd’s, which 
is exactly what I was looking for:

> ID  CLASS WEIGHT    TYPE NAME                        STATUS REWEIGHT PRI-AFF
> -14        17.61093         host ceph00
>  24   ssd   1.76109             osd.24                   up  1.00000 1.00000
>  25   ssd   1.76109             osd.25                   up  1.00000 1.00000
>  26   ssd   1.76109             osd.26                   up  1.00000 1.00000
>  27   ssd   1.76109             osd.27                   up  1.00000 1.00000
>  28   ssd   1.76109             osd.28                   up  1.00000 1.00000
>  29   ssd   1.76109             osd.29                   up  1.00000 1.00000
>  30   ssd   1.76109             osd.30                   up  1.00000 1.00000
>  31   ssd   1.76109             osd.31                   up  1.00000 1.00000
>  32   ssd   1.76109             osd.32                   up  1.00000 1.00000
>  33   ssd   1.76109             osd.33                   up  1.00000 1.00000


ceph osd crush weight-set dump
>        {
>             "bucket_id": -14,
>             "weight_set": [
>                 [
>                     1.756317,
>                     1.613647,
>                     1.733200,
>                     1.735825,
>                     1.961304,
>                     1.583069,
>                     1.963791,
>                     1.773041,
>                     1.890228,
>                     1.793457
>                 ]
>             ]
>         },


plan1 (no change)
> ceph osd crush weight-set reweight-compat 24 1.756317
> ceph osd crush weight-set reweight-compat 25 1.613647
> ceph osd crush weight-set reweight-compat 26 1.733200
> ceph osd crush weight-set reweight-compat 27 1.735825
> ceph osd crush weight-set reweight-compat 28 1.961304
> ceph osd crush weight-set reweight-compat 29 1.583069
> ceph osd crush weight-set reweight-compat 30 1.963791
> ceph osd crush weight-set reweight-compat 31 1.773041
> ceph osd crush weight-set reweight-compat 32 1.890228
> ceph osd crush weight-set reweight-compat 33 1.793457


plan2 (change)
> ceph osd crush weight-set reweight-compat 24 1.742185
> ceph osd crush weight-set reweight-compat 25 1.608330
> ceph osd crush weight-set reweight-compat 26 1.753393
> ceph osd crush weight-set reweight-compat 27 1.713531
> ceph osd crush weight-set reweight-compat 28 1.964446
> ceph osd crush weight-set reweight-compat 29 1.629001
> ceph osd crush weight-set reweight-compat 30 1.961968
> ceph osd crush weight-set reweight-compat 31 1.738253
> ceph osd crush weight-set reweight-compat 32 1.884098
> ceph osd crush weight-set reweight-compat 33 1.779180


Hopefully this will be helpful for someone else who overlooks this in the -h 
output.

Reed

> On Aug 1, 2018, at 6:05 PM, Reed Dier <[email protected]> wrote:
> 
> Hi Cephers,
> 
> I’m starting to play with the Ceph Balancer plugin after moving to straw2 and 
> running into something I’m surprised I haven’t seen posted here.
> 
> My cluster has two crush roots, one for HDD, one for SSD.
> 
> Right now, HDD’s are a single pool to themselves, SSD’s are a single pool to 
> themselves.
> 
> Using Ceph Balancer Eval, I can see the eval score for the hdd’s (worse), and 
> the ssd’s (better), and the blended score of the cluster overall.
> pool “hdd" score 0.012529 (lower is better)
> pool “ssd" score 0.004654 (lower is better)
> current cluster score 0.008484 (lower is better)
> 
> My problem is that I need to get my hdd’s better, and stop touching my ssd's, 
> because shuffling data wear’s the ssd's unnecessarily, and it has actually 
> gotten the distribution worse over time. https://imgur.com/RVh0jfH 
> <https://imgur.com/RVh0jfH>
> You can see that between 06:00 and 09:00 on the second day in the graph that 
> the spread was very tight, and then it expanded back.
> 
> So my question is, how can I run the balancer on just my hdd’s without 
> touching my ssd’s?
> 
> I removed about 15% of the PG’s living on the HDD’s because they were empty.
> I also have two tiers of HDD’s 8TB’s and 2TB’s, but they are roughly equally 
> weighted in crush at the chassis level where my failure domains are 
> configured.
> Hopefully this abbreviated ceph osd tree displays the hierarchy. Multipliers 
> for that bucket on right.
>> ID  CLASS WEIGHT    TYPE NAME
>>  -1       218.49353 root default.hdd
>> -10       218.49353     rack default.rack-hdd
>> -70        43.66553         chassis hdd-2tb-chassis1 *1
>> -67        43.66553             host hdd-2tb-24-1       *1
>>  74   hdd   1.81940                 osd.74              *24
>> -55        43.70700         chassis hdd-8tb-chassis1    *4
>>  -2        21.85350             host hdd-8tb-3-1
>>   0   hdd   7.28450                 osd.0               *3
>>  -3        21.85350             host hdd-8tb-3-1
>>   1   hdd   7.28450                 osd.1               *3
> 
> 
> I assume this doesn’t complicate totally, but figured I would mention it, as 
> I assume it is more difficult to equally distribute across OSD’s that are 4:1 
> size delta.
> 
> 
> If I create a plan plan1 with ceph balancer optimize plan1,
> then do a show plan1, I see an entry:
> ceph osd crush weight-set reweight-compat $OSD $ArbitraryNumberNearOsdSize
> 
> Could I then copy this output, remove entries for SSD OSD’s and then run the 
> ceph osd crush weight-set reweight-compat commands in a script?
> 
> I and my SSD’s appreciate any insight.
> 
> Thanks,
> 
> Reed

_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to