Greetings Cephers,
I have hit a bit of a wall between the available documentation and my
understanding of it with regards to CRUSH rules. I am trying to determine if it
is possible to replicate 3 copies across 2 hosts, such that if one host is
completely lost, at least 1 copy is available. The problem I am experiencing is
that if I enable my host_rule for a data pool, the cluster never gets back to a
clean state. All pgs in a pool with this rule will be stuck unclean.
This is the rule:
rule host_rule {
ruleset 2
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type host
step emit
}
And if its pertinent, all nodes are running 0.80.9 on Ubuntu 14.04. Pool pg/pgp
set to 2048, replicas 3. Tunables set to optimal.
I assume that is happening because of simple math: 3 copies on 2 hosts. And
crush is expecting a 3rd host to balance everything out since I defined host
based. This rule runs fine on another 3 host test cluster. So, it would seem
that the potential solutions are to change replication to 2 copies or add a 3rd
OSD host. But, with all of the cool bucket types and rule options, I suspect I
am missing something here. Alas, I am hoping there is some (not so obvious to
me) CRUSH magic that could be applied here.
Thanks in advance for any insight,
Colin
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com