服务器数据恢复环境:

一台服务器应用FreeNAS做iSCSI,借助两台服务器做虚拟化零碎;
FreeNAS采纳UFS2文件系统;
整个服务器建一个文件挂载给ESXi零碎;
ESXi虚拟化零碎有5台虚拟机:一台虚拟机部署了ASP.net和PHP,SqlServer2005和 mysql5.1两个数据库;另一台装置FreeBSD零碎,MySQL数据库;第三台虚拟机存储的是代码数据,这三台虚拟机上的数据是须要重点复原的。

服务器故障:

须要进行数据恢复的服务器在失常运行过程中意外断电,重启后虚拟化零碎无奈连贯服务器,FreeNAS中UFS2文件系统呈现问题。服务器管理员对文件系统进行了修复,然而ESXi零碎不能辨认原有数据和文件系统,分割我数据恢复核心进行服务器数据恢复。

服务器数据恢复过程:

此服务器数据恢复案例的利用构架档次:FreeNAS(UFS2文件系统–> 一个大的稠密模式的文件) –> ESXi(VMFS文件系统层) -> 单台虚拟机的虚构磁盘 (windows-NTFS文件系统/FreeBSD-UFS2文件系统)。

1、镜像FreeNAS层并剖析整个存储,只发现一个900多GB的文件名为iscsidata的大文件。通过UFS2文件系统的二进制构造定位到iscsidata文件的Inode数据发现此文件被重建过,inode指针指向的数据量很少。FreeNAS层问题无奈解决,就无奈进入到下一步的VMFS层剖析。

2、收集UFS2文件系统的重要构造:
块大小:16KB
Segment大小:2KB
柱面组大小:188176 KB
UFS2一个数据指针占8字节,一个块可存储2048个数据指针。那么一个二级指针块则可存储:2048204816KB=64GB的数据。一个三级指针块则可存储64GB*2048=128TB的数据。如果能找到iscsidata文件的三级指针块就能解决FreeNAS层问题。但iscsidata文件重建过,过程和大小都和原始的一样,初步判断有局部指针块已被笼罩。原始 iscsidata文件的inode和新建的iscsidata文件的inode就在一个地位。

3、尝试进行搜寻没有发现其它有用的inode,数据恢复工程师只得现场写程序收集有用的指针块:*

因为iscsidata文件采纳的是稠密模式,收集条件只能放宽,收集到了大量三级指针块和二级指针块。

4、对收集到的所有三级指针块进行剖析,没有发现iscsidata文件应用的三级指针块,初步判断在新建iscsidata文件时被新的笼罩(新的iscsidata文件在挂载到ESXi后有个VMFS格式化过程,而ESXi应用GPT分区,GPT分区会在磁盘最初写入冗余的GPT头和分区表信息数据,这样就会应用iscsidata文件的三级指针块)。

现只能剖析收集到的二级指针块,对有大量的二级指针块的指向数据进行DUMP,而后再从磁盘中的数据定位到二级指针。这样失去大量DUMP的数据。

5、剖析VMFS层。重格式化过VMFS,原始UFS2的指针已失落,VMFS元文件基本上不可用,无重要的参考信息,所幸虚拟机都有快照,仍可复原。通过单台虚拟机层(windows(NTFS)和 FreeBSD(UFS2)零碎的文件系统构造)向上定位到VMFS层,再通过VMFS层定位到DUMP出的单个64GB 文件,通过屡次组合,最终将这三台重要的虚拟机的虚构磁盘完全恢复。将复原进去的网页数据和数据库数据上传到新构建的零碎中,利用运行没有发现问题。通过3天的致力,服务器内的所有数据被胜利复原。