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日志文件里找到相应的文件的节点信息,找到后粘贴回原来的位置即可。

审核编辑 黄宇

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

    关注

    12

    文章

    8997

    浏览量

    85133
  • 数据恢复
    +关注

    关注

    10

    文章

    544

    浏览量

    17358
  • Ext4文件
    +关注

    关注

    0

    文章

    2

    浏览量

    5255
收藏 人收藏

    评论

    相关推荐

    服务器数据恢复—raid5阵列+reiserfs文件系统数据恢复案例

    服务器数据恢复环境: 一台服务器中有一组由4块SAS硬盘组建的RAID5阵列,上层安装linux操作
    的头像 发表于 11-07 13:15 89次阅读

    服务器数据恢复—异常断电导致linux系统无法启动的数据恢复案例

    服务器数据恢复环境: 某品牌服务器+同品牌存储,Linux centos7+EXT4文件系统
    的头像 发表于 10-25 17:42 211次阅读

    服务器数据恢复EXT3文件系统下误删除数据恢复案例

    服务器数据恢复环境: 邮件服务器中有一组由8块盘组成的RAID5阵列, 上层是Linux操作系统+EX
    的头像 发表于 10-23 15:11 116次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>EXT</b>3<b class='flag-5'>文件系统</b>下误删除<b class='flag-5'>数据</b>的<b class='flag-5'>恢复</b>案例

    服务器数据恢复—V7000存储NTFS文件系统数据恢复案例

    服务器存储数据恢复环境: 一台挂载在Windows server服务器上的v7000存储。存储空间划分了一个分区,采用NTFS文件系统,存
    的头像 发表于 10-14 14:03 163次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—V7000存储NTFS<b class='flag-5'>文件系统</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

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

    某公司一台服务器,连接了一台存储。该服务器安装linux操作系统文件系统为xfs。 在运行过程中该服务器出现故障,管理员使用xfs_re
    的头像 发表于 08-19 10:49 242次阅读

    虚拟机数据恢复—KVM虚拟机被误删除的数据恢复案例

    虚拟机数据恢复环境: Linux操作系统服务器EXT4文件系统
    的头像 发表于 08-07 13:33 358次阅读
    虚拟机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—KVM虚拟机被误删除的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—误删除KVM虚拟机的数据恢复案例

    1台服务器,Linux操作系统+EXT4文件系统,部署了数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘
    的头像 发表于 06-17 15:10 314次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—误删除KVM虚拟机的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—KVM虚拟机raw格式磁盘文件数据恢复案例

    服务器数据恢复环境: 一台服务器安装Linux操作系统+EXT4
    的头像 发表于 05-17 13:33 404次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—KVM虚拟机raw格式磁盘<b class='flag-5'>文件数据</b><b class='flag-5'>恢复</b>案例

    虚拟机数据恢复EXT4文件系统下KVM虚拟机数据恢复案例

    发行版本中。KVM使用Linux自身的调度进行管理。 本案例中的服务器操作系统为Linux,文件系统EXT4。操作
    的头像 发表于 04-17 14:22 334次阅读
    虚拟机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>EXT4</b><b class='flag-5'>文件系统</b>下KVM虚拟机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复】硬盘坏道掉线导致服务器崩溃的数据恢复案例

    服务器数据恢复环境: 一台IBM某型号服务器上有16块FC硬盘组建RAID阵列。上层linux操作系统
    的头像 发表于 02-26 11:36 773次阅读

    服务器数据恢复—非正常关机导致服务器文件丢失的数据恢复案例

    服务器数据恢复环境: 某品牌PowerEdge R730服务器+PowerVault MD3200存储,划分若干lun,操作系统版本是ce
    的头像 发表于 01-19 13:42 453次阅读

    服务器数据恢复】UFS2文件系统数据恢复案例

    服务器数据恢复环境: 一台服务器,虚拟化系统为esxi,上层使用iSCSI的方式实现FC SAN功能,iSCSI通过FreeNAS构建。
    的头像 发表于 01-09 14:53 810次阅读

    【北亚服务器数据恢复】ZFS文件系统服务器RAIDZ数据恢复案例

    服务器数据恢复环境: 服务器中有32块硬盘,组建了3组RAIDZ,部分磁盘作为热备盘。zfs文件系统
    的头像 发表于 12-28 15:17 522次阅读
    【北亚<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>RAIDZ<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

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

    由于工作人员的误操作,将Ext4文件系统误装入到存储中Ocfs2文件系统数据卷上,导致原Ocfs2文件系统被格式化为
    的头像 发表于 12-04 10:49 414次阅读
    <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>案例