您所在的位置:首页 > 成功案例 > RAID数据恢复

某市教育部门同友存储恢复案例

最新动态来源:本站原创点击数:257更新时间:2020/11/20

本次小编分享的为某市教育部门同友存储,因RAID崩溃导致存储无法启动。存储内部共有虚拟机若干台(≥ 5),其中LINUX虚拟机3台为客户重要数据。
【数据恢复过程】
经过与客户沟通及查看底层存储情况分析本例中存储层次结构,初步分析如下
存储结构
【重组RAID】
重组过程中发现本RAID5缺失2块盘(第一掉线盘掉线后热备盘顶替,之后又掉线一块盘使得RAID5处于降级状态。最后在掉线第三块盘时盘片划伤RAID崩溃),无法通过校验直接获取丢失盘的数据,所以只能使用磁盘同等大小的全0镜像进行重组(此方法只可用于紧急情况,因为依赖空镜像组成的RAID文件系统结构会被严重破坏,相当于每个条带都会缺失两个块的数据)。
【提取LUN】
分析存储结构,获取存储划分的MAP块。在找到MAP块之后解析得到各个LUN的数据块指针,编写数据提取程序提取LUN碎片。提取完成后进行碎片拼接,组成完整LUN。
提取LUN
【导出LUN内所有虚拟机,尝试启动】
因虚拟机名称涉及客户隐私且导出过程较为简单,此处不再赘述。导出虚拟机后尝试启动,同预想相同,操作系统被破坏虚拟机无法启动。
【提取虚拟机内文件】
在虚拟机无法启动的情况下只能退而求其次,提取虚拟机内文件。在取出文件后进行测试,发现大多数文件都被破坏,只有少部分小文件可以打开。
在与客户沟通后得知虚拟机内有MYSQL数据库,因为数据库底层存储的特殊性,可以通过扫描数据页进行数据提取。在找到此虚拟机后发现虚拟机启用快照,父盘和快照文件都被损坏的情况下常规合并操作无法完成,使用本公司自主研发VMFS快照合并程序进行快照合并。
【获取MYSQL数据页并分析】
根据MYSQL数据页特征进行数据页扫描并导出(innodb引擎可以使用此方案,myisam因为没有“数据页”概念所以不可用),分析系统表获取各用户表信息,根据各个表的id进行数据页分割。
【提取表结构】
因为数据库使用时间已久,表结构也曾多次变更,加上系统表在存储损坏后也有部分数据丢失,记录提取过程遇到很大阻力。首先获取最初版本数据库各个表的表结构:合并快照前的父盘因为写入较早,使用第一块掉线盘进行校验获取到这个文件的完整数据,然后提取出其中数据库各个表的表结构,之后客户方提供了最新版的数据库建表脚本。
【提取记录】
分别使用两组不同表结构对数据记录进行提取并导入恢复环境中的MYSQL数据库内,然后剔除各个表中因为表结构变更造成的乱码数据,最后将两组数据分别导出为.sql文件。
【数据验证与结果】
因为两个版本的数据库表结构不同,所以联系了客户方的应用工程师进行调试。调试完成后导入平台,客户表示当前恢复结果可以满意,恢复完毕,本次恢复成功。

北京北亚数据恢复:
4006-505-646
官方网址:www.frombyte.com