恢复linux reiserfs文件系统损坏丢失的数据

在介绍恢复过程之前先简单说明一下故障情况,发生故障的是一台IBM X3850服务器,这个服务器是由4块146G SAS硬盘组成的RAID5作为存储介质,操作系统是SUSE LINUX,文件系统全都是reiserfs。我们首先经过分析发现了之前的硬盘数据组织结构是由一个不到100M的boot分区,后接一个271G的LVM卷,之后是2G的swap分区。LVM卷中直接划分了一个reiserfs文件系统,作为根分区。

  用户在使用的过程中,系统遭遇了未知的原因而瘫痪,经过系统的冲撞以后发现整个RAID逻辑卷变成了前面2G的boot与swap分区,后接271G的LVM卷,LVM卷中文件系统位置有个空的reiserfs超级块。

  我们这次要恢复的数据就是原来271G中文件系统里的所有用户数据,这些数据包含了MYSQL数据库、PGSQL数据库、网站程序与网页、单位OA系统里的所有办公文档。

我们先通过对全盘reiserfs树节点之间的关联确定了原来的reiserfs分区位置,发现原来存储数据的文件系统的前2G数据已经被覆盖,应该是用户在安装系统时错误地初始化了分区结构,所以装好系统无法导入LVM卷而做过reiserfsck试图修复。因reiserfs文件系统对文件系统里所有的文件(含目录)线性化后,再以文件key生成B+树,树不断增加节点会导致树的结构整体拉展后向整个磁盘的数据区做平滑迁移。这样一来顶级节点通常不会放在文件系统的最前面。因根目录的文件KEY号通常是最小的,所以,从空间上看,前2G中存储最多的应该是从根起始路径最近的key节点,这样,用户数据因目录层次较深,节点存在的可能性很高。前2G覆盖的数据已经无法恢复,只能希望不要恰好覆盖用户数据。因文件系统前面对整个树的索引全丢失,加上reiserfs的树概念设计得很抽象,重搭建树会很困难。

  我们通过自主程序在整个原文件系统区域进行key节点扫描并将所有节点导出。然后通过自主程序对所有叶节点重新排序、过滤(去掉之前删除文件丢弃的节点),重新生成二级、三级、四级等叶节点。选择分区前面2G空间做为新树的结构区(反正这部分数据是没用的了,重装系统已经装得满满的),并生成对应地址信息。应对目录命名问题,如遇到原树路径某节点丢失的情况,对其用自定义的key节点编号命名,如无法确定其父目录,暂加入/otherfiles下。根据上面对,生成树索引信息,写入特定位置,再根据这些信息,生成超级块,设置clear标志。在suse虚拟机下,创建快照,挂载修复好的卷,已经可以看到文件了。(注:虚拟机与快照的目的为了操作可加溯,同时因bitmap等元数据不影响数据,未做修正,故挂载前不可做reiserfsck)。在修复用的suse虚拟机下,挂载用于copy数据的目标硬盘,mkfs后将所有数据cp到目标盘。用户通过find命令整理所需数据,修正部分目录文件位置与名称。部分丢失的散文件,按大小与文件头标志查找,找到后移动及重命名。

  幸运的是所有的重要数据100%都被我们找到了。树的不直观性加上程序的调试,使得整个恢复工作异常繁杂,在繁乱的信息树中跟来跟去,真是烦人得很,幸好撑下来了。繁锁的数据恢复分析工作真不是人干的。

  。。。

  应该让机器干 ^_^

时间: 2024-10-13 22:49:03

恢复linux reiserfs文件系统损坏丢失的数据的相关文章

linux服务器reiserfs文件系统损坏,你需要学会这种修复方法

今天为大家介绍一个Linux服务器数据恢复成功案例,本次服务器数据恢复物理服务器请款如下:客户故障服务器为一台X3850服务器,这个服务器是由4块146G SAS硬盘组成的RAID5作为存储介质,文件系统全都是reiserfs.我们首先经过分析发现了之前的硬盘数据组织结构是由一个不到100M的boot分区,后接一个271G的LVM卷,之后是2G的swap分区.LVM卷中直接划分了一个reiserfs文件系统,作为根分区. · 服务器在正常使用过程中,由于未知原因导致系统瘫痪,急需进行服务器数据恢

解决Reiserfs文件系统损坏的问题我们是认真的

一.故障设备信息:服务器:X3850服务器硬盘类型:SAS,容量:146G 4块硬盘组成RAID5文件系统:Reiserfs二.Reiserfs文件系统故障分析:1.经过分析发现了之前的硬盘数据组织结构是由一个不到100M的boot分区,后接一个271G的LVM卷,之后是2G的swap分区.LVM卷中直接划分了一个reiserfs文件系统,作为根分区.2.用户在使用的过程中,系统遭遇了未知的原因而瘫痪,经过系统的冲撞以后发现整个RAID逻辑卷变成了前面2G的boot与swap分区,后接271G的

怎样寻回文件系统损坏磁盘的数据

文件系统损坏说明这个盘的文件系统结构损坏了.在平时如果数据不重要,那么可以直接格式化就能用了.但是有的时候里面的数据很重要,那么就必须先恢复出数据再格式化.具体恢复方法可以看正文了解(不格式化的恢复方法) 工具/软件:AuroraDataRecovery 步骤1:先下载并解压程序运行后,直接双击需要恢复的分区,然后右击软件图标选择<以管理员身份运行>(如果是xp系统可以直接双击打开软件) 步骤2:软件运行后,直接双击需要恢复数据的盘 步骤3:程序找到文件后,会放到与要恢复盘同名的目录中 步骤4

怎么恢复U盘中病毒后丢失的数据?

小小的身躯能保存大量的数据,文件,视频等,是办公中人手必备的一款.当U盘处于不安全的网络环境中导致U盘中病毒让里面的所有数据丢失,这时候该怎么办呢?继续往下看 U盘中病毒后都会出现哪些状况呢?1.双击U盘无法打开目录:2.U盘目录中出现很多奇怪的文件名称:3.U盘中存放的文件全部消失:4.不能复制文件夹,就算复制出来也无法打开:5.U盘插上电脑后,很久才能识别等. 出现这些情况很有可能是U盘已经中病毒了,里面所保存的文件也会损坏,那么这时候就应该借助数据恢复软件来进行恢复:迷你兔数据恢复 按照上

硬盘无法访问文件系统损坏,里面的资料怎样恢复

文件系统损坏说明这个盘的文件系统结构损坏了.在平时如果数据不重要,那么可以直接格式化就能用了.但是有的时候里面的数据很重要,那么就必须先恢复出数据再格式化.具体恢复方法可以看正文了解(不格式化的恢复方法) 工具/软件:AuroraDataRecovery 步骤1:先下载并解压程序打开后,直接双击需要恢复的分区,接着右击软件图标选择<以管理员身份运行> 步骤2:软件打开后,直接双击需要恢复的分区 步骤3:程序找到数据后,会放到与要恢复盘同名的目录中 步骤4:勾上所有需要恢复的数据,右击选择<

磁盘文件系统损坏的数据找回办法

磁盘打不开文件系统损坏,是因为这个I盘的文件系统内部结构损坏导致的.要恢复里面的数据就必须要注意,这个盘不能格式化,否则数据会进一步损坏.具体的恢复方法看正文 工具/软件:AuroraDataRecovery 步骤1:先百度搜索并下载程序打开后,直接双击需要恢复的分区,接着解压再右击软件图标选择<以管理员身份运行>软件 步骤2:程序打开后,直接双击需要恢复数据的盘 步骤3:软件找到资料后,会放到与要恢复盘卷标名相同的目录中 步骤4:勾选所有需要恢复的资料,右击选择<复制勾选的文件>

Linux 文件系统引起的云盘文件系统异常导致 MySQL 数据页损坏事故恢复复盘

事故的起因是因为当我访问某个数据库的某个表的时候,MySQL 立即出现崩溃并且去查看 MySQL 的错误日志出现类似信息 2019-05-09T05:52:19.232564Z 1027 [ERROR] InnoDB: Space id and page no stored in the page, read in are [page id: space=1668620387, page number=16777216], should be [page id: space=1321, page

硬盘分区丢失后数据怎样恢复

有些时候,在使用电脑的过程中,硬盘分区丢失了,分区数据也消失不见了.那么分区丢失了数据还能恢复吗?硬盘分区丢失想要恢复数据怎么办?鉴于很多人有着相似的问题,今天就关于硬盘丢失分区数据恢复问题给大家分享一些方法. 首先,我们来了解一下分区的概念,硬盘分区实质上是对硬盘的一种格式化,然后才能使用硬盘保存各种信息.简单来说,新买来的硬盘,就像一张面积相当大的白纸,什么也没有,我们可以往上面写各种各样的东西,但是,随意的往上写是不行的,为了方便管理,我们必须把它分成几个区域,这就是分区.硬盘分区有三种,

硬盘损坏丢失视频的恢复

对于长期使用的电脑来说,选配好的电源绝对是有助于延长电脑配件寿命的一个关键因素.否则的话,一旦电源出现故障,导致电压不稳定的话非常容易造成电脑配件的烧毁,继而造成硬盘故障导致数据文件丢失了. 广告设计人员小张最近一直在忙着设计一个客户的视频广告片段,经过几个星期的忙碌,视频已经制作的差不多了.谁知道,就在这个关键时刻,小张的计算机的电源居然烧毁了.等到电脑维修部的工作人员修复之后发现,才发现,不单只是电源.电脑主板,显卡还有硬盘也全部阵亡.其他配件如果损坏如果尽快更换还可以解决问题.唯独硬盘损害