服务器数据恢复环境:
某品牌存储,12 块 SAS 硬盘组建 RAID6 磁盘阵列,划分一个卷,调配给几台 Vmware ESXI 主机做共享存储。
卷中寄存了大量的 Windows 虚拟机,虚拟机通过模板创立的,系统盘大小统一,数据盘大小不确定,数据盘都是精简模式。
服务器故障:
机房意外断电,电力供应恢复正常后存储无奈失常开机应用。通过用户方工程师诊断,初步判断是意外断电导致的存储设备中的磁盘阵列损坏。
服务器数据恢复过程:
1、尝试将故障存储中所有磁盘以只读形式做全盘镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,防止对原始磁盘数据造成二次毁坏。
2、在镜像的过程中发现大量损坏扇区。初步判断是因为这类硬盘的读取机制与惯例硬盘不一样。尝试更换主机、HBA 卡、扩大柜和操作系统,均呈现雷同的故障。与用户方工程师沟通后得悉 raid 控制器对磁盘并没有特殊要求。
3、对硬盘损坏扇区的散布法则进行检测,发现以下法则:
a、损坏扇区以 256 个扇区为单位散布。
b、除了损坏扇区片断的起始地位不固定,前面的损坏扇区都是以 2816 个扇区为距离。
所有磁盘的损坏扇区散布如下表(只列出前 3 个损坏扇区):
4、北亚企安数据恢复工程师编写小程序对每个磁盘的损坏扇区做绕过解决,用此程序镜像完所有磁盘的数据。
5、基于镜像文件剖析损坏扇区,发现损坏扇区呈规律性呈现:
a、每段损坏扇区的区域大小为 256。
b、损坏扇区散布为固定区域,每跳过 11 个 256 扇区就会遇到一个坏的 256 扇区。
c、损坏扇区的地位总是位于 RAID 的 P 校验或 Q 校验区域。
d、所有磁盘中只有 10 号盘有一个天然坏道。
6、通过剖析扇区得悉分区大小(扇区数)。依照 RAID6 的模式计算后得出的后果和 raid 控制器中保留的 RAID 信息区域大小吻合。依据物理硬盘底层体现,分区表大小为 512 字节,前面无 8 字节校验,大量的 0 扇区也无 8 字节校验。综合以上信息能够确定故障存储并未启用 DA 技术 (520 字节扇区)。
分区大小如下图(GPT 分区表项底层体现,涂色局部示意分区大小,单位 512 字节扇区,64bit):
7、重组 RAID。
a、存储应用的是规范的 RAID6 阵列。整个存储被划分为一个卷并调配给几台 ESXI 做共享存储,因而卷的文件系统是 VMFS。VMFS 卷中寄存了大量的 Windows 虚拟机,Windows 虚拟机应用的 NTFS 文件系统,能够依据 NTFS 中的 MFT 的程序剖析出 RAID 条带的大小以及 RAID 的走向。
b、镜像完所有磁盘后发现最初一块硬盘并没有像其余磁盘一样有大量的坏道。这块磁盘中有大量的未损坏扇区,这些未损坏扇区基本上是全 0 扇区,能够判断这块硬盘是热备盘。
c、依据剖析进去的 RAID 相干信息重组 RAID。
重组实现后能够看到目录构造,然而不确定是否为最新状态。检测几个虚拟机发现有局部虚拟机的数据异样,初步判断 RAID 中存在掉线的磁盘。将 RAID 中的每一块磁盘顺次踢掉后再查看方才数据异样的中央,没有发现问题起因。
仔细分析底层数据发现问题不是出在 RAID 层面,而是出在 VMFS 文件系统层面。如果 VMFS 文件系统大于 16TB,就会存在一些其余的记录信息,组建 RAID 时候须要跳过这些记录信息。再次重组 RAID 后查看以前数据异样的中央,发现问题曾经解决了。
筛选其中的一台虚拟机做验证,将所有磁盘退出 RIAD 中后,发现这台虚拟机是能够启动的,但在缺盘的状况下启动就呈现问题。因而能够判断该 RAID 在不缺盘的状态下为最佳。
8、验证虚拟机。
对重要的虚拟机做验证,发现大部分虚拟机能够开机进入登录界面。只有有少部分虚拟机开机蓝屏或开机检测磁盘,然而通过光盘修复之后都能够失常启动。
9、验证数据库。
针对重要虚拟机中的数据库做验证,数据库都失常。然而有一个数据库,据用户形容如同短少局部数据,然而通过认真核查后发现这些数据在数据库中原本就不存在。通过查问 master 数据库中的零碎视图,查出所有数据库信息如下:
10、查看 VMFS 卷的完整性。
因为虚拟机数量较大,对每台虚拟机进行验证不太事实。所以咱们对整个 VMFS 卷做检测,在检测 VMFS 卷的过程中发现局部虚拟机或虚拟机文件被毁坏。
11、批量复原数据。
筹备指标磁盘,组建一个 RAID 阵列。将重组的 RAID 数据镜像到指标阵列上,而后利用北亚企安自研程序解析整个 VMFS 文件系统 & 提取 VMFS 卷。
12、移交数据。
在北亚企安数据恢复工程师的帮助下,将复原进去的数据迁徙到用户方筹备好的环境中。