告别Autojs!用VSCode+Autox.js插件搭建手机自动化脚本开发环境(附Scrcpy投屏调试)
2026/5/6 0:22:00
当集群系统变得复杂时,我们往往需要多种策略来存放不同类型的数据;例如,将热数据存放于SSD中,而将冷数据放在HDD中。CRUSH rule就是定义了一种选择策略,Ceph中每个逻辑池都必须对应一条合法的rule才能正常工作。还是以上面链接中的crushmap为例,分析一下rule的具体含义。
1rule replicated_ruleset{2ruleset03typereplicated4min_size15max_size106step take default7step chooseleaf firstn0typehost8step emit9}举例来说,副本池中每份副本保存的是完全相同的数据,因此选择结果为[0, 1, 2](数字代表OSD编号)与[0, 2, 1]并无大的不同。但是EC池不一样,在2+1的配比下前两份是数据块,最后一份是校验块,后两份rep位置一交换就会导致数据出错。
这个整数值指定需要选择的rep数目,可以是正值负值或0。
指定故障域类型;CRUSH确保同一故障域最多只会被选中一次。
step take default step choose firstn3typehost step choose firstn1typeosd step emit新增的一步会在上述基础上,再以每个选中的host为起点,在host下选择1个OSD。另一个更方便的方案是: