服务器数据恢复—Raid5多盘掉线,存储如何“起死回生”?

raid数据恢复环境&故障:

某单位同友存储,存储中有一组raid5磁盘阵列。存储内部共有虚拟机若干台,raid5阵列崩溃导致存储无法启动。

raid数据恢复过程:

1、与用户方沟通及查看底层存储情况,分析存储层次结构。

存储结构:

2、本案例中raid5阵列缺失2块盘(第一掉线盘掉线后热备盘自动上线顶替,之后又有一块盘掉线导致RAID5阵列处于降级状态。当第三块盘盘片划伤导致掉线时,RAID崩溃),无法通过校验直接获取丢失盘的数据,所以只能使用磁盘同等大小的全0镜像进行重组(此方法只可用于紧急情况,因为依赖空镜像组成的raid文件系统结构会被严重破坏,相当于每个条带都会缺失两个块的数据)。

3、提取LUN

分析存储结构,获取存储划分的MAP块。在找到MAP块之后通过解析获取到各个LUN的数据块指针。北亚企安数据恢复工程师编写数据提取程序提取LUN碎片。提取完成后拼接碎片,组成完整LUN。

提取LUN:

4、导出LUN内所有虚拟机,尝试启动。由于操作系统被破坏,虚拟机无法启动。

5、在虚拟机无法启动的情况下,提取虚拟机内文件。提取出文件后进行测试,发现大多数文件都被破坏,只有少部分小文件可以打开。

6、和用户方沟通后得知有一台虚拟机内有mysql数据库。由于数据库底层存储的特殊性,可以尝试通过扫描数据页提取数据。找到该虚拟机后发现虚拟机启用快照。父盘和快照文件都被损坏的情况下通过常规合并操作无法完成,数据恢复工程师使用北亚企安自主研发VMFS快照合并程序合并快照。

7、根据mysql数据页特征扫描数据页并导出(只有innodb引擎可以使用此方案),分析系统表获取各用户表信息。根据各个表的id进行数据页分割。

8、因为数据库使用时间已久,表结构也曾多次变更,加上系统表在存储损坏后也有部分数据丢失,记录提取过程遇到很大阻力。

首先获取最初版本数据库各个表的表结构。因为合并快照前的父盘写入较早,使用第一块掉线盘进行校验获取到这个文件的完整数据,然后提取出其中数据库各个表的表结构,之后用户方提供了最新版的数据库建表脚本。

9、分别使用两组不同表结构提取数据记录,并导入恢复环境中的mysql数据库内,然后剔除各个表中因为表结构变更造成的乱码数据,最后将两组数据分别导出为.sql文件。

10、因为两个版本的数据库表结构不同,所以联系应用工程师进行调试。调试完成后导入平台,平台调试成功,数据恢复完成。

相关推荐
北亚数据恢复3 天前
服务器数据恢复—服务器反复异常断电引发阵列崩溃的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·存储数据恢复
北亚数据恢复7 天前
【数据恢复】V7000存储Mdisk-Pool-LUN架构故障恢复实操
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
北亚数据恢复9 天前
【数据恢复】企业存储运维警示:V7000 RAID5双盘故障数据恢复复盘
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
寺中人16 天前
Windows系统的GPT磁盘分区
windows·gpt·数据恢复·工具·winhex·硬盘修复
北亚数据恢复21 天前
存储互斥失败导致数据丢失的数据恢复成功案例
数据恢复·服务器数据恢复·北亚数据恢复·虚拟化数据恢复·存储数据恢复
北亚数据恢复24 天前
硬盘同步异常导致数据损坏,服务器数据恢复流程
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
北亚数据恢复1 个月前
服务器数据恢复—存储重建同步失败阵列失效 完整数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
北亚数据恢复1 个月前
服务器数据恢复—突破RAID6第二重校验 硬盘离线数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复
北亚数据恢复1 个月前
数据库数据恢复—无有效备份下Oracle Truncate数据表的数据恢复案例
oracle·数据恢复·服务器数据恢复·北亚数据恢复
CHS_Lab1 个月前
DELL服务器阵列崩溃恢复方法
服务器·数据恢复·dell·raid·阵列恢复·戴尔恢复·服务器恢复