hyper - v虚拟化未知原因故障导致数据丢失解决过程

  

简介:

  

由于MD3200存储中虚拟机的数据文件丢失,导致整个hyper - v服务瘫痪,虚拟机无法使用,故障环境为Windows Server 2012服务器,系统中部署了hyper - v虚拟机环境,虚拟机的硬盘文件和配置文件放在朝阳区某托管中心托管的戴尔MD3200存储中(注:硬盘600 g 4, 4 t 1) .MD3200存储是由4块600克硬盘组成的阵列,用作存储虚拟机的数据文件。单块4 t硬盘用作虚拟机数据文件的备份。

  

故障:

  

由于MD3200存储中虚拟机的数据文件丢失,导致整个hyper - v服务瘫痪,虚拟机无法使用。以如下流程进行数据检测:

  
      <李>对MD3200存储服务器进行物理检测,发现存储并未出现物理故障,涉事硬盘均正常工作李   <李>检查操作系统:工作正常中,未发现出错进程,排除因操作系统错误导致的数据丢失。   <李>分析丢失数据硬盘的文件系统:打开正常,不符合病毒破坏的表现特征,同时经杀毒软件检测无病毒。再仔细分析硬盘的文件系统,发现此文件系统的元文件创建时间为11月28日,表明文件系统的创建时间为11月28日,与数据丢失的时间相吻合。通常这种故障表明:文件系统被人为重写了,即分区被格式化了。   <李>检查系统日志:发现系统日志11月28号之前以及当天的系统日志已被清空,审核日志和服务日志却并未清空。通常情况下,此操作应该由人为导致。而格式化分区的操作只记录在系统日志中,这与上述人为破坏的表现相符。   <李>尝试恢复系统日志:仔细分析硬盘底层数据,发现硬盘底层中需要恢复的系统日志已被新的日志记录覆盖,无法恢复。   <李>分析操作系统中的所有分区:发现只有MD3200存储中的两个分区的文件系统被重新写入文件系统了。通常情况下,对两个分区的格式化需要有两个独立的过程,因此这种针对性的操作应该由人为导致。   
  

解决方案

  

<强>备份用户数据
由于数据全部都放戴尔M3200存储中,因此只需要恢复戴尔M3200存储中的数据即可。将戴尔M3200存储中所有的硬盘标上编号,然后后从存储中拔下来交给硬件部门检测硬盘是否存在物理故障。经检测没问题后对每块硬盘做全盘镜像,使用专用工具(Winhex)将硬盘中所有扇区镜像到一块备份硬盘中。
如下图:使用专业工具备份所有硬盘数据
 hyper - v虚拟化未知原因故障导致数据丢失解决过程”> <br/> <强>重组磁盘阵列</强> <br/>镜像完所RAID 5的相关信息,如:条带大小,条带走向等信息。根据这些信息即可重组有硬盘后,分析每块硬盘上的数据。分析后发现4块600克硬盘做了一个RAID5,另一块4 t硬盘是做为数据备份使用。仔细分析4块600克硬盘中的数据结构,可以得出这个此袭击。<br/>如下图:使用专业工具重组突袭</p>
  <p> <img src=

  

<强>扫描旧的文件索引项
仔细分析硬盘底层数据,发现硬盘底层中还残留着许多以前文件系统的目录项及文件索引。经过仔细核对发现这些文件索引指向的数据都是用户丢失的文件内容。但由于整个硬盘太大,人工去搜索文件索引会很慢,因此编写一个提取文件索引项的小程序,对整个硬盘中所有存在的文件索引项做扫描,提取所有文件的文件索引项。

  

<>强分析扫描到文件索引项
对扫描到的所有文件索引项做详细的分析,发现其索引项都是不连续的,并且大多都是以16 k或8 k对齐的。正常情况下的文件索引项是连续的,大小为固定的1 k,每个文件索引项对应一个文件或目录。而扫描出来的这些不连续,并且不完整的文件索引项是无法正常索引到文件的内容。因此需要对扫描出来的文件索引项做加工处理。在扫描出来的文件索引项中搜索“.VHD”,能找到一个“.VHD”的文件记录,然后将这个片连续的文件索引项提取出来,接着再查看这段提取出来的文件索引项中是否有指向下一段文件索引项的记录或者是水属性。如果有则根据文件索引项中的特征去匹配下一段文件索引项,如果没有则跳过这段文件索引项。根据以上方法基本能查到大多数的文件索引项片段。而缺失的文件索引项片段有可能被破坏了,但是可以从数据备份盘中去查找缺失的文件索引项片段,因此基本可以搜索到大部分的文件索引项。

hyper - v虚拟化未知原因故障导致数据丢失解决过程