服务器数据恢复-reiserfs文件系统损坏如何恢复数据?

news2024/12/28 4:25:22

服务器数据恢复环境:
一台IBM X系列服务器,4块SAS硬盘组建一组RAID5阵列,采用的reiserfs文件系统。服务器操作系统分区结构:boot分区+LVM卷+swap分区(按照前后顺序)。LVM卷中直接划分了一个reiserfs文件系统,作为根分区。

 

服务器故障:
服务器在运行过程中由于未知原因瘫痪,管理员将服务器重装系统,重装系统后发现分区结构变为:boot+swap分区+LVM卷(按照前后顺序),LVM卷中的reiserfs文件系统位置有一个空的reiserfs超级块。
用户需要恢复原LVM卷中的所有用户数据,包括数据库、网站程序与网页、单位OA系统里的所有办公文档。

 

服务器数据恢复过程:
1、将故障服务器中所有磁盘编号后取出,以只读方式将所有磁盘进行全盘的镜像备份。备份完成后按照编号将所有磁盘还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、北亚企安数据恢复工程师试图通过全盘reiserfs树节点之间的关联确定原reiserfs分区位置。基于镜像文件进行分析后,发现原来存储数据的reiserfs文件系统的前2G数据被覆盖。经过和管理员的沟通,确定了故障发生过程:管理员重新安装系统时错误地初始化了分区结构,装好系统后无法导入LVM卷,于是试图通过reiserfsck进行修复。
reiserfs将文件系统中所有的文件(含目录)线性化后,再以文件key生成B+树。由于树会不断增加节点,树的结构整体拉展后向整个磁盘的数据区做平滑迁移,所以顶级节点通常不会放在文件系统的最前面。因为根目录的文件KEY号通常是最小的,所以前2G数据应该是从根起始路径最近的key节点。用户数据目录层次较深,节点存在的可能性很高。因为reiserfs文件系统前面对整个树的索引全丢失,加上reiserfs的树概念设计抽象,重搭建树会很困难。
3、通过北亚企安自主开发程序在扫描整个原reiserfs文件系统区域的key节点并将所有key节点导出。
4、然后使用北亚企安自主开发程序将所有的叶节点重新排序、过滤(去掉之前删除文件丢弃的节点),重新生成二级、三级、四级等叶节点。
5、选择分区前面的2G空间作为新树的结构区,生成对应地址信息。目录命名问题解决方法:针对原树路径某节点丢失的情况,使用自定义的key节点编号命名;针对无法确定其父目录,可暂加入到/otherfiles目录下。生成树索引信息并写入到特定位置,再根据这些信息生成超级块并设置clear标志。
6、在suse虚拟机下创建快照,挂载修复好的卷,已经可以看到文件了。在修复用的suse虚拟机下挂载用于拷贝数据的目标硬盘,mkfs后将所有数据cp到目标硬盘。
7、用户通过find命令整理所需数据,修正部分目录文件位置与名称。按大小与文件头标志查找部分丢失的散文件,找到后移动到对应的目录并重命名。
8、经过一番努力,所有需要恢复的数据都被找到了。经过用户方的检测,确认恢复出来的数据完整有效。本次数据恢复工作完成。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/939671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS基础选择器及常见属性

文章目录 一、CSS1、CSS简介2、CSS语法规范 二、CSS基础选择器1、选择器的作用2、选择器分类3、基础选择器标签选择器类选择器id选择器通配符选择器 三、CSS常见属性1、字体属性字体系列字体大小字体粗细文字样式 2、文本属性文本颜色对齐文本装饰文本文本缩进行间距 四、CSS引…

09微服务架构常见框架

一句话导读 微服务架构是一种分布式系统架构,可以将大型应用系统拆分为多个小型服务的一种架构方法。在微服务架构中,每个服务都是独立的逻辑单元,他们通过轻量级的通讯机制进行交互。为了更好的实现微服务架构,开发人员可以依赖一…

PMP P-10 Purchase Management

竟然不让上传图片了。。为啥???【上传过于频繁】行吧

搭建Serv-U FTP服务器实现外网远程访问,无需公网IP的文件共享方法

文章目录 1. 前言2. 本地FTP搭建2.1 Serv-U下载和安装2.2 Serv-U共享网页测试2.3 Cpolar下载和安装 3. 本地FTP发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角,智能…

2023最新官网下载安装配置JDK8(1.8u381)的详细步骤

目录 前言 一、下载 二、安装 三、配置环境变量 四、查看 前言 JDK11版本:官网下载JAVA的JDK11版本(下载、安装、配置环境变量)_java11下载_云边的快乐猫的博客-CSDN博客JDK17版本: Java官网下载JDK17版本详细教程&#xff…

Compose pager分页器入门使用 HorizontalPager与VerticalPager(2023/8)

Compose pager分页器入门使用 前言依赖概念介绍参数介绍 使用基础使用规范使用跳转指定分页器 pagerState.scrollToPage()添加指示器 pagerState.currentPage 完整代码总结 前言 阅读本文需要一定compose基础,如果没有请移步Jetpack Compose入门详解(实…

说说我最近招人的感受。。

大家好,我是鱼皮。 都说现在行情不好、找工作难,但招人又谈何容易?! 最近我们公司在招开发,实习社招都有。我收到的简历很多,但认真投递的、符合要求的却寥寥无几,而且都是我自己看简历、选人…

【EI检索稳定】第六届电力电子与控制工程国际学术会议(ICPECE 2023)

第六届电力电子与控制工程国际学术会议 2023 6th International Conference on Power Electronics and Control Engineering (ICPECE 2023) 第六届电力电子与控制工程国际学术会议由广西大学主办,重庆大学、华东交通大学、长春理工大学、大连交通大学联合主办。电…

伦敦金走势多变怎么办

投资知识比较丰富的朋友,应该知道一个品种的价格过于波动,对投资者来说并是一件不友好的事情,因为频繁的价格变化,对于收益的稳定性会产生负面的影响,也可能让投资者的持仓陷入进退维谷的尴尬境地。 黄金作为贵金属市场…

【视觉系统】笔芯内径机器视觉测量软硬件方案-康耐德智能

检测内容 笔芯内径机器视觉测量系统 检测要求 精度0.03mm,速度120~180个/分钟 视觉可行性分析 对样品进行了光学实验,并进行图像处理,原则上可以使用机器视觉系统进行测试测量。 结果: 对所有样品进行分析,可以在不…

抽象工厂(Abstract Factory)模式

一、 抽象工厂(Abstract Factory)模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。 为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族&#xff0c…

16- flask-bootstrap模板的使用

Flask 中支持 flask-bootstrap模板 和 bootstrap-flask模板 # 不使用: bootstrap-flask # pip install bootstrap-flask1.3.1 # 支持bootstrap 4 # pip install flask-bootstrap # 支持bootstrap3# 中文文档:https://flask-bootstrap-zh.readthedocs.io/zh/latest/ # 样式文档…

yolov8 No labels found in /path/train.cache解决

在用yolov8中ultralytics/datasets/coco.yaml训练时出现了no labels found in train2017.cache的错误。 model.train(data"ultralytics/datasets/coco.yaml",epochs100,imgsz640,batch16,save_period10,)下面查找一个这个问题出现的原因。 这里并没有提前下载coco数…

VM安装Windows11

VM下载地址: https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html Windows11镜像下载地址: https://www.microsoft.com/zh-cn/software-download/windows11/ 选择刚下载的Windows11镜像 更改安装目录 设置密码 …

MySQL索引,事务和存储引擎

一、索引 1、索引的概念 ●索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。 ●使用索引后可以不用扫描全表来定位某行的数据,而是先…

ASIC-WORLD Verilog(13)状态机FSM

写在前面 在自己准备写一些简单的verilog教程之前,参考了许多资料----Asic-World网站的这套verilog教程即是其一。这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加点自己的理解)分享给大家。 这是网站原文&…

MySQL 8.1.0 推出 InnoDB Cluster 只读副本

全面了解 8.1.0 版本新功能:InnoDB Cluster 只读副本的相关操作。 作者:Miguel Arajo 高级软件工程师 / Kenny Gryp MySQL 产品总监 本文来源:Oracle MySQL 官网博客 * 爱可生开源社区出品。 前言 MySQL 的第一个 Innovation 版本 8.1.0 已…

Pyqt5开发实战记录

入职以来第一个开发项目: 1、如何给Qlabel加边框:右键label对象,选择“改变样式表”输入一下代码: border: 1px solid black;2、如何让垂直布局中button大小不发生变化:其实很简单,只需要设置button的最大…

(视频教程)单细胞转录组多组差异基因分析及可视化函数

很久以前,我们发布过一个单细胞多组差异基因可视化的方法。跟着Cell学单细胞转录组分析(八):单细胞转录组差异基因分析及多组结果可视化。主要复现参考的是这篇发表在《Cell》上的文章。可以将多个组的差异结果展示出来。 (reference:A Spati…

夜莺项目发布 v6.1.0 版本,增强可观测性数据串联

大家好,夜莺项目发布 v6.1.0 版本,这是一个中版本迭代,不止是 bugfix 了,而是引入了既有功能的增强。具体增强了什么功能,下面一一介绍。 1. 增强可观测性数据串联 从 v6.1.0 开始,对日志索引模式做了增强…