对数据的完整性要求较高的应用才需要使用这类的的磁盘阵列,对于一般的应用,或者小型服务器的应用完全没有必要,重要数据可以单独备份。
RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息,也就是你说指的那损失的一个硬盘容量的原因。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。
用简单的语言来表示,至少使用3块硬盘(也可以更多)组建RAID5磁盘阵列,当有数据写入硬盘的时候,按照1块硬盘的方式就是直接写入这块硬盘的磁道,如果是RAID5的话这次数据写入会分根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入校验信息,当读取写入的数据的时候会分别从3块硬盘上读取数据内容,再通过检验信息进行校验。当其中有1块硬盘出现损坏的时候,就从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。也就是说raid5这种存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘后,在故障期间写入的数据会进行重新校验。 如果在未解决故障又坏1块,那就是灾难性的了。
RAID5校验位算法原理
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)
XOR(Exclusive OR)的校验原理如下表:
A值 B值 Xor结果
0 0 0
1 0 1
0 1 1
1 1 0
这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR结果为0,A与B不一样时,XOR结果就是1,而且知道XOR结果和A与B中的任何一个数值,就可以反推出另一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。这就是XOR编码与校验的基本原理。
RAID5结构图
RAID-5数据恢复思路RAID-5阵列中数据的分布与RAID-0类似,数据也是分布到每块硬盘上,与RAID-0不同的是,RAID-5中每个条带组中总有一个条带是校验块,如图中的“P0、P1、P2、P3”就是校验块。
RAID-5能够支持在一块盘离线的情况下保证数据的正常访问,如果有两块或两块以上硬盘同时离线,或者RAID信息出错等原因,阵列便会失效,这时就需要对数据进行重组。
图RAID-5的结构图
对RAID-5的数据进行重组,也需要先把物理盘去RAID化,作为单盘进行分析,如图中的四块物理盘,把四块物理盘中的数据按照“A、B、C、D、E、F、G、H……”的顺序拼接好,就是RAID-5逻辑盘中完整的数据。
因为RAID-5的每块物理盘中都有校验信息,所以分析RAID-5就需要比RAID-0多一个因素,即校验块的位置和方向,另外,RAID-5中数据块的走向也会不一样,分为异步和同步,也就是说,RAID-5 有四个因素很重要,第一个是RAID中每个条带的大小,也就是
“A”或“B”
这些数据块所占用的扇区数;第二个因素是RAID中硬盘的排列顺序,也就是盘序;第三个因素是校验块的循环方向;第四个因素是数据块的走向。
以图中四块物理盘组成的RAID-5为例,假设条带的大小为32个扇区,物理盘的顺序就按照图中的排列顺序,那么只要到硬盘0中取0-31扇区的信息,再到硬盘1中取0-31扇区的信息,再到硬盘2中取0-31扇区的信息,硬盘3中0-31扇区的信息是校验块,跳过不取。接下来再回到硬盘0中取32-63扇区的信息,就这样依次按顺序取下去,把所有取出来的数据按照顺序衔接成一个镜像文件或者是镜像盘,这就成为完整的原RAID-5逻辑盘的结构了,直接访问这个重组出来的镜像文件或镜像盘,就得到了原RAID-5逻辑盘中的数据。可以关注我们问答堂的官方微博,参与讨论更多问题,点击右侧的微博。
其它问题可以到中关村在线-精编问答堂搜索
更多的关于电脑和网络的问题请到中关村在线-硬件论坛交流分享
希望以上信息对你有所帮助