暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

raid5研究笔记

老张的技术博客 2017-12-24
875

Raid5可以看成是Raid0+1的低成本方案。采用循环偶校验独立存取的阵列方式。将数据和相对应的奇偶校验信息分布存储到组成RAID5的各个磁盘上。

RAID5的话这次数据写入会根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入校验信息,当读取写入的数据的时候会分别从3块硬盘上读取数据内容,再通过检验信息进行校验。当其中有1块硬盘出现损坏的时候,就从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。也就是说raid5这种存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘后,在故障期间写入的数据会进行重新校验。 如果在未解决故障又坏1块,那就是灾难性的了。


*奇偶校验

在二进制中 5 和 2 分别是 0101 和 0010,那么 5 xor 2 可以表示为 0101 xor 0010,根据运算规则,第一位都是“0”,两者相同,结果为“0”;第二、三、四位的数值不同,结果分别是1、1、1。合起来的结果就是“0111”。

    公式为 0101 xor 0010 = 0111。

    那么事情就好办了,在一个公式 a xor b=c 中,不管缺了谁,都可以通过剩下的两者将其推算出来。

    这也就是 raid 5 能够恢复数据的秘密


raid5的不安全性考量

案例一:

Raid最不安全的地方在于谁都无法保证在长得一塌糊涂的Rebuild的时间里再出现坏盘。

曾经的案例 60个2T盘的Dell 29+29+2 Raid6,29个盘一组,每组将近50T。在那坏盘等Rebuild的漫长岁月里,你会好几天都吃不下饭的

案例二:

RAID5现在来看也存在风险,一是校验算法导致存在“write hole”导致存在数据不一致的问题,二是3TB、4TB硬盘商用后使得重建时间较长,在其期间极易第二块硬盘损坏导致RAID5崩溃。综合现有的数据保护方案来看:考虑到硬盘越来越便宜,大容量存储可以做RAID1来保存;如果是非关键数据,比如高清视频等,单盘使用更为方便,即便数据丢了损失也不大;如果是文件图片之类的小文件,可以采用网盘,比如百度网盘等云存储方案,后台是三副本存储,成本也不高,速度还比较快。

案例三:

四个盘建raid5,其中一个做热备,比只有三个盘建的raid5可靠性高。不过两者有效容量相同。热备就是空闲盘,比如三个盘建的raid5,如果其中一个盘坏了,此raid还可以使用,但没有任何冗余了,即不安全了。同样的,这三个盘建的raid5再加第四个盘(热备盘),当这三个盘中的某个坏了的话,第四个盘会马上开始替换那个坏盘。


raid5磁盘数的影响

  1、容量。4硬盘是3块硬盘的总容量;而3硬盘是2块硬盘的总容量。

  2、速度。4硬盘是4块硬盘的raid0的速度,而3硬盘是3块的速度。4硬盘显然要快。

硬盘数量越多,RAID 5的空间利用率越高。


raid正常模式和非正常模式的对比

RAID的保存原理是用Bit Striping及当前主流Block Striping的分割方式,将Data分散保存至各硬盘中,当硬盘有受损时则经由XOR运算,再将存在其他各硬盘内的Parity Blocks及Data Stripe磁区的Data Blocks进行计算而重建资料Rebuild。

正常模式:

受损模式:

XOR复原模式:



文章转载自老张的技术博客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论