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

服务器数据恢复环境:
一台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.mzph.cn/news/57419.shtml

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

相关文章

文心一言接入Promptulate,开发复杂LLM应用程序

简介 最近在尝试将文心一言的LLM能力接入Promptulate,故写了一篇博客记录一下,Promptulate 是 Promptulate AI 旗下的大语言模型自动化与应用开发框架,旨在帮助开发者通过更小的成本构建行业级的大模型应用,其包含了LLM领域应用层…

FusionAD:用于自动驾驶预测和规划任务的多模态融合

论文背景 自动驾驶(AD)任务通常分为感知、预测和规划。在传统范式中,AD中的每个学习模块分别使用自己的主干,独立地学习任务。 以前,基于端到端学习的方法通常基于透视视图相机和激光雷达信息直接输出控制命令或轨迹…

Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【一】

😀前言 本篇博文是关于Spring Boot(Vue3ElementPlusAxiosMyBatisPlusSpring Boot 前后端分离)【一】,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章…

【如何对公司网络进行限速?一个案例详解】

有不少朋友问到了关于企业网络QoS配置,这个确实在实际网络应用中非常多,基本上大部分企业或个人都用到这个功能,本期我们详细了解下QoS如何对宽带进行限制,QoS如何企业中应用。 一、什么是QoS? Qos是用来解决网络延迟和阻塞等问…

基于微信小程序的文化宣传平台的设计与实现(Java+spring boot+微信小程序+MySQL)

获取源码或者论文请私信博主 演示视频: 基于微信小程序的文化宣传平台的设计与实现(Javaspring boot微信小程序MySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java…

SSM(Spring+SpringMVC+MyBatis)整合

目录 1、提出问题 2、解决问题 3、相关文件 1、提出问题 SSM(SpringSpringMVCMyBatis)的开发,MyBatis在没有与Spring和SpringMVC整合的时候,是单独使用,单独配置。 Spring和SpringMVC的整合是无缝衔接的&#xff0…

浪潮云海护航省联社金融上云,“一云多芯”赋能数字农业

农村金融是现代金融体系的重要组成部分,是农业农村发展的重要支撑力量,而统管全省农商行及农信社的省级农村信用社联合社(以下简称:省联社)在我国金融系统中占据着举足轻重的地位。省联社通常采用“大平台小法人”的发…

【Spring Cloud系列】- 分布式系统中实现幂等性的几种方式

【Spring Cloud系列】- 分布式系统中实现幂等性的几种方式 文章目录 【Spring Cloud系列】- 分布式系统中实现幂等性的几种方式一、概述二、什么是幂等性三、幂等性需关注几个重点四、幂等性有什么用五、常见用来保证幂等的手段5.1 MVCC方案5.2 去重表5.3 去重表5.4 select in…

以udp协议创建通信服务器

概念图 创建服务器让A,B主机完成通信。 认识接口 socket 返回值:套接字,你可以认为类似fd 参数: domain->:哪种套接字,常用AF_INET(网络套接字)、AF_LOCAL(本地套接字)type->:发送数据类型,常用 …

网络摄像头:SparkoCam Crack

SparkoCam 网络摄像头软件 SparkoCam 是一款网络摄像头和视频效果软件,用于广播实时网络摄像头效果并将其应用到视频聊天和录音中。 使用佳能/尼康数码单反相机作为常规网络摄像头通过向实时视频聊天和视频录制添加酷炫的网络摄像头效果和图形来增强 USB 网络摄像…

automake安装及使用

安装 sudo apt install automake实例 源文件 以一个简单的例子为例&#xff1a; add .c #include "add.h"int add(int a, int b){return a b; }add.h int add(int a, int b);main.c #include <stdio.h> #include "add.h"int main() {int a …

volatile考点分析

今天我们学习并发编程中另一个重要的关键字volatile&#xff0c;虽然面试中它的占比低于synchronized&#xff0c;但依旧是不可忽略的内容。 关于volatile&#xff0c;我收集到了8个常见考点&#xff0c;围绕应用&#xff0c;特点和实现原理。 volatile有什么作用&#xff1f…

PHP8内置函数中的数学函数-PHP8知识详解

php8中提供了大量的内置函数&#xff0c;以便程序员直接使用常见的内置函数包括数学函数、变量函数、字符串函数、时间和日期函数等。今天介绍内置函数中的数学函数。 本文讲到了数学函数中的随机数函数rand()、舍去法取整函数floor()、向上取整函数 ceil()、对浮点数进行四舍…

基于HarmonyOS ArkUI实现七夕壁纸轮播

七夕情人节&#xff0c;为了Ta&#xff0c;你打算用什么方式表达爱&#xff1f;是包包、鲜花、美酒、巧克力&#xff0c;还是一封充满爱意的短信&#xff1f;作为程序员&#xff0c;以代码之名&#xff0c;表达爱。本节将演示如何在基于HarmonyOS ArkUI的SwiperController、Ima…

CrystalNet .Net VCL for Delphi Crack

CrystalNet .Net VCL for Delphi Crack VCL或更为人所知的可视化组件库是基于一个面向对象的框架&#xff0c;什么是用户对开发人员和事件的Microsoft Windows应用程序的接口。可视化组件库是用对象Pascal编写的。它主要是为使用Borland而开发的&#xff0c;它具有与Delphi以及…

释放 ChatGPT 的价值:5 个专家提示

随着近来ChatGPT的热议&#xff0c;人工智能技术被推上风口浪尖&#xff0c;由此以数字化技术为基础的数字营销也再次受到了不小的关注&#xff0c;但是营销的本质从来都没有变过&#xff0c;今天我们聊下ChatGPT无论如何演进&#xff0c;人工智能无论变得多么先进&#xff0c;…

【C语言基础】const关键词的使用方法

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

django中使用websocket

python本身只支持http协议 使用websocket需要下载第三方库 pip install -U channels 需要在seting.py里配置&#xff0c;将我们的channels加入INSTALLED_APP里。 INSTALLED_APPS ( django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, …

【环境配置】Android-Studio-OpenCV-JNI以及常见错误 ( 持续更新 )

最近一个项目要编译深度学习的库&#xff0c;需要用到 opencv 和 JNI&#xff0c;本文档用于记录环境配置中遇到的常见错误以及解决方案 Invalid Gradle JDK configuration found failed Invalid Gradle JDK configuration foundInvalid Gradle JDK configuration found. Open…

Docker数据管理(数据卷与数据卷容器)

目录 一、数据卷&#xff08;Data Volumes&#xff09; 1、概述 2、原理 3、作用 4、示例&#xff1a;宿主机目录 /var/test 挂载同步到容器中的 /data1 二、数据卷容器&#xff08;DataVolumes Containers&#xff09; 1、概述 2、作用 3、示例&#xff1a;创建并使用…