首页 > 其他分享 >服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例

时间:2023-09-04 15:00:38浏览次数:48  
标签:数据恢复 Ext4 超级 文件系统 扇区 描述符 日志 fsck

Ext4文件系统相关概念:

块组:Ext4文件系统的空间被划分为若干个块组,每个块组内的结构大致相同。

块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,其主要描述块位图、i-节点位图及i-节点表的地址等信息。

超级块(Superblock):用于存储文件系统的配置参数(如块大小、总块数、i-节点数)和动态信息(当前空闲块数和i-节点数)。Ext4文件系统的超级块(Superblock)开始于1024字节处,即2号扇区。

i节点:描述文件的时间信息、大小、块指针等信息。

块组描述符和超级块在块中的位置:当块大小为2个扇区时,0号块是引导程序或者保留块,超级块起始于1号块。当块大小为4个扇区时,引导程序或者保留块位于0号块的前两个扇区,超级块位于0号块的后两个扇区。当块大小为8个扇区时,引导程序或者保留块位于0号块的0-1号扇区,超级块位于0号块的2-3号扇区。

Ext4文件系统结构及第一个块组结构:

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_服务器数据恢复


Ext4文件系统故障&初检&分析:

某公司服务器Ext4文件系统umount失败,管理员执行fsck操作检查一致性,导致Ext4文件系统mount不上并报错,报错信息:“mount:wrong fs type,bad option,bad superblock”。

日志和数据的不一致导致正常文件系统数据被覆盖的情况在Ext3、Ext4文件系统中发生频率较高。因为.journal日志文件保留了缓冲数据,可以通过.joumal日志文件找到相应信息并重建源文件。

通过查看MBR分区表得知本案例中的Linux操作系统分了两个分区:交换分区+Ext4文件系统。北亚企安数据恢复工程师通过对该Ext4文件系统的分析,得到以下信息:

1、块大小为固定的4KB,即8个扇区。

2、超级块(Superblock)起始位置在1024字节处,即2号扇区,大小为2个扇区。

3、块组描述表从第一个块开始,即从4096字节处开始。


服务器数据恢复过程:

1、将故障服务器上硬盘取出,检测后没有发现硬件故障。以只读方式将磁盘做全盘镜像,镜像完成后按照原样将磁盘还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。

2、用工具打开Ext4文件系统,可以看到0-23扇区的数据(包括超级块和块组描述符)被日志记录覆盖。Ext3、Ext4文件系统的日志页以C0 3B 39 98开头。

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_Ext4文件系统数据恢复_02


在journal日志中将超级块的备份查找出来,通过工具查找超级块信息,其标志是“53ef”。超级块0x18-0x1B处描述块大小,确定本案例块大小为4KB。

查找超级块:

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_服务器数据恢复_03

通过超级块查看块大小:

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_数据恢复_04

块大小:

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_服务器数据恢复_05


3、由于原文件系统超级块损坏,所以恢复文件时,要把这部分超级块信息粘贴回去,放在2号扇区开始,或1024字节处。做完以上操作,超级块备份某些地方与实际的超级块数值可能不一致,需要通过工具进行修改。对超级块所在的块组进行了修改,超级块在第0个块组里。

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_服务器数据恢复_06


4、由于部分块组描述表被破坏,所以需要在.journal日志文件里找到所有的块组描述表并把它们粘贴回去。.journal日志文件里的块组描述符表存储在超级块的后面,要找块组描述表可以先找到超级块,找到后将块组描述符表内容粘贴到4096字节处。

5、恢复某个文件夹比如kyproc文件夹里的数据时,我们发现这些文件夹在WinHex里是不能打开的状态(如下图1所示),很明显这个目录损坏了。打开其节点信息,发现正常数据被日志填充(如下图2所示)。

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_数据恢复_07

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_服务器数据恢复_08

找到它的上一级目录,即var文件夹。右击点“open”,打开看到var文件里的所有文件的目录信息。找到要恢复的kyproc目录的信息,12 32 EE 00是其i-节点号,10 00表示其目录项长度,06表示其文件名称长度,02表示其文件类型为目录(如下图所示)。

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_Ext4文件系统数据恢复_09

在var文件夹的目录块下查找kyproc目录的位置(如下图所示),标红的位置是找到的结果。此位置显示所在块号为62399108。

服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例_数据恢复_10

根据所在块号可以定位kyproc目录相应节点的位置。打开.journal日志文件,从里面找到其节点信息,把相应的信息粘贴回去。

6、通过上述方法重建目录后开始重建目录里的文件。重建目录里的文件也是使用同样的方法:从.journal日志文件里找到相应的文件的节点信息,找到后粘贴回原来的位置,达到重建文件的目的。

标签:数据恢复,Ext4,超级,文件系统,扇区,描述符,日志,fsck
From: https://blog.51cto.com/sun510/7350894

相关文章

  • 服务器数据恢复-vmware ESXI虚拟机误还原快照导致数据丢失的数据恢复案例
    服务器数据恢复环境:从物理机迁移一台虚拟机到ESXI,迁移后做了一个快照。该虚拟机上部署了一个SQLServer数据库,存放了5年左右的数据。ESXI上有数十台虚拟机,EXSI连接了一台EVA存储,所有的虚拟机都在EVA存储上。服务器故障:由于工作人员的误操作,不小心将几年前迁移数据后做的快照还原......
  • MySQL主从数据恢复
    主要步骤:导出主库数据,恢复到从库,重新开启主从同步。 1.先停止从库从库上执行stopslave; 2 在从库mysqlbin目录下导出主库数据./mysqldump-h192.168.174.201--port=3359-uroot-p'pwd'--default-character-set=UTF8MB4--single-transaction--events--triggers......
  • 服务器数据恢复-RAID6磁盘重组RAID5导致原RAID6数据丢失的数据恢复案例
    服务器数据恢复环境:一台存储设备中有一组由12块硬盘组建的RAID6磁盘阵列,上层采用EXT3文件系统,共划分3个LUN。服务器故障&分析:存储设备在运行过程中RAID6阵列突然不可用,管理员对故障存储进行了重新分配RAID的操作并进行了初始化。初始化一段时间后,管理员察觉有异,于是强行终止初始......
  • mysql日志追踪 / 数据恢复
    1.查看日志开启状态showvariableslike'log_%';2.查看日志文件列表showbinarylogs;或者showmasterlogs;3.查看当前日志index位置showmasterstatus;4.查看binlog关键事件showbinlogevents[IN'log_name'][FROMpos][LIMIT[offset,]row_c......
  • 服务器数据恢复-IBM服务器reiserfs文件系统数据恢复案例
    服务器数据恢复环境:一台IBMX系列服务器,4块SAS硬盘组建一组RAID5阵列,采用的reiserfs文件系统。服务器操作系统分区结构:boot分区+LVM卷+swap分区(按照前后顺序)。LVM卷中直接划分了一个reiserfs文件系统,作为根分区。服务器故障:服务器在运行过程中由于未知原因瘫痪,管理员将服务器重......
  • 15、oracle误删数据恢复
    目录oracle误删数据恢复1、delete删除数据2、drop删除表恢复oracle误删数据恢复1、delete删除数据回滚到指定时间点的数据select*fromgscommtypeasoftimestampto_timestamp('2019-08-2823','yyyy-mm-ddhh24');2、drop删除表恢复selectobject_name,origi......
  • 服务器数据恢复-误删除ESXi虚拟机的虚拟化数据恢复案例
    服务器数据恢复环境:一台服务器安装的ESXi虚拟化系统,该虚拟化系统连接了多个LUN,其中一个LUN上运行了数台虚拟机,虚拟机安装WindowsServer操作系统。 服务器故障&分析:管理员因误操作删除了一台虚拟机,该虚拟机上部署SQLServer数据库和存放了一些其它格式的文件。用户方要求恢复......
  • 服务器数据恢复-HP EVA存储VDISK被删,磁盘被UNGROUP的数据恢复案例
    服务器数据恢复环境:某单位有一台HPEVA存储,连接2组扩展柜,扩展柜中有12块FATA磁盘和10块FC磁盘,不确定数量的LUN,主机安装WINDOWSSERVER操作系统,存储设备用来存放该单位的重要资料。服务器故障初检:存储不可用。因故障存储在多家数据恢复服务商处理过,所以在暂时无法直接定位故障原......
  • 服务器数据恢复-HP EVA存储原理&常见故障&数据恢复流程
    EVA存储原理:EVA系列存储是以虚拟化存储为实现目的的中高端存储设备,内部的结构组成完全不同于其他的存储设备,RAID在EVA内部称之为VRAID。EVA会在每个物理磁盘(PV)的0扇区写入签名,签名后PV会被分配到不同的DISKGROUP。在DISKGROUP中每个PV会按一定大小划分为若干存储单元(PP),PP的大小......
  • 【运维】centos无法开机,提示fsck error 2 的解决办法
    今天收到客户寄回的硬件服务器,现象是无法开机,但是我们需要保留出磁盘阵列中的数据。查看系统启动日志,报如下的错误:提示fsckerror2fsck.ext2for/dev/mapper/centos-root随即,我们尝试恢复目录,采取了如下步骤:使用救援模式启动:重新启动计算机并选择进入救援模式(RescueMode)或......