知识卡片
纠删码的空间效率与应用限制
内容
纠删码把数据切成 N 份原始块,额外计算出 M 份校验块,N+M 块分散存储,任意丢失至多 M 块仍可用剩余 N 块还原全部数据——比起多副本,用更少的额外空间换取同等的容错能力。但 Ceph(10.2.1 版本)里纠删码的适用范围有限:RBD 块存储不能直接建在纠删码 pool 上,只能用在对象存储 RadosGW 或作为 [[CacheTier通过读写路径拦截实现透明分层|Cache Tier]] 的慢速二层存储。原因在于纠删码的写放大和更新代价远高于副本模式,不适合块存储那种随机小写场景。
参考来源
《Ceph源码分析》第1章《Ceph整体架构》