I have 3 osd on 3 different hosts: host1 host2 and host3. I'm trying to
force CRUSH to use osd on host1 as primary for one of my pools. I can't use
primary-affinity because i don't want to set this osd as primary for all my
pools. I try to create simple CRUSH rule, which should select osd on host1
first (as primary) and then get rest of acting set randomly:
rule primary_on_host_1 {
ruleset 1
type replicated
min_size 1
max_size 10
step take host1
step choose firstn 1 type osd
step emit
step take default
step chooseleaf firstn -1 type host
step emit
}
unfortunately when CRUSH uses this rule sometimes returns duplicated osd in
acting set like:
CRUSH rule 1 x 28 [0,0,2]
CRUSH rule 1 x 29 [0,2,0]
CRUSH rule 1 x 30 [0,0,1]
Is there any other way how can I force ceph to use one specific osd as
primary?
--
Szymon Zacher
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com