【服务器数据恢复背景】

本次数据恢复的设备是一台服务器,使用的是FreeNAS做iSCSI,再借助于两台服务器做虚拟化系统。FreeNAS层面是UFS2文件系统,整个服务器建一个文件然后挂在给ESXi5.0 系统。这个虚拟化系统中一共有5台虚拟机,其中一台虚拟机采用了ASP.net和 PHP 混合构架,SqlServer2005和 mysql 5.1两个数据库。还有另一台是FreeBSD系统,MySQL数据库,还有一台服务器存储的是代码数据,这三台虚拟机是该服务器上数据恢复的重点数据,必须要进行完美数据恢复。

【服务器数据恢复故障】

需要数据恢复的服务器在正常运行过程中意外断电,重启后虚拟化系统无法链接服务器,FreeNAS中发现UFS2文件系统出现问题,该公司管理员对文件系统进行了修复,但是ESXI系统不能识别原有数据和文件系统。管理员联系到数据恢复中心进行服务器数据恢复。

【服务器数据恢复过程】

分析故障,最大化利用可用信息。开始抽丝剥茧:
应用构架层次:FreeNAS(UFS2文件系统–> 一个大的稀疏模式的文件) –> ESXi 5.0(VMFS文件系统层) -> 单台虚拟机的虚拟磁盘 (windows-NTFS文件系统/FreeBSD-UFS2文件系统)。

第一步是镜像 FreeNAS 层,然后分析整个存储,发现就一个900多GB的大文件,文件名: iscsidata。通过UFS2文件系统的二进制结构,定位到 iscsidata 文件的Inode数据,发现此文件被重建过,inode指针指向的数据量很少。FreeNAS层无法解决,就无法进入到下一步的 VMFS层分析。
收集UFS2文件系统的重要结构:
块大小:16KB
Segment 大小:2KB
柱面组大小:188176 KB
UFS2一个数据指针占 8字节,一个块可存储 2048个数据指针。那么一个二级指针块则可存储:2048*2048*16KB= 64GB 数据。一个三级指针块则可存储 64GB*2048= 128TB 数据。如果能找到 iscsidata 文件的三级指针块就能解决 FreeNAS层问题。但iscsidata文件重建过,过程和大小都和原始的一样,估计有部分指针块已被覆盖。原始 iscsidata 文件的 inode和新建的 iscsidata 文件的 inode 就在一个位置,尝试进行搜索,无其它有用的inode出现。只得现场写程序收集有用的指针块:
图一:

由于iscsidata文件是使用稀疏模式,收集条件只能放宽,收集到了大量三级指针块和二级指针块。对收集到的所有三级指针块进行分析,都是无效的,无iscsidata文件使用的三级指针块,估计在新建iscsidata文件时被新的覆盖(新的iscsidata文件在挂载到ESXi5.0后有个VMFS格式化过程,而 ESXi5.0 使用GPT分区,GPT分区会在磁盘最后写入冗余的GPT头和分区表信息数据,这样会使用iscsidata文件的三级指针块)。
现只能分析收集到的二级指针块,对有大量的二级指针块的指向数据进行DUMP,然后再从磁盘中的数据定位到二级指针。这样得到大量DUMP的数据。
开始分析 VMFS 层:
重格式化过VMFS,和原始UFS2的指针已丢失,造成VMFS元文件已基本上不可用,无重要的参考信息,所幸虚拟机都无快照,仍可恢复。通过单台虚拟机层(windows(NTFS)和 FreeBSD(UFS2)系统的文件系统结构),向上定位到VMFS层,在通过VMFS层定位到DUMP出的单个64GB 文件,通过多次组合,最终这三台重要的虚拟机的虚拟磁盘都已完全恢复。将恢复出的网页数据和数据库数据上传到一新构建的系统中,拉起应用,数据完全无问题。
图二:(图片来源于数据恢复)

【服务器数据恢复结果】

耗时3天,该服务器内的所有数据成功恢复。

服务器数据恢复案例:FreeNAS数据恢复过程记录相关推荐

  1. AI:基于计算机视觉和语音识别案例项目打包过程记录20181226-19

    AI:基于计算机视觉和语音识别案例项目打包过程记录20181226-19 基于计算机视觉和语音识别案例项目打包过程 521 INFO: PyInstaller: 3.3.1 521 INFO: Pyt ...

  2. 使用百度云服务器BCC搭建网站,过程记录

    1.买了个最低端的百度云云服务器:1G内存+1核+40系统盘,获得一个静态服务IP地址,之前在阿里那边买个一个域名,在百度云备案一下,通过后就可以正常解析,把域名和IP对应起来了,主要目的是熟悉一下整 ...

  3. 苏州FreeNAS+ESXi5数据恢复案例

    苏州FreeNAS+ESXi5数据恢复案例 [物理与逻辑存储] 此公司使用一种廉价的存储模式,用iSCSI方式来达到FC SAN的功能. 物理存储构架在一台 DELL 服务器上,使用 FreeNAS ...

  4. 【服务器raid数据恢复】RAID5两块盘离线的数据恢复案例

    服务器数据恢复环境: raid5磁盘阵列: 10块磁盘,单盘容量1TB: 6号盘是热备盘. 服务器故障: 阵列中2块磁盘离线,黄色警报灯亮起.管理员对服务器初步检测,发现阵列磁盘序列号不能读取/无法通 ...

  5. 【服务器数据恢复】断电导致存储raid6阵列瘫痪的数据恢复案例

    服务器数据恢复环境: 某品牌存储中12块SAS硬盘组成RAID6,分成一个卷,分配给几台Vmware ESXI主机做共享存储: 卷中存放一定数量的Windows虚拟机,数据盘都是精简模式. 服务器存储 ...

  6. 【服务器数据恢复】使用碎片拼接方法恢复SQL Server数据库的数据恢复案例

    服务器数据恢复环境: 某公司一台DELL服务器,作为WEB服务器使用,安装的Windows Server操作系统,配置了SQL Server数据库: 采用了Xen Server虚拟化系统: 底层是通过 ...

  7. 【服务器数据恢复】DELL PowerEdge服务器RAID5数据恢复案例

    服务器数据恢复环境: DELL PowerEdge服务器: 6块SCSI硬盘组成RAID5: LINUX REDHAT操作系统:  EXT3文件系统. 服务器故障情况: 服务器运行过程中有一块硬盘离线 ...

  8. 服务器意外断电的数据恢复过程

    [服务器数据恢复故障描述] 今天分享的是一例服务器数据恢复的成功案例,需要进行数据恢复的服务器故障情况为raid信息丢失,服务器型号为某品牌380系列服务器,服务器上面安装了多块硬盘组成riad5阵列 ...

  9. 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例

    服务器数据恢复环境: Windows Server服务器: 系统中安装了Hyper-V虚拟机环境: 虚拟机文件存放在一台DELL PowerVault系列存储中: PowerVault系列存储配置:4 ...

  10. 【服务器数据恢复】服务器reiserfs文件系统损坏的数据恢复案例

    服务器数据恢复环境: 文件系统是reiserfs的服务器: 4块146G SAS硬盘组成的RAID5: 分区结构:一个几十M的boot分区,一个271G的LVM卷,一个2G的swap分区,LVM卷中直 ...

最新文章

  1. 行为模式之Visitor模式
  2. 10.6 ip:网络配置工具
  3. php 垃圾回收机制----写时复制和引用计数
  4. cemtos7上mysql8两个实例_centos7上配置mysql8的双主互写
  5. [傅里叶变换及其应用学习笔记] 二十二. 快速傅里叶变换
  6. SylixOS 缺页异常
  7. 【C++】常用拷贝算法和替换算法
  8. Mac/Linux/Windos下仿站工具,基于Python的仿站工具,earnp/imitation仿站工具
  9. Tensorflow手写数字识别
  10. 做自媒体4大免费网站,帮助我们更快上手运营
  11. HTML制作菜鸟教程网站首页
  12. 高颜值生物医学在线画图工具
  13. 论网站CDN的绕过姿势
  14. 《当程序员的那些狗日日子》(二十三)死在了今天的晚上
  15. 淘宝店铺用ps+dw装修的步骤
  16. 配置nginx.conf证书,实现http跳转htpps(80-->443)
  17. Genesis公链加速区块链行业发展
  18. HTML(day2)
  19. Mac 关闭 Adobe Creative Cloud
  20. 第三节-戴师兄数据分析学习笔记-excel最全函数

热门文章

  1. c语言-计算摄氏温度
  2. google之admob
  3. iOS-底层原理 06: cls 与类的关联原理
  4. 2019微信公开课张小龙演讲全文
  5. golang binding tag
  6. 应运而生的教学工具——《爱上micro:bit》读书笔记
  7. performSelector一系列方法调用和延时调用导致的内存泄露
  8. Python注释之TODO注释
  9. 互联网思维——用户思维
  10. uhd驱动安装(usrpB210,usrpX310等)