Я хотел бы знать разницу между этими двумя правилами:
# rules
rule rack_rule{
ruleset 0
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type rack
step emit
}
а также
rule 2rack_2host{
ruleset 0
type replicated
min_size 1
max_size 10
step take default
step choose firstn 2 type rack
step chooseleaf firstn 2 type host
step emit
}
В моем понимании, первое правило race_rule будет принимать стойку как домен отказа, в результате в каждой PG у нас будут osds из разных стоек. Так, например, если у меня есть 2 стойки и размер репликации = 2, у меня будет PG [osd.1,osd.2], и эти 2 osd должны быть из разных стоек.
Во втором правиле, я думаю, должно быть выбрано 2 разных стойки и для каждой стойки будет выбрано 2 разных хоста. Итак, также, если у меня есть 2 стойки и размер репликации = 2, у меня будет PG [osd.1,osd.2], и эти 2 osd должны быть из разных стоек.
Это теоретически то, что я понял, но на практике я не вижу этих ожидаемых результатов. С этими двумя правилами у меня есть osds в одной стойке для PG внутри пула с размером репликации 2