虚拟化数据恢复环境:
Windows Server操作系统服务器上部署Hyper-V虚拟机环境。虚拟机的硬盘文件和配置文件存放在一台存储中,该存储上有一组由4块硬盘组建的raid5阵列,除此之外,还有一块单盘存放档虚拟机的备份文件。
虚拟化故障&检测:
存储中存放的虚拟机数据文件丢失,导致整个Hyper-V服务瘫痪,虚拟机无法使用。
北亚企安数据恢复工程师达到现场后,对故障虚拟化环境做了以下检测:
1、对服务器和存储进行物理故障检测,经过检测没有发现设备存在物理故障,硬盘均正常读取和工作。
2、对服务器操作系统进行检测:检测结果为操作系统工作正常,未发现错误进程,排除操作系统问题。
3、对丢失数据的硬盘的文件系统进行检测:文件系统打开正常,杀毒软件检测正常。经过检测发现文件系统的元文件创建时间(文件系统的创建时间)与数据丢失的时间一致。这种表现意味着:文件系统被人为重写,即分区被格式化了。
4、对系统日志进行检测:发现数据丢失的当天以及之前的系统日志被清空,审核日志和服务日志却还存在。这种表现意味着此操作是人为造成的。格式化分区的操作只记录在系统日志中,符合人为破坏的特征。
5、尝试恢复系统日志:仔细分析硬盘底层数据,发现硬盘底层中需要恢复的系统日志已被新的日志记录覆盖,无法恢复。
6、对操作系统中的所有分区进行分析:发现只有存储中的两个分区被重新写入文件系统了。两个分区的格式化需要两个独立的过程来完成,这种针对性的操作应该是人为的。
虚拟化数据恢复过程:
1、将故障存储中所有的硬盘做好标记,从槽位上拔出,经硬件工程师检测没问题。以只读方式将所有磁盘进行扇区级全盘镜像,镜像完成后将所有磁盘按照原样还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
备份硬盘数据:
2、基于镜像文件分析所有硬盘底层数据,获取重组RAID5所需要的相关信息(条带大小,条带走向、盘序)等信息。根据上述获取到的信息重组RAID。
重组RAID:
打开阵列:
3、分析硬盘底层数据,发现着许多以前文件系统的目录项及文件索引残留。经过核对发现这些文件索引指向的数据都是用户丢失的文件内容。北亚企安数据恢复工程师编写了一个提取文件索引项的小程序,扫描&提取所有存在的文件索引项。
4、分析扫描到的文件索引项,发现这些索引项都是不连续的且大多是以16K或8K对齐的。正常情况下,文件索引项是连续的且大小为固定的1K,每个文件索引项对应一个文件或目录。扫描出来的这些不连续且不完整的文件索引项无法正常索引到文件的内容,需要对这些扫描出来的文件索引项进行处理。
文件索引项截图:
5、找到所有的文件索引项后根据文件索引项的编号将其拼接成目录结构。虽然有部分文件索引项被破坏,但是找到大部分文件索引项已经足够拼接出目录结构了。
扫描到的文件索引项碎片:
6:将重建好的目录结构和现有文件系统中的目录结构进行替换,修改部分校验值,然后对这个目录结构进行解释即可看到丢失的数据。
解释出来的目录结构:
验证数据的正确性:将其中一个比较新的VHD文件恢复出来,然后将其拷贝到一台支持附加VHD的服务器上,尝试附加此VHD。结果附加成功,检查VHD中{BANNED}最佳新数据是否完整。如果数据是完整的,就将所有数据恢复到一块硬盘中。
恢复出来的虚拟机数据文件:
7、在一台测试服务器上搭建Hyper-V的环境。将恢复出来的虚拟机文件连接到这台服务器上,然后通过导入虚拟机的方式将恢复出来的数据迁移到新的Hyper-V环境。让用户方验证所有虚拟机是否完整。
虚拟机导入的过程:
8、用户方经过验证,确认所有虚拟机没有问题。将所有数据拷贝到用户方准备好的服务器中,然后利用导入的方式将虚拟机导入到用户方准备好的Hyper-V环境中。需要以下面的方式导入虚拟机,导入后没有出现报错。启动所有虚拟机,所有虚拟机启动都没问题。