Force CRUSH to select specific osd as primary

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

 



You could create a new root bucket which contains hosts 2 and 3; then
use it instead of "default" in your special rule. That's probably what
you want anyway (rather than potentially having two copies of the data
on host 1).
-Greg
Software Engineer #42 @ http://inktank.com | http://ceph.com


On Tue, Jul 29, 2014 at 10:10 AM, Szymon Zacher <szzacher at gmail.com> wrote:
> 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
> ceph-users at lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>


[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