【服务器数据恢复】EXT3文件系统的RAID5数据恢复案例
服务器数据恢复环境:
北京某科技大学,某品牌PowerEdge系列某型号服务器,6块SAS硬盘组成RAID5;
操作系统REDHAT,文件系统EXT3,分区采用LVM方式,存储着该大学某研究室运算1年多的重要数据。
服务器故障&分析:
未知原因导致服务器崩溃。管理员进入RAID控制界面检查发现1号盘与6号盘状态显示损坏。咨询服务器原厂工程师后,管理员强制上线6号盘,结果raid无法启动(操作系统也安装于此RAID)。管理员意识到问题严重性,马上停止所有操作。
根据用户的描述及故障表现,北亚服务器数据恢复工程师推断本案例中的RAID5阵列中应该有一块硬盘早离线,这时候磁盘阵列还能正常工作,后来又有一块硬盘离线,从而导致RAID阵列崩溃。按照管理员的描述,6号盘早离线,1号盘后离线。
如果上面的推断属实,1号盘只要能正常读取即可恢复全部的数据。但管理员强制上线6号盘,可能会导致文件系统不一致,引起其他盘的数据发生变更。
经过研究,北亚数据恢复工程师敲定了恢复数据的思路:
首先检测所有硬盘状态,分析RAID信息,剔除掉陈旧数据盘。根据分析出来的RAID信息重组RAID,读取数据;或直接以EXT3的模式恢复数据。
服务器数据恢复过程:
1、服务器数据恢复工程师拿到故障服务器硬盘后以只读方式对所有硬盘做镜像备份,使用不含RAID功能的SAS适配器作为物理连接进行备份。后续数据恢复操作都在备份文件上进行,避免对数据造成二次伤害。
2、基于镜像文件对RAID结构进行分析,获取到原始RAID相关信息。
3、对RAID进行一致性校验,结果发现大量的不匹配。
4、从6块盘中剔除掉陈旧盘。但此时发现前部分区结构的内容错误,应该为强制上线6号盘所导致的问题。
5、修正硬盘结构,将LVM改为普通分区指引。
6、通过北亚自主研发软件解释EXT3并读取数据,以SAMBA方式导出至LINUX EXT3目标分区。到此步数据恢复已经完成。
7、经过用户亲自检测没有发现问题,协助用户把数据导入准备好的环境中,一切正常。