Hi,
I'm trying to understand the CRUSH algorithm and how it distribute data.
Let's say I simplify a small datacenter setup and map it up
hierarchically in the crush map as show below.
root datacenter
/ \
/ \
/ \
a b room
/ | \ / | \
a1 a2 a3 b1 b2 b3 rack
| | | | | |
h1 h2 h3 h4 h5 h6 host
I want 4 copies of all data in my pool, configured on pool level. 2
copies in each room. And I want to be sure not 2 copies resides in the
same rack when there is no HW failures.
Will the chooseleaf rule below ensure this placement?
step take root
step chooseleaf firstn 0 type room
step emit
Or do I have to specify this more, like
step take root
step choose firstn 2 type room
step chooseleaf firstn 2 type rack
step emit
Or even more, like?
step take a
step choose firstn 2 type rack
step chooseleaf firstn 1 type host
step emit
step take b
step choose firstn 2 type rack
step chooseleaf firstn 1 type host
step emit
Is there difference in failure behaviour in the different configurations?
--
/\rnulf ||eimsbakk
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com