ITPub博客

首页 > IT基础架构 > 服务器/存储 > 【服务器数据恢复】意外断电导致FreeNAS中UFS2文件系统故障的数据恢复

【服务器数据恢复】意外断电导致FreeNAS中UFS2文件系统故障的数据恢复

原创 服务器/存储 作者:北亚数据恢复 时间:2022-05-07 10:41:26 0 删除 编辑

服务器数据恢复环境:


一台服务器使用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个数据指针。那么一个二级指针块则可存储:2048*2048*16KB=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天的努力,服务器内的所有数据被

成功恢复。


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

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

注册时间:2016-08-02

  • 博文量
    1128
  • 访问量
    877448