CephNotes

Some notes about Ceph
Laurent Barbe @CCM Benchmark

Crushmap for 2 DC

An example of crushmap for 2 Datacenter replication :

1
2
3
4
5
6
7
8
9
10
rule replicated_ruleset {
  ruleset X
  type replicated
  min_size 2
  max_size 3
  step take default
  step choose firstn 2 type datacenter
  step chooseleaf firstn -1 type host
  step emit
}

This working well with pool size=2 (not recommended!) or 3. If you set pool size more than 3 (and increase the max_size in crush), be careful : you will have n-1 replica on one side and only one on the other datacenter.

If you want to be able to write data even when one of the datacenters is inaccessible, pool min_size should be set at 1 even if size is set to 3. In this case, pay attention to the monitors location.

Other posts about crushmap : http://cephnotes.ksperis.com/blog/categories/crushmap/

Comments