You could decompile the crushmap, add a dummy OSD (with a non-existing ID) with your new device class and add a rule, then compile it and inject. Here's an excerpt from a lab cluster with 4 OSDs (0..3), adding a fifth non-existing:

device 4 osd.4 class test

rule testrule {
        id 6
        type erasure
        step set_chooseleaf_tries 5
        step set_choose_tries 100
        step take default class test
        step chooseleaf indep 0 type host
        step emit
}

Note that testing this rule with crushtool won't work here since the fake OSD isn't assigned to a hosts.

But what's the point in having a rule without the corresponding devices? You won't be able to create a pool with that rule anyway until the OSDs are present.

Zitat von Marc <m...@f1-outsourcing.eu>:

It looks like it is not possible to create crush rules when you don't have harddrives active in this class.

I am testing with new squid and did not add ssd's yet, eventhough I added class like this.

ceph osd crush class create ssd

I can't execute this
ceph osd crush rule create-replicated replicated_ssd default host ssd

Is there any way around this?



_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to