关于航天XXX所Xen Server虚拟机数据恢复情况的说明

  • 基本情况:

 

接到航天XXX所信息中心求助电话,说一台服务器数据丢失。随后,我公司立即派总工程师前往了解具体情况。

经了解,该服务器为DELLXXXXXXXX,共有六块146GB硬盘,其中0、1、2、3#硬盘组成RAID10,用于存放Citrix Xenserver基于Linux的虚拟化服务器,Xenserver服务器系统版本为6.0.2;4、5#硬盘组成RAID1,用于容量的扩展。

故障源自于 0#盘掉线后,另三块盘也呈现为离线状况,而导致XenServer系统无法启动,导致RAID10存储内部的两个虚拟机数据丢失。随后,在存储服务商的指导下,经过更换故障硬盘、RAID卡及服务器主板后,三块硬盘能正常识别。把另一块新更换的硬盘强制上线,存储系统自动进行Rebuild,完成后还进行了内部VD0的Rebuild。整个重建时间约XX小时。但Rebuild完成后,Xenserver虚拟化服务器仍然无法启动。

为避免故障的扩大化和内部数据的进一步破坏,我们先期对RAID10存储组的每块硬盘都做了一次只读操作,完成各盘字节级的镜像工作。此后,将RAID10存储组的四块硬盘进行了封存,以保证内部数据的绝对安全。

在此基础上,我们在Windows环境下,搭建了一个工作平台,对Xenserver虚拟化服务器镜像文件进行虚拟重组,将其还原为单盘存储系统后,对服务器底层数据结构进行了分析。

经查,该服务器在LINUX启动分区内,/etc/lvm目录缺失,备份的LVM卷信息丢失,SR(存储库)信息无法识别,所有虚拟磁盘(VDI)丢失,于是在 Xenserver虚拟机服务程序在启动过程中,因存储库信息无法识别,从而导致启动失败。

随后,我们检测了启动卷后一个正常虚拟机服务器理论上应有的LVM卷信息全被清空,所有的LV的片断索引信息全部丢失。

在进一步的检测中,我们发现存储系统内部的确存在典型的NTFS文件系统结构,经与信息中心和工了解,确认故障以前,服务器内部虚拟机系统为Windows Server2003,另外还发现了一些我们熟知的PDF文档、OFFICE文档以及前此在五一七所做过专题解析的由PRO-E产生的PRT文件结构特征点。可以确认,所丢失数据有恢复的希望。

由于以单个文件的方式所提取的文件(如PRT)不能满足研究所的工作要求,我们只能对全部的动态盘和差异盘找回每个VDI的LV EXTENTS信息,并重建索引信息,以尽可能还原所丢失数据。

经十个工作日的努力,我们的劳动终于有了成果,累计恢复数据量约250GB,所丢失数据按丢失前的目录结构全部还原出来,经应用工程师的检验,证实是可用的,达到了本次数据恢复的目的。

——摘自《关于航天XXX所Xen Server虚拟机数据恢复的情况报告》150206


评论