服务器数据恢复环境:
一台某品牌存储设备上有一组由10块硬盘(9块数据盘+1块热备盘)组建的raid5阵列,上层部署vmware exsi虚拟化平台。
服务器故障:
raid5阵列中两块硬盘对应的指示灯亮黄灯掉线。硬盘序列号无法读取,通过SAS扩展卡也无法读取。
服务器数据恢复过程:
1、将存储中所有磁盘标记后取出。将掉线的其中一块故障盘连接到外部的SAS扩展卡上,加电后通过硬盘声音判断电机可以启动,但是磁头没有进行寻道操作。硬件工程师将硬盘PCB分离下来清洁HDA组件氧化部分,清洁后故障依旧。和用户方沟通并得到同意后,硬件工程师在无尘室将热备盘的PCB替换到故障盘上,并将故障盘PCB上的ROM芯片替换到从热备盘上取出的PCB上面。这时硬盘的电机起转和磁头寻道声音正常,但是在寻道结束后,有明显的敲盘声音,基本上可以判断磁头损坏。和用户方沟通后使用热备盘中的磁头替换故障盘上的磁头,不幸的是这块故障盘已经无法识别,无法读取数据。
再次和用户方沟通后尝试对另一块故障盘进行修复。和第一块故障盘一样,这块故障盘的磁头损坏,通过各种渠道找到相同型号的硬盘并更换磁头。更换磁头后这块故障盘能够被正常识别,于是将这块故障盘所有扇区以只读方式做完整镜像。其他完好硬盘也以只读方式做扇区级全盘镜像。镜像完成后将所有磁盘按照原样还原到存储设备中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、判断起始扇区。
所有硬盘镜像完成后,使用工具打开9块数据盘,9块盘的0扇区都有“55 AA”标志。
0x01C2H处显示“05”,表示这是一个扩展分区。从0扇区看这是一个不正常的MBR分区结构。
继续往下找,在另外的2块盘上找到了“55 AA”的标志。其中一块盘上是一个正常的MBR分区,其0x01C6处数值代表指向的下一个扇区为GPT的头部。
另外一块盘的0x01C6处数值表示指向下的一个扇区不是GPT的头部。
由此可以确定这2块盘中其中一块是第一块盘,另外一块盘可能是最后一块盘。GPT分区所在扇区起始于172032扇区,因此初步确定LUN的起始扇区是172032扇区。
3、判断条带(stripe)大小。
条带也称块,是RAID处理数据的基本单元。不同RAID的条带大小各不相同。RAID5的1个条带组中有1个校验区,1个校验区的大小等于1个条带的大小。根据这个特征分析这个RAID5。如果对VMFS不熟悉,可以通过比较法确定条带大小。如果某一条带组中的校验区和该条带组中的非校验区相差很明显,通过工具查看并对比就可以找出条带大小。北亚企安数据恢复工程师通过上述方法判断出本案例中条带大小是1024个扇区。
4、判断RAID5阵列成员盘盘序。
按照1024扇区进行分割,使一个记录为一个条带的大小,9块盘跳到同一记录283123。
当9块盘都定位到同一位置时,通过对比可以判断校验区的走向,继而判断整个RAID5的走向。将之前判断出的第一块盘放在第一个位置就可以判断走向了。北亚企安数据恢复工程师通过上述方法判断出本案例中raid5的走向和盘序。
5、前面的步骤中已经确定LUN的起始扇区是172032扇区。跳到172032扇区并观察各硬盘的情况。如果172032扇区是LUN的起始扇区,那么这个扇区所属条带中的那块盘应该是校验区,但是此条带中却显示另外一块盘是检验区。根据RAID5的左走向,172032扇区所属条带中的那块盘的校验区应该在172032-1024=171008扇区,即上一个条带。跳转到171008扇区,却发现校验区为172032扇区所属条带显示的另外一块盘,因此可以确定LUN的起始扇区为171008扇区。
6、在工具中按照确定的盘序组织好磁盘并添加进去,选择RAID5,Stripe size 512KB,左异步。
点击Build重组raid5。由于数据从1024*8=8192个扇区开始,若工具没有跳转到此扇区的功能,那么刚组好的RAID必须和一个文件再进行一次重组操作。RAID的起始扇区选择8192,这个文件可以任意选择起始扇区和大小。
7、移交数据。RAID5重组完成后,联系用户方验收数据。经过验证,用户方确认数据没有问题。根据用户方要求把数据移交到用户方带来的新盘上。