CEPH 写入确认以防副本节点关闭

CEPH Write Acknowledgement in case a replica node is down

虽然 ceph 写操作,标准 PUT 操作 - 如果发现持有分区(基于哈希)的数据节点已死,那么协调器节点是否仍会发送 SUCCESS ACK 回写操作?

所以问题是万一发现 3 个副本节点中的一个不健康,WRITE 操作是否被确认为失败?

如果复制因子 > 1(示例 2),如果副本节点关闭,写入确认似乎会失败

Data management begins with clients writing data to pools. When a client writes data to a Ceph pool, the data is sent to the primary OSD. The primary OSD commits the data locally and sends an immediate acknowledgement to the client if replication factor is 1. If the replication factor is greater than 1 (as it should be in any serious deployment) the primary OSD issues write subops to each subsidiary (secondary, tertiary, etc) OSD and awaits a response. Since we always have exactly one primary OSD, the number of subsidiary OSDs is the replication size - 1. Once all responses have arrived, depending on success, it sends acknowledgement (or failure) back to the client.