知识卡片

纠删码相对RAID的存储利用率优势

专业/工作 · 552.f

内容

RAID5用一次XOR得到一份校验数据,能容忍一块盘故障;RAID6在此基础上再算一份校验(P+Q方式),能容忍两块盘故障。纠删码可以看作两者的超集:把k块原始数据通过编码计算出m块冗余校验块,只要k+m块里任意坏了不超过m块,都能通过解码算法重建出全部原始数据,m可以按需配置而不局限于1或2。分布式系统里更常见的是直接复制多份(如存3副本),可靠性好但只有三分之一的存储利用率;纠删码能在同等冗余度下大幅提高有效存储空间利用率,因此Ceph、Hadoop等分布式存储系统都支持纠删码模式。发散:纠删码的本质是把”用完整副本换可靠性”变成”用数学编码换可靠性”,冗余度和存储利用率之间的比例可以被精确调节,而不是像多副本那样只能整份整份地增减。

参考来源

《Linux开源存储全栈详解从Ceph到容器存储》第4章《存储加速》