Re: erasure code : number of chunks for a small cluster ?

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

 



On 02/02/15 03:38, Udo Lembke wrote:
> With 3 hosts only you can't survive an full node failure, because for
> that you need
> host >= k + m.

Sure you can. k=2, m=1 with the failure domain set to host will survive
a full host failure.

Configuring an encoding that survives one full host failure or two OSDs
anywhere on the cluster is possible. Use k=4, m=2, then define a CRUSH
rule like this:

step take default
step choose indep 3 type host
step choose indep 2 type osd
step emit

That will ensure that for each PG, each host gets two chunks on two
independent OSDs. That means that you can lose any pair of OSDs (since
no PG will have two chunks on the same OSD, and the encoding can survive
a two-chunk loss). You can also lose any host, which will cause the loss
of exactly two chunks for every PG.

Of course, with a setup like this, if you lose a host, the cluster will
be degraded until you can bring the host back, and will not be able to
recover those chunks anywhere (since the ruleset prevents so), so any
further failure of an OSD while a host is down will necessarily lose data.

-- 
Hector Martin (hector@xxxxxxxxxxxxxx)
Public Key: https://marcan.st/marcan.asc
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
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