RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案,被广泛应用于较重要数据存贮。当只有一块磁盘损坏时,RAID5磁盘阵列能通过其它正常运行的磁盘进行异或运算换算出故障磁盘的数据信息,从而保证磁盘阵列存贮信息的完整。
RAID5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案,被广泛应用于较重要数据存贮。
当只有一块磁盘损坏时,RAID5 磁盘阵列能通过其它正常运行的磁盘进行异或运算换算出故障磁盘的数据信息,从而保证磁盘阵列存贮信息的完整。通过研究 RAID5 结构和数据重组的规律,发现两个以上磁盘同时出现故障或 RAID 卡失效,也可以恢复故障磁盘阵列的数据。
RAID 结构
RAID5 阵列中的数据是分布到每块硬盘上,RAID5 中每个条带组中总有一个条带是校验块。根据 RAID5 校验位算法原理,校验位 P0=A XOR B XOR C,如果硬盘 C 失效,也就是 C 数据块的数据丢失,则通过 A,B,P0 它们之间的异或运算重新计算出来,即 C=A XOR B XOR P0。同理通过异或运算算出 P1、H、K 等等硬盘 2 的所有存贮信息。因此 RAID5 磁盘阵列在一块驱动器失效的情况下,仍能保证数据完整和工作正常。如果有两块或两块以上硬盘同时离线,将会出现 RAID 控制器物理故障、RAID 信息出错、RAID5 成员盘物理故障、人为误操作、RAID 控制器的稳定性变化等故障,阵列便会失效,造成磁盘阵列结构的毁坏,盘序的混乱,处理不当将会丢失数据。这时如果要恢复 RAID5 故障磁盘阵列中数据就需要对阵列中的磁盘数据进行重组。
校验位算法
RAID5 将校验信息均分布到所有盘上, 不再单独存放在一个盘上,构成阵列的磁盘不再有校验盘与数据盘之分。这种方式很好地保证了阵列的负载平衡, 因此具有很好的集合数据传输率。RAID5 结构同样支持多盘的并发读写。RAID 5 也具有良好的容灾性能, 在单盘发生故障的情况下, 可以根据校验数据计算故障盘上的相关数据, 更换磁盘后重新进行数据重建。但同时性能也会受到一定影响。
RAID5 校验位算法原理为:假设 RAID-5 由以块磁盘组成,那么校验位 P=D1 XOR D2 XOR D3…XOR Dn(D1,D2,D3…Dn 为数据块,P 为校验块,XOR 为异或运算),如果 i 号磁盘失效,也就是 Di 数据块的数据丢失,则通过 D1,D2,D3…P,Dn 它们之间的异或运算重新计算出来,即 Di=D1 XORD2 XOR D3…XOR P XOR Dn 一 1。该原理论证了一个驱动器失效状态下,RAID5 磁盘阵列的数据是可以恢复的。为了挽救数据,对 RAID5 的结构和数据重组原理进行了深入研究,发现以扇区为单位来描述磁盘数据时,同一扇区的错误小于或等于 1,该扇区的完整信息可以通过数据重组和异或运算得以恢复。