解决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文件系统数据恢复结果
经工程师处理分析后数据已成功恢复且均可正常使用至此数据恢复工作结束。
这两天Linode发布了十八周年的博文和邮件,回顾了过去取得的成绩和对未来的展望。作为一家运营18年的VPS主机商,Linode无疑是有一些可取之处的,商家提供基于KVM架构的VPS主机,支持随时删除(按小时计费),可选包括美国、英国、新加坡、日本、印度、加拿大、德国等全球十多个数据中心,所有机器提供高出入网带宽,最低仅$5/月($0.0075/小时)。This month marks Linod...
melbicom从2015年就开始运作了,在国内也是有一定的粉丝群,站长最早是从2017年开始介绍melbicom。上一次测评melbicom是在2018年,由于期间有不少人持续关注这个品牌,而且站长貌似也听说过路由什么的有变动的迹象。为此,今天重新对莫斯科数据中心的VPS进行一次简单测评,数据仅供参考。官方网站: https://melbicom.net比特币、信用卡、PayPal、支付宝、银联...
说明一下:gcorelabs的俄罗斯远东机房“伯力”既有“Virtual servers”也有“CLOUD SERVICES”,前者是VPS,后者是云服务器,不是一回事;由于平日大家习惯把VPS和云服务器当做一回事儿,所以这里要特别说明一下。本次测评的是gcorelabs的cloud,也就是云服务器。 官方网站:https://gcorelabs.com 支持:数字加密货币、信用卡、PayPal...