服务器数据恢复—异常断电导致服务器挂载分区无法访问的数据恢复案例

news2024/11/28 16:52:33

服务器数据恢复环境:
某品牌服务器+同品牌存储,Linux centos7+EXT4文件系统。

服务器故障:
意外断电导致服务器操作系统不能正常启动。经过修复后系统可以正常启动,但是挂载的分区无法正常访问。使用fsck修复这个问题分区,虽然修复完成之后文件系统正常,但是发现部分文件丢失,查看后发现缺失的部分文件在lost+found文件夹里,文件名已经发生改变。

服务器数据恢复过程:
1、将存储上的出现问题的lun以只读模式映射到一台windows server系统服务器上,以扇区的方式镜像到备份空间,后续的数据分析和数据恢复操作均在备份的数据上进行,避免对原始数据造成二次破坏。
2、基于镜像数据分析故障卷的底层数据,发现服务器异常断电导致虚拟机目录下的目录项被破坏。这种破坏不会影响重要数据,只是破坏了文件的目录项,可以通过人工修复解决。之后工作人员使用fsck修复文件系统,导致文件目录结构丢失。损坏的目录项修复不成功,直接以目录节点号命名放到lost+found文件夹下。这时,目录项对应的数据区索引会被清掉,但是也不会影响删除文件的实际数据。可以根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型,在VMFS卷自由空间中进行碎片匹配和合并,恢复删除的虚拟磁盘文件。


由于ext4文件系统文件丢失后,文件的节点信息也会被清除,所以无法根据文件的节点信息恢复数据,只能将丢失的文件的目录项节点号和lost+found里面的文件的名称进行匹配。由于lost+found里面的文件是以文件的目录项的节点号命名的,所以把目录项节点号提取出来和lost+found里面的文件名进行匹配就可以还原之前的目录结构。
3、按照上述思路分析底层数据。根据EXT4的文件系统结构信息,在底层的空间中扫描符合的目录项的区域,统计其数量和计算目录项的节点号。根据磁盘中的文件系统的信息,北亚企安数据恢复工程师将这些扫描到的目录项节点号进行整合,将扫描到的目录项节点号记录到数据库。将lost+found里面的文件记录号和数据库里面的记录号进行匹配。 
4、经过匹配,数据正常恢复。经过数据恢复工程师和用户方的验证都没有发现问题,数据恢复工作完成。

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

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

相关文章

网络原理(数据链路层)->以太网帧格式解

前言 大家好我是小帅,今天我们来了解以太网帧格式 个人主页 文章目录 1.数据链路层1.1 认识以太⽹1.2 MAC地址(⽹卡的硬件地址)1.2.1 对⽐理解MAC地址和IP地址 1.3 认识MTU1.4 MTU对IP协议的影响1. 5 MTU对UDP协议的影响1.6 MTU对于TCP协议的…

隨筆 20241025 Kafka数据一致性的韭菜比喻

在Kafka中,数据一致性是通过Leader和Follower副本之间的协调来实现的。为了更容易理解这个复杂的概念,我们可以用韭菜作为比喻。 韭菜的角色 Leader韭菜:代表数据的主导者,它负责更新和维护最新的数据。Follower韭菜&#xff1a…

CNAS软件测试的好处有哪些?上海软件测试中心推荐

在进行软件测试或其他项目检测需要选择软件测试中心时,我们常常会把该公司有无资质认证考虑进去。那么CNAS认可作为检测机构或实验室的一项重要资质认证,我们可能会产生疑问:CNAS认可什么意思?CNAS软件测试又有什么好处呢? 1、CNAS认可是什…

vivo 轩辕文件系统:AI 计算平台存储性能优化实践

在早期阶段,vivo AI 计算平台使用 GlusterFS 作为底层存储基座。随着数据规模的扩大和多种业务场景的接入,开始出现性能、维护等问题。为此,vivo 转而采用了自研的轩辕文件系统,该系统是基于 JuiceFS 开源版本开发的一款分布式文件…

满足抖音视频剪辑内容要求的四款剪辑工具!!!

抖音作为短视频的主流平台,吸引了大量用户参与视频创作,视频剪辑需求也不断扩大,而市面上功能各异的视频剪辑工具也为创作者提供了丰富的选择。无论是个人分享、品牌宣传还是娱乐内容,剪辑已成为内容制作的关键。以下四款视频剪辑…

类和对象—上

目录 一、面向过程和面向对象初步认识 1.面向过程介绍 2.面向对象 二、类的引入 1.可以利用关键字struct来定义类的原因 1.1.C可以使用struct来定义类的原因是 2.利用关键字struct定义类及访问类成员的案例 3.使用关键字struct定义结构体、定义类的区别 3.1.C语言的结…

掌握机器学习中的偏差与方差:模型性能的关键

引言 在机器学习中,偏差(Bias)和方差(Variance)是两个至关重要的概念,它们共同影响了模型的性能。理解偏差与方差的本质,能够帮助我们找到模型的平衡点,提高模型的泛化能力&#xf…

简记Vue3(二)—— computed、watch、watchEffect

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

C#从零开始学习(用户界面)(unity Lab4)

这是书本中第四个unity Lab 在这次实验中,将学习如何搭建一个开始界面 分数系统 点击球,会增加分数 public void ClickOnBall(){Score;}在OneBallBehaviour类添加下列方法 void OnMouseDown(){GameController controller Camera.main.GetComponent<GameController>();…

Bug | 项目中数据库查询问题

问题描述 理论上&#xff0c;点击查询后&#xff0c;表头应当显示中文。而不是上面的在数据库中的表头【如上图示】 正常点击查询后&#xff0c;如果没有输入值&#xff0c;应当是查询所有的信息。 原因分析&#xff1a; 这里是直接使用SELECT * 导致的。例如&#xff1a; S…

Spring Task—定时任务

Spring Task 是 Spring 提供的一种轻量级定时任务调度功能&#xff0c;内置在 Spring 框架中。与 Quartz 等重量级调度框架相比&#xff0c;Spring Task 使用简便&#xff0c;无需额外依赖&#xff0c;适合在简单的调度任务场景中使用。通过注解配置方式&#xff0c;开发者可以…

学习虚幻C++开发日志——基础案例(持续更新中)

官方文档&#xff1a;虚幻引擎C编程教程 | 虚幻引擎 5.5 文档 | Epic Developer Community | Epic Developer Community 1.物体上下起伏并旋转 1.1第一种写法 创建一个继承于Actor的类&#xff0c;并为新的Actor命名为FloatingActor&#xff0c;然后点击Create Class 重新…

前端 eslint 配置,以及在git提交之前自动format

目录 1、配置eslint步骤 1、eslint安装配置步骤 2、配置scripts步骤 3、测试eslint 2、配置git-hook1、安装环境2、最终效果 众所周知&#xff0c;前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护&#xff0c;这里提供我的规范&#xff0c…

主动元数据平台在企业建设 DataOps 体系中的“角色”

2018 年&#xff0c;Gartner 将 DataOps 纳入到数据管理技术的成熟度曲线之中。Gartner 认为&#xff0c;DataOps 是一种协作式数据管理实践&#xff0c;改善整个组织内数据管理者和使用者之间数据流的沟通、集成和自动化&#xff0c;通过对数据、数据模型和相关工序创建可预测…

Docker搭建基于Nextcloud的个人云盘/私有云盘/个人相册/家庭NAS

安装配置Docker 官方安装文档&#xff1a;https://docs.docker.com/engine/install/ Docker常用命令&#xff1a;https://blog.csdn.net/qq_43003203/article/details/139532097?spm1001.2014.3001.5502 Docker镜像仓库配置方法和国内常用镜像仓库地址&#xff1a; 输入&a…

安卓早期apk兼容性适配之内存读写

许多早期开发的apk放到现在的高版本安卓系统上使用就会出现报错&#xff0c;今天给大家带来的是内存读写权限适配教程。 工具 mt/np管理器 早期apk dex注入器&#xff08;自行下载&#xff09; 教程 使用mt查看apk打开AndroidManifest.xml表单 在权限上添加 <!-- 读取您共享…

C++ | Leetcode C++题解之 第508题出现次数最多的子树元素和

题目&#xff1a; 题解&#xff1a; class Solution {unordered_map<int, int> cnt;int maxCnt 0;int dfs(TreeNode *node) {if (node nullptr) {return 0;}int sum node->val dfs(node->left) dfs(node->right);maxCnt max(maxCnt, cnt[sum]);return su…

三维管线管网建模工具MagicPipe3D V3.5.3

经纬管网建模系统MagicPipe3D&#xff0c;本地离线参数化构建地下管网三维模型&#xff08;包括管道、接头、附属设施等&#xff09;&#xff0c;输出标准3DTiles、Obj模型等格式&#xff0c;支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…

【数据结构和算法】三、动态规划原理讲解与实战演练

目录 1、什么是动态规划&#xff1f; 2、动态规划实战演练 2.1 力扣题之爬楼梯问题 &#xff08;1&#xff09;解题思路1: &#xff08;2&#xff09;解题思路2: &#xff08;3&#xff09;动态规划&#xff08;DP&#xff09;&#xff1a;解题思路 &#xff08;4&#x…

PHP免杀详细讲解PHP免杀详细讲解

基础学习 可变参数 $_GET $_POST $_COOKIE $_REQUEST $_SERVER 其中的某些参数可控,如REQUESTMETHOD,QUERYSTRING,HTTPUSERAGENT等 session_id() 这个比较特殊,但是依然可以利用 $_FILE $GLOBALS getallheaders() get_defined_vars() get_defined_functions() fil…