I currently have two roots in my crush map, one for HDD devices and one for SSD devices, and have had it that way since Jewel.
I am currently on Nautilus, and have had my crush device classes for my OSD's set since Luminous. > ID CLASS WEIGHT TYPE NAME > -13 105.37599 root ssd > -11 105.37599 rack ssd.rack2 > -14 17.61099 host ceph00 > 24 ssd 1.76099 osd.24 > -1 398.92554 root default > -10 397.07343 rack default.rack2 > -70 44.45032 chassis ceph05 > -67 44.45032 host ceph05 > 74 hdd 1.85210 osd.74 I have crush rulesets that distribute based on the roots for each device class. > [ > { > "rule_id": 0, > "rule_name": "replicated_ruleset", > "ruleset": 0, > "type": 1, > "min_size": 1, > "max_size": 10, > "steps": [ > { > "op": "take", > "item": -1, > "item_name": "default" > }, > { > "op": "chooseleaf_firstn", > "num": 0, > "type": "chassis" > }, > { > "op": "emit" > } > ] > }, > { > "rule_id": 1, > "rule_name": "ssd_ruleset", > "ruleset": 1, > "type": 1, > "min_size": 1, > "max_size": 10, > "steps": [ > { > "op": "take", > "item": -13, > "item_name": "ssd" > }, > { > "op": "chooseleaf_firstn", > "num": 0, > "type": "host" > }, > { > "op": "emit" > } > ] > }, > { > "rule_id": 2, > "rule_name": "hybrid_ruleset", > "ruleset": 2, > "type": 1, > "min_size": 1, > "max_size": 10, > "steps": [ > { > "op": "take", > "item": -13, > "item_name": "ssd" > }, > { > "op": "chooseleaf_firstn", > "num": 1, > "type": "host" > }, > { > "op": "emit" > }, > { > "op": "take", > "item": -1, > "item_name": "default" > }, > { > "op": "chooseleaf_firstn", > "num": -1, > "type": "chassis" > }, > { > "op": "emit" > } > ] > } If I wanted to migrate to rulesets based on device class with minimal disruption, what are my options? In my mind the way this would work would be to 1. Set the norebalance flag 2. Rework my crush rulesets to use takes based on class rather than root. 3. Merge my ssd hosts from the ssd root to the default root 4. Let things rebalance? Would prefer minimal data movement, as that would be potentially disruptive, and I imagine provide minimal gain for me, but possibly better data distribution? Maybe there are better steps to take? Appreciate any help. Reed
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-le...@ceph.io