重要名词:纠删码(Erasure code)
Why:
首先介绍为什么会有纠删码这个东西,存储系统中失败是必然的,所以人们需要设计一种方案来保证在失败的时候数据不会丢失。
磁盘本身会设计冗余来保证一部分位的翻转得以修复,但是当很多位出现问题,或者直接硬盘故障时。这种解决办法就是失效了。所以提出纠删码。
What:
纠删码的原理是利用增加冗余来进行容错,最简单的增加冗余方法就是复制,例如RAID-1。将数据复制一份,这样的办法可以避免很多失败,并且运算也很简单。然而,他却很消耗资源,一般来说是两倍,并且如果两个都出错的话,可能会丢失数据。
更复杂的纠删码,可以忍受更多的失败和消耗更少的额外空间,下面讲解下实现机制:
假设我们有n个磁盘,其中k个存放数据,剩下m个用来存放编码信息,那么不大于m个磁盘故障可以通过解码来修复。
未完!
以上均是本人阅读论文后的收获,可能理解有部分偏差,欢迎大家指出。
Erasure Codes for Storage Systems
原文:https://www.cnblogs.com/caijiyang/p/13735088.html