解决Reiserfs文件系统损坏的问题我们是认真的
一、故障设备信息
服务器 X3850服务器
硬盘类型 SAS容量 146G 4块硬盘组成RAID5
文件系统 Reiserfs
二、 Reiserfs文件系统故障分析
1、经过分析发现了之前的硬盘数据组织结构是由一个不到100M的boot分区后接一个271G的LVM卷之后是2G的swap分区。 LVM卷中直接划分了一个re i s e rfs文件系统作为根分区。
2、用户在使用的过程中系统遭遇了未知的原因而瘫痪经过系统的冲撞以后发现整个RAID逻辑卷变成了前面2G的boot与swap分区后接271G的LVM卷 LV M卷中文件系统位置有个空的re i s e rfs超级块。
3、我们这次要恢复的数据就是原来271G中文件系统里的所有用户数据这些数据包含了数据库、 网站程序与网页、单位OA系统里的所有办公文档。
三、 Reiserfs文件系统解决方案
1、先通过对全盘reiserfs树节点之间的关联确定了原来的reiserfs分区位置发现原来存储数据的文件系统的前2G数据已经被覆盖判断应该是用户在安装系统时错误地初始化了分区结构所以装好系统无法导入LVM卷而做过reiserfsck试图修复。
2、因re i s e rfs文件系统对文件系统里所有的文件(含目录)线性化后再以文件key生成B+树树不断增加节点会导致树的结构整体拉展后向整个磁盘的数据区做平滑迁移。这样一来顶级节点通常不会放在文件系统的最前面。因根目录的文件KEY号通常是最小的所以从空间上看前2G中存储最多的应该是从根起始路径最近的key节点。
3、这样用户数据因目录层次较深节点存在的可能性很高。前2G覆盖的数据已经无法恢复只能希望不要恰好覆盖用户数据。因文件系统前面对整个
树的索引全丢失加上re i s e rfs的树概念设计得很抽象重搭建树会很困难。
4、我们通过自主程序在整个原文件系统区域进行key节点扫描并将所有节点导出。然后通过自主程序对所有叶节点重新排序、过滤(去掉之前删除文件丢弃的节点) 重新生成二级、三级、四级等叶节点。选择分区前面2G空间做为新树的结构区并生成对应地址信息。
5、应对目录命名问题如遇到原树路径某节点丢失的情况对其用自定义的key节点编号命名如无法确定其父目录暂加入/otherfi les下。根据上面对生成树索引信息写入特定位置再根据这些信息生成超级块设置clear标志。在suse虚拟机下创建快照挂载修复好的卷已经可以看到文件了。 (注虚拟机与快照的目的为了操作可加溯 同时因bitmap等元数据不影响数据未做修正故挂载前不可做re i s e rfs c k) 。
6、在修复用的s use虚拟机下挂载用于copy数据的目标硬盘 mkfs后将所有数据cp到目标盘。用户通过find命令整理所需数据修正部分目录文件位置与名称。部分丢失的散文件按大小与文件头标志查找找到后移动及重命名。
四、 Reiserfs文件系统数据恢复结果
经工程师处理分析后数据已成功恢复且均可正常使用至此数据恢复工作结束。
桔子数据(徐州铭联信息科技有限公司)成立于2020年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。 公司一直秉承”以人为本、客户为尊、永...
收到好多消息,让我聊一下阿里云国际版本,作为一个阿里云死忠粉,之前用的服务器都是阿里云国内版的VPS主机,对于现在火热的阿里云国际版,这段时间了解了下,觉得还是有很多部分可以聊的,毕竟,实名制的服务器规则导致国际版无需实名这一特点被无限放大。以前也写过几篇综合性的阿里云国际版vps的分析,其中有一点得到很多人的认同,那句是阿里云不管国内版还是国际版的IO读写速度实在不敢恭维,相对意义上的,如果在这...
RAKSmart 商家最近动作还是比较大的,比如他们也在增加云服务器产品,目前已经包含美国圣何塞和洛杉矶机房,以及这个月有新增的中国香港机房,根据大趋势云服务器算是比较技术流的趋势。传统的VPS主机架构方案在技术层面上稍微落后一些,当然也是可以用的。不清楚是商家出于对于传统VPS主机清理库存,还是多渠道的产品化营销,看到RAKSmart VPS主机提供美国、香港和日本机房的半价促销,当然也包括其他...