当前位置: 首页 > article >正文

服务器数据恢复—磁盘坏扇区导致raid6阵列崩溃的数据恢复案例

服务器存储数据恢复环境:
一台存储中有一组由12块SAS硬盘组建的raid6磁盘阵列,划分了1个卷,由数台Vmware ESXI主机共享存储。卷中存放了大量的Windows系统虚拟机。这些虚拟机系统盘大小一致,数据盘大小不确定,数据盘都是精简模式。

服务器存储故障:
机房异常断电导致存储瘫痪,加电后存储依然不可用。

服务器存储数据恢复过程:
1、将故障存储的所有磁盘编号后取出,将所有磁盘和备份数据的目标磁盘连入到一台安装Windows Server系统的服务器上,将故障存储中的磁盘都设为脱机(只读)状态。
通过软件查看的连接状态(HD1-HD12为目标备份磁盘,HD13-HD24为故障存储中的磁盘):

2、在底层读取HD13-HD24扇区,发现了大量坏扇区。初步判断这种硬盘的读取机制与常规硬盘不一样。更换操作主机、HBA卡、扩展柜甚至将操作系统更换为Linux,均呈现相同问题。与用户方工程师沟通,用户方工程师回应此控制器对磁盘没有特殊要求。
3、对硬盘损坏扇区的分布规律进行检测后发现如下规则:
a、损坏扇区分布以256个扇区为单位。
b、除损坏扇区片断的起始位置不固定外,后面的损坏扇区都是以2816个扇区为间隔。
所有磁盘的损坏扇区分布如下表(只列出前3个损坏扇区):

北亚企安数据恢复工程师编写了一个小程序,绕过每个磁盘的损坏扇区,镜像完所有故障存储中磁盘的数据。后续的数据分析和数据恢复操作都基于镜像文件进行。
4、基于镜像文件仔细分析损坏扇区后发现损坏扇区呈规律性出现,具有以下规律:
a、每段损坏扇区区域大小总是256扇区。
b、损坏扇区分布位置有一定规律性,每跳过11个256扇区遇到一个坏的256扇区。
c、损坏扇区的位置存在于RAID的P校验或Q校验区域。
d、所有硬盘中只有10号盘有一个自然坏道。
5、分析HD13、HD23、HD24的0-2扇区,按RAID6计算,将分区大小除以9,与物理硬盘大小以及控制器中保留的RAID信息区域大小吻合。根据物理硬盘底层表现,分区表大小为512字节,后面无8字节校验,大量的0扇区也无8字节校验。故原存储并未启用DA技术(520字节扇区)。
分区大小如下图(GPT分区表项底层表现,涂色部分表示分区大小,单位512字节扇区,64bit):

6、存储被分成一个大的卷,分配给几台ESXI做共享存储,因此卷的文件系统是VMFS。而VMFS卷中又存放了大量的Windows系统虚拟机。Windows系统虚拟机中使用的是NTFS文件系统,可以根据NTFS中的MFT的顺序分析出RAID条带的大小以及RAID的走向。
在给所有磁盘做镜像过程中,发现最后一块硬盘中并没有像其他硬盘中一样有大量的坏道,其中有大量未损坏扇区,这些未损坏扇区大多是全0扇区,因此可以判断这块硬盘是热备盘。
7、根据分析获取到的RAID结构信息重组RAID,重组后已经能看到目录结构,但是不确定是否为最新状态。随机检测几个虚拟机发现有部分虚拟机数据异常,初步判断RAID中存在掉线的磁盘。依次将RAID中的每一块磁盘踢掉,然后查看刚才数据异常的地方,未果。仔细分析底层数据发现问题不是出在RAID层面,而是出在VMFS层面上。如果VMFS大于16TB会存在一些其他的记录信息,因此在组建RAID的时候需要跳过这些记录信息。跳过这些记录信息后再次重组RAID,查看之前数据异常的地方就可以对上了。针对其中的一台虚拟机做验证:将所有磁盘加入RIAD中后,这台虚拟机是可以启动的,但在缺盘的情况下启动就有问题,因此判断整个RAID处在不缺盘的状态为最佳。
8、验证重要的虚拟机,发现大部分虚拟机都可以开机进入登陆界面。只有部分虚拟机开机蓝屏或开机检测磁盘,但是通过光盘修复之后都可以启动。

9、验证数据库
验证重要虚拟机中的数据库,发现数据库都正常。其中有一个数据库,据用户描述是缺少部分数据,但是经过仔细核对后发现这些数据在数据库中本来就不存在。通过查询master数据库中的系统视图。
查询结果如下图:

10、由于虚拟机的数量很多,如果验证每台虚拟机所需时间很长,因此对整个VMFS卷做检测。在检测VMFS卷的过程中发现有部分虚拟机或虚拟机的文件被破坏。

11、北亚企安数据恢复工程师向客户描述了目前的恢复情况。用户对几台重要的虚拟机进行验证后,认可恢复的数据结果。于是着手恢复所有数据。
使用目标磁盘在一台存储上组建了一组RAID6阵列,将重组的RAID数据镜像到目标阵列上,然后解析整个VMFS文件系统。
12、将恢复好的VMFS卷连接到一台ESXI主机上,尝试将其挂载到的ESXI环境中。但是由于ESXI版本不同或VMFS本身有损坏,挂载不成功。尝试使用ESXI的命令挂载也不成功,于是放弃挂载VMFS卷。
13、安排工程师将那台新组建raid6阵列的存储带到用户方现场,依次导出VMFS卷中的虚拟机。
a、将存储上的数据通过HBA卡连接到用户的VCenter服务器上。
b、在VCenter服务器安装“UFS”工具,然后使用“UFS”工具解释VMFS卷。
c、使用“UFS”工具将VMFS卷中的虚拟机导入到VCenter服务器上。
d、使用VCenter的上传功能将虚拟机上传到ESXI的存储中。
e、将上传完的虚拟机添加到清单,开机验证。
f、如果有虚拟机开机有问题,则尝试使用命令行模式修复,或者重建虚拟机并将恢复的虚拟机磁盘(既VMDK文件)拷贝过去。
g、由于部分虚拟机的数据盘很大而数据很少。针对这种情况可以直接导出数据,然后新建一个虚拟磁盘,将导出的数据拷贝至新建的虚拟磁盘中即可。
通过上述方式将恢复的虚拟机逐台恢复到用户的ESXI环境中。


http://www.kler.cn/news/293248.html

相关文章:

  • 校园体育装备展-2025中国(深圳)国际学校体育装备展览会
  • 【Kafka】怎么解决Kafka消费者消费堆积问题?
  • windows 11/ubuntu Teredo 设置 (ipv4 转 ipv6)
  • 数据结构之——顺序表中基本操作的实现
  • 读懂以太坊源码(2)-重要概念Gas
  • 【Kubernetes 】k8s常用单词
  • Linux:深入剖析计算机软硬件架构
  • 单一职责原则介绍
  • Gartner报告解读:如何帮助企业完善数据分析与治理路线图
  • Jmeter模拟用户登录时获取token如何跨线程使用?
  • PostgreSQL技术内幕8:PostgreSQL查询执行器
  • 完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (二) 源码架构流程梳理、代码编写
  • Python爬虫01
  • 代码随想录:343. 整数拆分
  • ECMAScript与JavaScript的区别:深入解析与代码示例
  • MP条件构造器之常用功能详解(select、set)
  • MySQL——事务与存储过程(三)存储过程的使用(4)删除存储过程
  • 三星的新款笔记本电脑AI性能提升一倍
  • vite创建的vue项目怎么使用jsx来实现elementPlus表格表尾的合计有多行大的方法
  • 【全网最全】2024年数学建模国赛D题39页成品论文+matlab代码+结果等(后续会更新)
  • 身份验证技术应用10大关键趋势
  • 图论题总结
  • 基于JavaWeb开发的Java+Springboot+Vue+elememt美食论坛平台设计实现
  • 安卓逆向(之)真机root(红米手机)
  • 社群空间站付费入群系统易支付版全套搭建教程
  • 【嵌入式学习笔记】---- 通信基础
  • 关于蓝屏查看日志分析原因
  • C_13_FILE
  • 【Spring】Spring MVC 入门(2)
  • css之雪碧图(精灵图)