最近处理了一个RAID50数据恢复案例,硬件信息如下:
HP服务器8块300GB SAS硬盘,硬盘编号从1-8,其中1 3 5 7四块盘组成一组RAID5,2 4 6 8组成另一组RAID5,然后这两组RAID5组成RAID0,这就是所谓的混合型RAID,即RAID50.

故障现象及原因:
该服务器主要运行公司用友财务系统,同时也扮演文件服务器的角色.起初发觉MS SQL Server有些异常,决定重新安装MS SQL Server,在安装之前,把相关数据库通过用友平台备份出来,还把原始用友数据库所在的文件夹重新命名,这个过程中没有发现异常.用户重装MS SQL Server顺利完成,用友财务系统应用程序也重新安装,把原先备份出来的还原到系统中,发现两个帐套还原有问题.就在这时候发现第二组RAID5中的6号盘亮红灯,于是用户在线更换6号盘(用新的硬盘替换6号盘),这个时候RAID控制器会对新更换的硬盘进行Rebuild,用户继续对盘阵数据进行COPY备份操作,这个过程感觉数据库状态都正常,过了几个小时,用户发现第二组RAID5中的2号盘亮红灯,于是又更换了新的硬盘替换2号盘,这个时候RAID控制器会对新更换的2号硬盘进行Rebuild.没过多久,发现数据库全部变成质疑状态,有些文件夹打不开,提示MFT表错误或者目录信息损坏.接下来用户重起服务器,在重起过程中对硬盘分区进行chkdsk操作,系统起来以后,发现原来打不开的目录能打开了,但是文件打不开,数据库状态还是质疑状态。

分析:
经过对第二组Raid5硬盘进行分析,发现新更换的6号盘没有Rebuild完成,新更换的6号盘是由原2 4 8号盘Rebuild的。而后面更换的2号盘是由 4 6(新更换的) 8号盘Rebuild的,由于第一次更换盘以后,没有Rebuild完成,于是又更换2号盘,这样就造成数据不全。后来通过 原2号盘 4号盘 原6号盘 8号盘组合出第二组Raid5的数据,经过与第一组Raid5再次组成Raid0,把数据恢复出来,经验证,数据正常。本案例还发现一个新问题,Raid0组合的时候,数据块大小为384扇区,这个块大小数值是非常少见的,通常情况下块大小是:8 16 32 64 128 256 512 扇区 等等这样规律的数字。

本案例的教训:
  RAID5在更换硬盘时,一定要等到Rebuild完成以后才能对磁盘分区进行操作,如果在Rebuild过程中,对磁盘进行大量的数据写入操作,很容易引发新的问题。当Rebuild没有完成时,发现同组Raid中有另一块硬盘出现问题,这个时候不能更换新盘,只能想办法先恢复出阵列中的数据。

出自 www.bnuol.com