Force CRUSH to select specific osd as primary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ceph.com/pipermail/ceph-users-ceph.com/attachments/20140729/9d4fd108/attachment.htm>


[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux