Which questions do you have? When I first started to deal with crush rules I was overwhelmed, but with a bit of practice and trial & error you're going to figure it out. Maybe this helps a bit (inline comments): id 6 -> self explanatory type erasure -> self explanatory step set_chooseleaf_tries 5 -> stick to defaults, usually works (number of max attempts to find suitable OSDs) step set_choose_tries 100 -> stick to defaults, usually works (number of max attempts to find suitable buckets, e.g. hosts) step take default class test -> "default" is the usual default crush root (check 'ceph osd tree'), you can specify other roots if you have them step chooseleaf indep 0 type host -> within bucket "root" (from "step take default") choose {pool-num-replicas} hosts step emit -> execute There are more details in [0]. @Marc: I guess one could argue about that. On the one hand, those three device classes you mention are discovered automatically when OSDs are added (depending on controllers, etc.), so an operator doesn't have to deal with it. Just create rules using those classes. On the other hand, some users like to have full control over everything and don't need that kind of automatic discovery. [0] https://docs.ceph.com/en/latest/rados/operations/crush-map-edits/#crush-map-... Zitat von Andre Tann <atann@alphasrv.net>:
Hi yall,
Am 29.11.24 um 08:51 schrieb Eugen Block:
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 }
Does anyone know a good and comprehensive discussion about all the options for a crush rule, and what they do.
Of course I know the original documentation, but I find that too short, and leaves me with many questions.
Thanks for any hints.
-- Andre Tann _______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io