5 ms·
"maybe don't use 2/1 replica (two copies but return already after only one got written)" I don't think ceph ever does that.
by IcePic 4y ago
"maybe don't use 2/1 replica (two copies but return already after only one got written)"
I don't think ceph ever does that.
- tlamponi 4y agoSure does, you can create a pool with that target/minimum replica just fine, there are some hosters that thought they were improving performance and data usage (which, well, is true), but ignored the impossibility of having any real redundancy at all; note that 2/2 is just fine though, but the pool will go read only if one failure domain goes down (compared to 3/2 where you can continue operating just fine in such a case). IOW. 2/1 will never ever make sense, it's just crying for data loss, if you want to save on data usage, and if you also don't mind the (slightly) higher CPU load, you can use erasure coding instead: https://pve.proxmox.com/pve-docs/chapter-pveceph.html#pve_ceph_ec_pools https://pve.proxmox.com/pve-docs/chapter-pveceph.html#pve_ce... https://docs.ceph.com/en/latest/rados/operations/erasure-code/ https://docs.ceph.com/en/latest/rados/operations/erasure-cod...
- IcePic 4y agoIt still doesn't mean it accepts the write as finished when only 1 PG has it. I agree on the risks on why 2/1 is stupid, just not that this also means writes finish faster with min_size < replication_factor.
- tlamponi 4y agoIt does though, it defines when to complete the write command to a client and when general any IO should be allowed on an object (both need #copies >= min-size), from the Quincy PG settings docs: > Sets the minimum number of written replicas for objects in the pool in order > to acknowledge an I/O operation to the client. If minimum is not met, Ceph > will not acknowledge the I/O to the client, which may result in data loss. > This setting ensures a minimum number of replicas when operating in degraded > mode.