了解这些信息,你会知道在ESXi5.0 的虚拟化系统下文件出现故障时,我们能做些什么?

ESXi5虚拟化系统情景概述

用户使用的存储模式是通过iSCSI方式来实现FC SAN的功能。同时利用DELL服务器做的物理存储架构,利用FreeNAS实现iSCSI。并另外通过两台 DELL 服务器做 ESXi5.0 的虚拟化系统。

1、FreeNAS 层为UFS2文件系统,整个存储建一个稀疏模式的文件,挂载在ESXi5.0 系统上。

2、ESXi系统内运行6台虚拟机,其中有三台最为重要。

3、第一台windows2003系统虚拟机是此公司在当地的门户网站

混合构架类型:ASP.netPHP

数据库类型: SqlServer2005Mysql 5.1

4、第二台FreeBSD 系统,运行Mysql数据库,供其它多台虚拟机使用。

5、第三台windows2003服务器,存储新开发的程序代码。

ESXi5虚拟化系统故障描述

工作人员在检查时发现ESXi系统无法连接存储,通过后续的排查FreeNAS中发现UFS2文件系统出现故障,之后用fsck对文件系统进行修复 修复后ESXi 系统可以连上存储,但ESXi系统未能识别到原来的数据存储和VMFS文件系统,工作人员格式化VMFS后发现没有任何数据。

ESXi5虚拟化系统数据恢复步骤

1FreeNAS文件系统---应用构架层次:

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

2FreeNAS文件系统--分析存储:

镜像 FreeNAS 层,分析存储,我们可以发现一个900GB的大文件,文件名: iscsidata1。通过UFS2文件系统的二进制结构,定位到 iscsidata文件的Inode数据,发现此文件有被重建的迹象inode指针指向的数据量很少。FreeNAS层无法解决,就无法进入到的 VMFS层分析阶段。

收集UFS2文件系统的重要结构:

块大小:16KB

Segment 大小:2KB

柱面组大小:188176 KB

UFS2一个数据指针占 8字节,一个块可存储 2048个数据指针。那么一个二级指针块则可存储:2048*2048*16KB= 64GB 数据。一个三级指针块则可存储 64GB*2048= 128TB 数据。如果能找到 iscsidata文件的三级指针块就能解决 FreeNAS层问题。但iscsidata1文件重建过,过程和大小都和原始的一样,估计有部分指针块已被覆盖。原始 iscsidata1 文件的 inode和新建的 iscsidata文件的 inode 就在一个位置,尝试进行搜索,无其它有用的inode出现。只得现场写程序收集有用的指针块:

由于iscsidata1文件是使用稀疏模式,收集条件只能放宽,收集到了大量三级指针块和二级指针块。对收集到的所有三级指针块进行分析,都是无效的,无iscsidata1文件使用的三级指针块,估计在新建iscsidata1文件时被新的覆盖(新的iscsidata1文件在挂载到ESXi5.0后有个VMFS格式化过程,而 ESXi5.0 使用GPT分区,GPT分区会在磁盘最后写入冗余的GPT头和分区表信息数据,这样会使用iscsidata1文件的三级指针块)。

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

3FreeNAS文件系统--开始分析 VMFS 层:

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

ESXi5虚拟化系统恢复结果】

经用户验收,数据无误,至此数据恢复工作结束。

 

posted on   北亚数据恢复  阅读(238)  评论(0编辑  收藏  举报

编辑推荐:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示