0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

服务器数据恢复——Ext4文件系统umount失败的数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2024-11-13 13:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

关于Ext4文件系统的几个概念:
块组:Ext4文件系统的全部空间被划分为若干个块组,每个块组结构基本上相同。
块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,主要描述块位图、i-节点位图及i-节点表的地址等信息。
超级块(Superblock):用于存储文件系统的配置参数(块大小、总块数、i-节点数等)和动态信息(当前空闲块数和i-节点数)。Ext4文件系统的超级块始于1024字节处,即2号扇区。
i节点:描述文件的时间、大小、块指针等信息。
块组描述符和超级块在块中的位置:当块大小为2个扇区时,0号块是引导程序或者保留块,超级块起始于1号块。当块大小为4个扇区时,引导程序或者保留块位于0号块的前两个扇区,超级块位于0号块的后两个扇区。当块大小为8个扇区时,引导程序或者保留块位于0号块的0-1号扇区,超级块位于0号块的2-3号扇区。
Ext4文件系统结构和第一个块组的结构:

pYYBAGNSNzqAU2nXAAEm0EIImZA324.png北亚企安数据恢复—Ext4文件系统数据恢复


Ext4文件系统故障初检和分析:
服务器上Ext4文件系统umount失败,工作人员使用fsck命令检查文件系统的一致性,结果导致Ext4文件系统mount不上(有时表现为目录变为文件)。报错提示信息:“mount: wrong fs type,bad option,bad superblock”。
日志和数据不一致导致文件系统数据被覆盖的情况在Ext3和Ext4文件系统中出现频繁,不过.journal日志文件留有缓冲数据,可以通过joumal日志文件找到相应信息并重建源文件。
安装Linux操作系统的硬盘的第一个扇区是MBR扇区,通过查看MBR分区表得知本案例环境中有2个分区:交换分区+Ext4文件系统分区。数据恢复工程师计划通过分析joumal日志文件来恢复丢失的数据。
本案例Ext4文件系统的相关信息:
1、块大小为4KB,即8个扇区。
2、超级块(Superblock)起始位置在1024字节处,即2号扇区,大小为2个扇区。
3、块组描述表从第一个块开始,即从4096字节处开始。

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

pYYBAGNSN0WAXVA7AAILaPxQPHk007.png北亚企安数据恢复—Ext4文件系统数据恢复



2、超级块中包含关于块大小的信息。从.journal日志中将超级块的备份查找出来,然后通过查找超级块信息,其标志是“53ef”。
查找超级块:

poYBAGNSN0yAPuagAAOP2HRmpK8266.png北亚企安数据恢复—Ext4文件系统数据恢复



通过超级块查看块大小。

pYYBAGNSN1OAU5tnAAKQn9LY-UI346.png北亚企安数据恢复—Ext4文件系统数据恢复



软件模板编辑器也可以显示块大小。

wKgZomc0N3CAC7V2AAI-sRGrEMM872.png北亚企安数据恢复—Ext4文件系统数据恢复



超级块0x18-0x1B处描述块大小,确定本案例块大小为4KB。
3、重建(恢复)超级块;由于原文件系统超级块损坏,所以在恢复数据时要把这部分超级块信息粘贴回去,即放在2号扇区开始,或1024字节处。上述操作完成后,超级块备份某些地方与实际超级块数值可能不一致,需要通过数据恢复工具的模板管理器修改。本案例对超级块所在的块组作了修改,它在第0个块组里。

wKgZomc0N3eASqZvAAKpXxxQ31g128.png北亚企安数据恢复—Ext4文件系统数据恢复



4、重建(恢复)块组描述表;由于部分块组描述表被破坏,所以在.journal日志文件里找到所有的块组描述表,并把它们粘贴回去。.journal日志文件里,块组描述符表存储在超级块的后面,所以找块组描述表之前可以先找到超级块。找到块组描述表后将块组描述符表内容粘贴到4096字节处。
5、重建(恢复)目录;恢复某个文件夹里的文件时,例如恢复kyproc文件夹里的数据,发现这些文件夹通过工具无法打开。

poYBAGNSN2WAHiggAAIKHVH8Vx0023.png北亚企安数据恢复—Ext4文件系统数据恢复



很明显这个目录损坏了,打开其节点信息后发现正常数据被日志填充。

poYBAGNSN22APq6dAAJf-vmwbGs449.png北亚企安数据恢复—Ext4文件系统数据恢复



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

poYBAGNSN3OAfeihAAKVGaqmAGk968.png北亚企安数据恢复—Ext4文件系统数据恢复



6、在var文件夹的目录块下查找kyproc目录的位置,标红的位置是找到的结果,该位置显示所在块号为62399108。

pYYBAGNSN3iAUx6WAAQQOI_JXdE900.png北亚企安数据恢复—Ext4文件系统数据恢复



7、根据所在块号,就可以定位kyproc目录相应节点的位置。由于人工补节点比较麻烦,可以打开.journal日志文件,从里面找到其节点信息,然后将相应的信息粘贴回去。通过上述方法可以重建(恢复)目录。恢复目录里的文件也是通过同样的方法,从.journal日志文件里找到相应的文件的节点信息,找到后粘贴回原来的位置即可。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    13

    文章

    10093

    浏览量

    90855
  • 数据恢复
    +关注

    关注

    10

    文章

    688

    浏览量

    18790
  • Ext4文件
    +关注

    关注

    0

    文章

    2

    浏览量

    5369
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    虚拟化数据恢复—Hyper-V服务瘫痪危机:虚拟机数据文件丢失后的数据恢复案例

    进行检测也没有发现问题,也无被攻击/感染的迹象。对文件系统进行进一步分析,发现元文件创建时间与数据丢失时间一致,服务器数据
    的头像 发表于 11-20 15:47 163次阅读

    服务器数据恢复—StorNext文件系统数据丢失的数据恢复案例

    服务器存储数据恢复环境&故障: 一台昆腾存储设备中有一组raid5磁盘阵列。阵列上有两块硬盘先后离线,raid5磁盘阵列不可用。
    的头像 发表于 08-19 11:43 386次阅读

    服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例

    服务器数据恢复环境&故障: 一台服务器上通过磁盘柜+RAID卡组建的riad5磁盘阵列,服务器上层安装Linux操作
    的头像 发表于 06-12 11:20 615次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—重装<b class='flag-5'>系统</b>导致XFS<b class='flag-5'>文件系统</b>分区丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—ocfs2文件系统被格式化为Ext4文件系统数据恢复案例

    服务器存储数据恢复环境&故障: 人为误操作将Ext4文件系统误装入一台服务器存储上的Ocfs2
    的头像 发表于 06-10 12:03 558次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—ocfs2<b class='flag-5'>文件系统</b>被格式化为<b class='flag-5'>Ext4</b><b class='flag-5'>文件系统</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—Linux系统服务器崩溃的数据恢复案例

    服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列
    的头像 发表于 05-20 15:46 540次阅读

    服务器数据恢复—AIX小型机误删数据如何恢复

    和oradata2。 AIX小型机采用JFS2文件系统分配和管理逻辑卷。JFS2文件系统的根目录存储Oracle数据库核心文件(.dbf文件
    的头像 发表于 04-16 18:12 460次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—AIX小型机误删<b class='flag-5'>数据</b>如何<b class='flag-5'>恢复</b>!

    服务器数据恢复—raid5阵列中硬盘坏道导致阵列崩溃的数据恢复案例

    服务器存储数据恢复环境: 某品牌DS3512存储中有一组由6块SAS磁盘组建的raid5阵列。划分一个lun分配给Linux系统服务器,并
    的头像 发表于 03-28 13:25 580次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—raid5阵列中硬盘坏道导致阵列崩溃的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    虚拟化数据恢复—VMware虚拟化环境下重装系统导致服务器数据丢失的数据恢复

    VMware虚拟化平台 vmfs文件系统 工作人员误操作重装操作系统服务器崩溃。 重装系统会导致文件系统
    的头像 发表于 03-13 10:33 621次阅读
    虚拟化<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—VMware虚拟化环境下重装<b class='flag-5'>系统</b>导致<b class='flag-5'>服务器</b><b class='flag-5'>数据</b>丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>

    服务器数据恢复—Zfs文件系统服务器数据恢复案例

    服务器数据恢复环境&故障: 一台zfs文件系统服务器,管理员误操作删除了服务器上的
    的头像 发表于 01-16 17:27 628次阅读

    服务器数据恢复—如何让ZFS文件系统数据“起死回生”?

    一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测,基本上确定服务器硬件不存在物理故障。管理员重启服务器后问题依旧。需要恢复服务器
    的头像 发表于 01-02 14:17 798次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—如何让ZFS<b class='flag-5'>文件系统</b><b class='flag-5'>数据</b>“起死回生”?

    在众核场景下EXT4该如何应对才能发挥性能

    一、背景和问题 1. EXT4日志的问题 随着计算机系统加载数百个CPU内核,文件系统的可扩展性得到进一步强调。因此本文主要定位服务器中广泛使用的E
    的头像 发表于 12-30 11:35 744次阅读
    在众核场景下<b class='flag-5'>EXT4</b>该如何应对才能发挥性能

    服务器数据恢复—Lustre分布式文件系统数据恢复案例

    5台节点服务器,每台节点服务器上有一组RAID5阵列。每组RAID5阵列上有6块硬盘(其中1块硬盘设置为热备盘,其他5块硬盘为数据盘)。上层系统环境为Lustre分布式
    的头像 发表于 12-25 11:39 795次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Lustre分布式<b class='flag-5'>文件系统</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—ZFS文件系统下RAIDZ数据恢复案例

    服务器存储数据恢复环境: ZFS Storage 7320存储阵列中有32块硬盘。32块硬盘分为4组,每组8块硬盘,共组建了3组RAIDZ,每组raid都配置了热备盘。
    的头像 发表于 12-19 13:31 1019次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—ZFS<b class='flag-5'>文件系统</b>下RAIDZ<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—RAID5阵列两块硬盘离线崩溃,数据如何起死回生?

    服务器数据恢复环境: 两组分别由4块SAS接口硬盘组建的raid5阵列,两组raid5阵列划分LUN并由LVM管理,格式化为EXT3
    的头像 发表于 12-11 13:17 1854次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—RAID5阵列两块硬盘离线崩溃,<b class='flag-5'>数据</b>如何起死回生?

    服务器数据恢复—LINUX系统删除/格式化的数据恢复可行性分析

    基于linux的文件系统EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据
    的头像 发表于 12-06 13:52 763次阅读