虚拟机数据恢复环境:
架构在一台DELL服务器上的存储应用FreeNAS来做iSCSI;
另外两台DELL服务器做ESXi虚拟化零碎(共5台虚拟机);
FreeNAS是UFS2文件系统,整个存储建一个稠密模式的文件,挂载到ESXi零碎。
ESXi虚拟化零碎中最重要的3台虚拟机根本状况:
一台windows server零碎,外部数据为该公司的门户网站,ASP.net+PHP混合构架,数据库:SqlServer+mysql。
一台为FreeBSD零碎,存储Mysql数据库,供其它多台虚拟机应用。
一台为windows server零碎,存储此公司新开发的程序代码。
虚拟机故障状况:
一次意外断电后,ESXi零碎连贯不上存储。通过查看后发现FreeNAS中的UFS2文件系统呈现问题。管理员用fsck修复文件系统。修复实现后ESXi零碎能够连上存储,但ESXi零碎不能辨认到原来的数据存储和VMFS文件系统。管理员分割咱们数据恢复核心进行数据恢复。
虚拟机数据恢复过程:
本案例的利用构架档次:FreeNAS(UFS2文件系统–> 一个稠密模式的文件) –> ESXi(VMFS文件系统层) -> 单台虚拟机的虚构磁盘 (windows-NTFS文件系统/FreeBSD-UFS2文件系统)。
1、镜像FreeNAS层。整个存储的文件就是一个名称为iscsidata的900+GB的文件。
2、通过UFS2文件系统的二进制构造,定位到iscsidata文件的Inode数据,数据恢复工程师发现此文件被重建过,inode指针指向的数据量很少。FreeNAS层的问题无奈解决,就无奈进入到下一步的VMFS层剖析。
收集UFS2文件系统的重要构造:
块大小:16KB
Segment大小:2KB
柱面组大小:188176KB
UFS2一个数据指针占8字节,一个块可存储2048个数据指针,一个二级指针块可存储:2048204816KB= 64GB数据,一个三级指针块可存储64GB*2048= 128TB数据。如果能找到iscsidata文件的三级指针块就能解决FreeNAS层的问题。iscsidata文件重建过,推断有局部指针块已被笼罩。原始iscsidata文件的inode和新建iscsidata文件的 inode就在一个地位,数据恢复工程师尝试搜寻没有发现其它有用的inode,只能编写程序收集有用的指针块:
3、因为iscsidata文件是应用稠密模式,放宽程序的收集条件,收集到大量三级指针块和二级指针块。
4、对所有收集到的三级指针块进行剖析,数据恢复工程师发现这些指针块都是有效的,没有发现iscsidata文件应用的三级指针块。数据恢复工程师推断呈现这种状况是因为在新建iscsidata文件时被笼罩(新的iscsidata文件在挂载到ESXi后有个VMFS格式化过程,而本案例中的ESXi版本 应用的是GPT分区,GPT分区会在磁盘最初写入冗余的GPT头和分区表信息数据,这样会应用iscsidata文件的三级指针块)。
5、数据恢复工程师剖析收集到的二级指针块,对有大量的二级指针块的指向数据进行DUMP,而后再从磁盘中的数据定位到二级指针。通过这种形式取得大量DUMP的数据。
6、剖析VMFS层。因为管理员格式化过VMFS,原始UFS2的指针已失落,VMFS元文件基本上不可用,无重要参考信息。所幸虚拟机都有快照,仍可复原。通过单台虚拟机层(windows(NTFS)和 FreeBSD(UFS2)零碎的文件系统构造)向上定位到VMFS层,再通过VMFS层定位到DUMP出的单个64GB 文件。通过屡次组合,最终将这三台重要的虚拟机的虚构磁盘数据完全恢复进去。
7、将复原进去的网页数据和数据库数据上传到新构建的零碎中,拉起利用,没有发现任何问题。历时4天,数据恢复实现。
发表回复