ITPub博客

首页 > 云计算 > 虚拟化 > 虚拟化数据恢复—FreeNAS数据恢复案例

虚拟化数据恢复—FreeNAS数据恢复案例

原创 虚拟化 作者:北亚数据恢复 时间:2024-11-11 10:48:32 0 删除 编辑

虚拟化数据恢复环境:

SAN环境下通过iSCSI实现FreeNAS,FreeNAS采用的UFS2文件系统。物理存储架构在一台服务器上,另外两台服务器上安装ESXi虚拟化系统。整个存储建立一个稀疏模式的文件,并挂载到ESXi虚拟化系统上。ESXi系统上有5台虚拟机。

其中有三台虚拟机比较重要:第一台安装windows server操作系统的虚拟机作为网站服务器使用,部署了ASP.net+SqlServer和PHP+mysql两套架构;第二台虚拟机安装FreeBSD系统,部署Mysql数据库,供其它几台虚拟机使用;第三台虚拟机安装windows server操作系统,存放程序代码。


虚拟化故障:

一次异常断电后,ESXi虚拟化系统连不上存储。管理员发现FreeNAS上的UFS2文件系统出现问题,于是使用fsck命令修复文件系统。 虽然在修复完成后ESXi系统可以连上存储,但是ESXi系统无法识别到原来的数据存储和VMFS文件系统,管理员格式化VMFS后发现里面空无一物。


虚拟化数据恢复过程:

应用构架:FreeNAS(UFS2文件系统–> 一个大的稀疏模式的文件)–> ESXi (VMFS文件系统层) -> 单台虚拟机的虚拟磁盘 (windows server-NTFS文件系统/FreeBSD-UFS2文件系统)。

1、镜像FreeNAS。基于镜像文件分析整个存储,发现一个名称为iscsidata的大文件。根据UFS2文件系统的二进制结构定位到iscsidata文件的Inode数据,发现此文件被重建过,inode指针指向的数据量很少。FreeNAS层问题无法解决,无法进入到下一步的VMFS层分析。

UFS2文件系统结构:

块大小:16KB

Segment大小:2KB

柱面组大小:188176KB

UFS2文件系统一个数据指针占8字节,一个块可以存储2048个数据指针,一个二级指针块可存储2048×2048×16KB=64GB数据,一个三级指针块则可存储64GB*2048=128TB数据。如果能找到iscsidata文件的三级指针块就能解决FreeNAS层问题,但是iscsidata文件被重建过,应该有部分指针块已被覆盖。原始 iscsidata文件的inode和新建iscsidata文件的inode在一个位置,尝试搜索没有发现有用的inode。北亚企安数据恢复工程师编写程序收集有用的指针块。

2、由于iscsidata文件使用的稀疏模式,放宽收集条件后收集到了大量三级指针块和二级指针块。分析发现所有收集到的三级指针块都是无效的,没有发现iscsidata文件使用的三级指针块,估计在新建iscsidata文件时被覆盖。

3、分析收集到的二级指针块,对有大量二级指针块的指向数据进行DUMP,得到大量DUMP的数据。

4、因为重新格式化过VMFS文件系统,原始UFS2文件系统的指针已经丢失,VMFS元文件基本上不可用,无重要的参考信息。通过单台虚拟机(windows(NTFS)和FreeBSD(UFS2)系统的文件系统结构)向上定位到VMFS层,再通过VMFS层定位到DUMP出的单个64GB文件。通过多次组合,最终这三台重要虚拟机的虚拟磁盘数据已完全恢复。将恢复出的网页数据和数据库数据上传到一新建的系统中,拉起应用,数据完全无问题。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31380569/viewspace-3048292/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
从事服务器数据恢复、磁盘阵列数据恢(DEll、HP、IBM、华为、NetApp等),虚拟化数据恢复(VSAN、VMware、Kvm等),数据库数据恢复(Oracle、Sql Server、MySql、Mongodb等),小型机数据恢复等方面的。24h数据救援13439392933

注册时间:2016-08-02

  • 博文量
    1127
  • 访问量
    876113