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

一、故障设备信息:
服务器:X3850服务器
硬盘类型:SAS,容量:146G 4块硬盘组成RAID5
文件系统:Reiserfs
二、Reiserfs文件系统故障分析:
1、经过分析发现了之前的硬盘数据组织结构是由一个不到100M的boot分区,后接一个271G的LVM卷,之后是2G的swap分区。LVM卷中直接划分了一个reiserfs文件系统,作为根分区。
2、用户在使用的过程中,系统遭遇了未知的原因而瘫痪,经过系统的冲撞以后发现整个RAID逻辑卷变成了前面2G的boot与swap分区,后接271G的LVM卷,LVM卷中文件系统位置有个空的reiserfs超级块。
3、我们这次要恢复的数据就是原来271G中文件系统里的所有用户数据,这些数据包含了数据库、网站程序与网页、单位OA系统里的所有办公文档。

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

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

四、Reiserfs文件系统数据恢复结果:
经工程师处理分析后,数据已成功恢复,且均可正常使用,至此数据恢复工作结束。

原文地址:https://blog.51cto.com/sun510/2459547

时间: 2024-11-20 15:14:13

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

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

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

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

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

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

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

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

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

Linux文件系统损坏导致无法正常启动与fsck修复工具

问题:今天在打开自己的虚拟机学习的时候,发现在文件系统检查过程中出现以下的报错:/dev/mapper/VolGroup-lv_root:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY. [FAILED]这提示意味着,Linux文件系统损坏了,导致文件系统损坏的原因可能是异常的关机,比如:突然断电.这里的提示已经很明确的说明了,"UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY.":意外的不一致性导致文件系统损坏

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

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

思迅/泰格/科脉/收银软件/商超软件数据库修复解决断电造成损坏的mdb\dat文件SQL数据库 置疑 修复 恢复

拥有专业管理软件数据库修复技术工程师,专业提供管家婆.美萍.思迅.科脉等管理软件技术服务,电脑维修\重装系统技 术服务.无法登陆打不开等出错问题处理(连接失败,请输入正确的服务器名,SQL Server不存在或拒绝访问,用户sa登陆失败等等),数据损坏修复 .软件外网远程访问,年结存.软件版本升级,解决升级数据库失败错误.美萍软件到期升级.断电数据库修复(不可识别的数据库格式.连接数据库失败)等技术服务.各类管理软件.电脑技术服务等.  案例分析 [单位名称] 山东某连锁超市泰格收银软件 [数据

解决SMON_SCN_TO_TIME_AUX表损坏故障

同事在给客户做数据库巡检的过程中,发现其中一个数据库的alert日志中报了一个坏块的错误信息,具体如下: Reading datafile '+DATA_DW/xtdw/datafile/sysaux.295.819217697' for corruption at rdba: 0x0081140e (file 2, block 70670) Read datafile mirror 'DATA_DW_CD_05_DWCEL02' (file 2, block 70670) found same

CentOS 硬盘坏道,文件系统损坏,无法启动处理案例

原因是:由于系统部分文件丢失,造成磁盘检测过不去,系统无法启动. 解决方法: #umount  /dev/hda2 #fsck.ext3  -p /dev/hda2 下面回答全部是yes就ok了 然后 #reboot就ok了 注释: fsck.ext3  --help -p Automatic repair (no questions) :自动修复 -n Make no changes to the filesystem :模拟修复 -y Assume "yes" to all que