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 <Marc@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-leave@ceph.io