开发者社区> 问答> 正文

EC数据的覆盖写是什么?

EC数据的覆盖写是什么?

展开
收起
kun坤 2020-04-23 19:52:00 1153 0
1 条回答
写回答
取消 提交回答
  • Ceph 从 2014 年 FileStore 就支持了 EC pool,然而这个支持仅限追加写和删除操作,因为覆盖写在这个设计下太慢了,几乎无法使用。结果是,EC 池仅在 RGW 场景有用,对于 RBD 和 CephFS 是无法使用。

    为了避免 Raid write hole 问题,多步骤的数据更新时,如果发生 crash 会导致系统不一致,Ceph 在 EC 池的覆盖写使用两阶段提交。首先,所有存储这个对象的一个 chunk 的 OSD 都会复制这个 trunk 来为失败回退做准备。当所有 OSD 收到新的数据内容要覆盖写 trunk 时,旧的 trunk 副本就会被丢弃掉。在 XFS 为基础的 FileStore 下,第一步是非常昂贵的,因为需要一次物理复制。而对 BlueStore 来说得益于 COW 就避免了完整的物理复制。

    2020-04-23 19:52:07
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载