【摘要】当只有一块磁盘损坏时,RAID5磁盘阵列能通过其它正常运行的磁盘进行异或运算换算出故障磁盘的数据信息,从而保证磁盘阵列存贮信息的完整。通过研究RAID5结构和数据重组的规律,发现两个以上磁盘同时出现故障或RAID卡失效,也可以恢复故障磁盘阵列的数据。本文尝试了将RAID5故障磁盘阵列中的磁盘分别制作为磁盘镜像文件,对有故障的磁盘镜像文件进行数据恢复后,按照数据重组原理将这些磁盘镜像文件重组为RAID5镜像盘,成功恢复了***书馆文献管理服务器RAID5故障磁盘阵列中的数据。
【关键词】RAID5数据重组磁盘镜像数据恢复
RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案,被广泛应用于较重要数据存贮。RAID5校验位算法原理为:假设RAID5由以块磁盘组成,那么校验位P=D1 XOR D2 XOR D3…XOR Dn(D1,D2,D3…Dn为数据块,P为校验块,XOR为异或运算),如果i号磁盘失效,也就是Di数据块的数据丢失,则通过D1,D2,D3…P,Dn它们之间的异或运算重新计算出来,即Di=D1 XOR D2 XOR D3…XOR P XOR Dn一1[1]。该原理论证了一个驱动器失效状态下,RAID5磁盘阵列的数据是可以恢复的。为了挽救数据,对RAID5的结构和数据重组原理进行了深入研究,发现以扇区为单位来描述磁盘数据时,同一扇区的错误小于或等于1,该扇区的完整信息可以通过数据重组和异或运算得以恢复。据此原理,采用磁盘镜像技术将RAID5故障阵列的磁盘分别制作为磁盘镜像文件,利用磁盘恢复软件对有故障的磁盘镜像文件进行扇区故障修复,最后根据数据重组原理将磁盘镜像文件重组为RAID5镜像盘,可以恢复两个以上驱动器同时出现故障或RAID卡失效的原阵列数据。
一、RAID5结构和数据重组
1.1RAID5结构
RAID5阵列中的数据是分布到每块硬盘上,RAID5中每个条带组中总有一个条带是校验块[2]。设RAID5由硬盘0、硬盘1、硬盘2和硬盘3组成,***中的“A、B、C、……”是数据块;“P0、P1、P2、P3……”是校验块。根据RAID5校验位算法原理,校验位P0=A XOR B XOR C,如果硬盘2失效,也就是C数据块的数据丢失,则通过A,B,P0它们之间的异或运算重新计算出来,即C=A XOR B XOR P0。同理通过异或运算算出P1、H、K等等硬盘2的所有存贮信息。因此RAID5磁盘阵列在一块驱动器失效的情况下,仍能保证数据完整和工作正常。
如果有两块或两块以上硬盘同时离线,将会出现RAID控制器物理故障、RAID信息出错、RAID5成员盘物理故障、人为误操作、RAID控制器的稳定性变化等故障,阵列便会失效,造成磁盘阵列结构的毁坏,盘序的混乱,处理不当将会丢失数据。这时如果要恢复RAID5故障磁盘阵列中数据就需要对阵列中的磁盘数据进行重组。
1.2数据重组
对RAID5的数据进行重组,需将硬盘从磁盘阵列插槽中分别取出来,作为单盘进行分析,如***中硬盘0、硬盘1、硬盘2和硬盘3所示的四块物理盘,把四块物理盘中的数据块按照“A、B、C、D、E……”的顺序进行数据重组,从而得到RAID5逻辑盘中完整的数据。RAID5需要四个因素才能进行数据重组,第一个是RAID中每个条带的大小,也就是“A”或“B”这些数据块所占用的扇区数;第二个因素是RAID中硬盘的排列顺序,也就是盘序;第三个因素是校验块的循环方向;第四个因素是数据块的走向[3]。左循环中,校验块的排列形状是从右上角开始的对角线;右循环中,校验块的排列形状是从左上角开始的对角线。可以先完成校验块的排列,再完成数据块的排列。异步的数据块写入方式为从左至右,从上至下排列。同步的数据块写入方式为先判断校验块的位置,然后写满校验块右边的磁盘,从低号盘至高号盘写入,最后写满校验块左边的磁盘,仍然从低号盘至高号盘写入[4]。具体来说可以分为左异步、左同步、右异步、右同步四种情况。
二、磁盘镜像与RAID5镜像盘
2.1磁盘镜像介绍
磁盘镜像是指将磁盘复制到不同的装置或数据格式,主要用于数据备份和恢复。磁盘镜像可以将磁盘驱动器的内容与资料,犹如照镜子时影像反射一般,一模一样的复制一份。当RAID5磁盘阵列已经出现故障后,可先在正常工作的机器上,通过磁盘镜像软件(如GetDataBack),利用SCSI卡,分别读取RAID5故障阵列每一个磁盘的数据,制作成磁盘镜像文件,按编号命名为DRIVE0.IMG、DRIVE1.IMG、DRIVE2.IMG、DRIVE3.IMG、……,然后再进行数据恢复工作,这样可以做到保护原磁盘和避免同时使用多个SCSI卡。只要数据没有被覆盖或者硬盘没有出现严重的物理损坏,利用GetDataBack软件还可以对有故障的磁盘镜像文件进行数据恢复,这样可最大限度的恢复硬盘在故障发生前的存贮信息。
2.2重组RAID5镜像盘
以RAID5结构***中四块物理盘组成的RAID5为例,以扇区为单位来描述磁盘数据,假设条带的大小为32个扇区,并且已知数据重组四个因素。按照数据重组原理,先到硬盘0中取0-31扇区的信息,再到硬盘1中取0-31扇区的信息,再到硬盘2中取0-31扇区的信息,硬盘3中0-31扇区的信息是校验块,跳过不取,这样就可以按顺序拼接成完整的0-31扇区信息。接下来回到硬盘0中取32-63扇区的信息,假如硬盘1中的32-63扇区有错误,跳过不取,接着依次读取硬盘2的32-63扇区的校验块信息和硬盘3中32-63扇区的信息,通过异或运算可换算出硬盘1中的32-63扇区的信息,从而得到完整的32-63扇区信息。由以上分析可知:当同一扇区的错误小于或等于1时,该扇区的信息可以通过数据重组和异或运算得以恢复。就这样依次按顺序取下去,把所有取出来的数据按扇区划分进行数据重组,顺序衔接成一个RAID5镜像盘,这就成为完整的原RAID5逻辑盘的结构了,通过操作系统可以直接访问这个重组出来的RAID5镜像盘,也就说可以读写原RAID5逻辑盘中的数据,数据得以恢复。同理如果将上述的物理磁盘换成它们的磁盘镜像也可以重组为RAID5镜像盘。
假如硬盘1中的64-95扇区有错误和硬盘3中的64-95扇区有错误,按RAID5结构和数据重组原理分析,则不能直接恢复完整的64-95扇区的信息,也就是说如果有两块以上的硬盘在同一个扇区内发生故障,则不能直接恢复该扇区的数据。这时可以通过GetDataBack软件创建每一个驱动器的磁盘镜像文件,恢复有坏扇区驱动器的存贮信息,只有严重物理故障的硬盘才不能恢复磁盘镜像文件的数据信息,而RAID5中同时两块硬盘出现严重物理故障的概率几乎为零,这样就满足了同一扇区的错误小于或等于1的扇区信息恢复基本要求。因此两块以上硬盘在同一个扇区内发生故障时,数据也能得到恢复。
三、数据恢复实例
3.1RAID5故障
***书馆的dell PowerEdge 4600服务器,配备3块Ultra 320 SCSI 73GB的磁盘,组成RAID5磁盘阵列。该磁盘阵列出现故障,文献管理集成系统不能访问,服务器的操作系统不能进入,磁盘故障的报警声持续不断,第0号和第1号磁盘灯由以前的绿色变为现在的红色。重新启动进入RAID设置及检测发现:第1号插槽磁盘掉线(FAIL)且有Media Errors 11和Other Errors 4,第0号插槽磁盘有Media Errors 3。也就是说三块磁盘中有两块磁盘有故障,RAID5磁盘阵列已经不能正常工作,磁盘中的数据无法直接读取。该磁盘阵列主要存贮文献管理集成系统数据,这些数据是全馆工作人员多年的工作数据积累,万一丢失,后果不堪设想。
3.2数据恢复
在物理驱动器上有可能有坏扇区,建立磁盘的镜像文件是首选方法,将磁盘阵列中的磁盘逐个取出,在数字***书馆服务器上利用GetDataBack软件,按磁盘镜像文件的制作方法,制作RAID5故障磁盘阵列每一个硬盘的IMG镜像文件,分别取名为DRIVE0.IMG、DRIVE1.IMG、DRIVE2.IMG,对有故障的第0号插槽磁盘和第1号插槽磁盘的镜像文件做数据恢复操作。
用RAID Reconstructor软件可对这3个硬盘的IMG镜像文件进行RAID结构分析,确定硬盘的排列顺序、块大小、校验块的循环方向和数据块的走向,按重组RAID5镜像盘的方法,生成一个RAID5镜像盘文件,取名为RAID. IMG,将该文件拷贝到另一个磁盘驱动器上,通过操作系统可以对RAID.IMG进行读写操作,这样数据恢复就成功了。
四、结语
虽然利用磁盘镜像技术和数据重组技术可以恢复两个以上驱动器同时出现故障或RAID卡失效的原阵列数,但还是存在故障恢复时间过长、操作过程复杂等缺陷。笔者认为数据安全最佳的途径是备份。
参考文献
[1]马林.数据重现一文件系统原理精解与数据恢复最佳实践[M].北京:清华大学出版社,2009.
[2]刘伟.数据恢复技术深度揭秘[M].北京:电子工业出版杜,2010. 05
[3]汪中夏,张京生,刘伟编著. RAID数据恢复技术揭秘[M].北京:清华大学出版社,2010.12
[4]鲁恩铭,段益群. RAID5结构剖析及其数据恢复策略研究[J].电脑开发与应用.,2012,25(1)
[5]赵振洲,乔明秋. RAID5数据重组及过程研究[J].深圳信息职业技术学院学报.,2010,08(2)
转载请注明出处学文网 » RAID5磁盘阵列数据恢复