服务器数据恢复-LINUX操作系统下各文件系统误删除/格式化数据的恢复方案

2023-09-15 14:45:35

服务器数据恢复环境:
基于EXT2/EXT3/EXT4/Reiserfs/Xfs文件系统的Linux操作系统。

服务器故障:
LINUX操作系统下误删除/格式化数据。

服务器数据恢复过程:
1、首先会检测服务器是否存在硬件故障,如果检测出硬件故障,交由硬件工程师处理。 
2、检测故障表现是否与用户描述相同。
3、以只读方式对故障服务器中所有磁盘做完整镜像。镜像完成后将所有磁盘按照原样还原到故障服务器中。北亚企安数据恢复工程师后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
4、如果需要恢复完整目录结构,则先恢复已丢失文件节点,再恢复数据。如果节点无法恢复,则按文件类型进行恢复。 
5、恢复后的数据暂存在另一个存储体上。
6、由北亚企安数据恢复工程师和用户方共同对恢复出来的数据进行正确性和完整性的验证。
7、交付数据。

服务器数据恢复的可能性分析:
1、基于EXT2/EXT3/EXT4文件系统的数据删除:
EXT2文件系统下数据被删除可能会保留相应的INODE,所以在EXT2文件系统上,如果删除后没有覆盖,可完整恢复数据连同目录、名称。
EXT3/EXT4文件系统下数据被删除不会保留INODE中的索引信息,无法恢复目录及文件名称,只能按文件类型进行恢复。如果文件数量少或文件类别规律性强,可通过部分日志或文件内部规则进行恢复,如mysql、oracle数据库文件等规律性强的文件被删除后如果没有被覆盖通常可以完整恢复。
如果删除后有新数据写入,写入越多,可恢复率越低;写入越少,可恢复率越高。
2、基于EXT2/EXT3/EXT4文件系统的格式化:EXT2/EXT3/EXT4格式化后的文件系统与之前文件系统结构相同,则之前文件系统的节点区将被全部覆盖,只能按文件类型进行恢复,与上面描述的EXT3/EXT4数据删除的情况相似。
3、基于Reiserfs文件系统的数据删除或格式化:如果数据删除或格式化后无新的数据写入,通常可以完整恢复。
如果删除或格式化之后有新数据写入,视情况而定,写入越多,可恢复率越低,写入越少,可恢复率越高。
4、基于Xfs文件系统的数据删除或格式化:数据删除或格式化后无新的数据写入,通常可以完整恢复。
如果删除或格式化之后有新数据写入,写入越多,可恢复率越低;写入越少,可恢复率越高。

小贴士:
1、存储设备中的重要数据要经常备份。 
2、一旦发现数据丢失/损坏,不要对故障设备做任何操作。如有条件,将故障设备中的所有硬盘或其他存储介质做完整镜像。 
3、数据丢失/损坏后,即使不写入数据,单纯的读取也可能破坏文件系统的日志,所以一旦发现故障,应尽快umount文件系统。

更多推荐

软件测试/测试开发丨利用人工智能ChatGPT编写晋级报告

点此获取更多相关资料简介不管是在哪个公司,如果想要有一个长足的发展,想要获得晋升,除了平时的表现与积累,还有就是晋级答辩与晋级报告。不同的岗位,比如设计、产品、研发、测试,都有不同的答辩通道和晋级标准。一篇好的晋级报告,可以完整地体现一个人过去的工作贡献,以及未来的工作展望。而晋级报告的编写,也可以借助ChatGPT轻

微信CRM系统致力于帮助金融保险行业

在当今信息化的时代,金融保险行业面临着越来越大的竞争与挑战,那么微信CRM系统是怎么帮助金融保险行业解决问题的呢?金融保险行业面临的困难①销售管理困难,企业资源容易流失;金融保险业通过在线销售实现业务。电话销售、微信沟通难以监控管理,销售部员工流动性大,导致监管风险和客户资源流失。②客户营销困难,用户意向定位模糊;由于

《golang设计模式》第二部分·结构型模式-06-享元模式(Flyweight)

文章目录1.概述1.1角色1.2类图2.代码示例2.1设计2.2代码2.3类图示例1.概述享元(Flyweight)模式采用共享方式向客户端提供数量庞大的细粒度对象。所谓细粒度对象,是指实现了业务细节并相互独立的对象。细粒度对象是一种相对概念,一般不会进行更小粒度的拆分。1.1角色抽象享元(Flyweight):通常是

【跟小嘉学 Rust 编程】三十、Rust 使用 Slint UI

系列文章目录【跟小嘉学Rust编程】一、Rust编程基础【跟小嘉学Rust编程】二、Rust包管理工具使用【跟小嘉学Rust编程】三、Rust的基本程序概念【跟小嘉学Rust编程】四、理解Rust的所有权概念【跟小嘉学Rust编程】五、使用结构体关联结构化数据【跟小嘉学Rust编程】六、枚举和模式匹配【跟小嘉学Rust

(vue2)面经基础版-案例效果分析

配路由先配一级,一级里面配二级。一级路由:首页(二级:嵌套4个小页面)、详情页高亮a->router-link,高亮效果对自带高亮类名router-link(-exact)-active设置注:通过children配置项,可以配置嵌套子路由。并在该组件中准备路由出口<router-view></router-view>

「聊设计模式」之 设计模式的前世今生

🏆本文收录于《聊设计模式》专栏,专门攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎持续关注&&收藏&&订阅!目录:一、什么是设计模式设计模式的定义设计模式的作用二、设计模式的发展历程设计模式的起源设计模式的发展阶段三、设计模式的分类创建型模式结构型模式行为型模式四、常用的设计模式工厂模式单例模式装饰器模式代理模

【SpringBoot项目】SpringBoot+MyBatis+MySQL电脑商城

在b站听了袁老师的开发课,做了一点笔记。01-项目环境搭建_哔哩哔哩_bilibili基于springboot框架的电脑商城项目(一)_springboot商城项目_失重外太空.的博客-CSDN博客项目环境搭建1.项目分析1.项目功能:登录、注册、热销商品、用户管理(密码、个人信息、头像、收货地址)、购物车(展示、增加

Promise的链式调用

catch方法.catch(onRejected)=.then(null,onRejected)链式调用then方法必定会返回一个新的Promise可理解为后续处理也是一个任务新任务的状态取决于后续处理:若没有相关的后续处理,新任务的状态和前任务一致,数据为前任务的数据若有后续处理但还未执行,新任务挂起。若后续处理执行

C++笔记之文档术语——将可调用对象作为函数参数

C++笔记之文档术语——将可调用对象作为函数参数相关博文:C++笔记之函数对象functors与可调用对象文章目录C++笔记之文档术语——将可调用对象作为函数参数1.在函数参数中传递可调用对象2.‘在参数中传入可调用对象’和‘将可调用对象作为函数参数’哪个描述更加专业官方?3."将可调用对象作为函数参数"是不是和‘回调

【Java 基础篇】Java网络编程基础知识详解

网络编程是现代软件开发中不可或缺的一部分,它使我们能够在不同的计算机之间实现数据传输和通信。Java作为一种强大的编程语言,提供了丰富的网络编程库,使开发者能够轻松地创建网络应用程序。本文将介绍Java网络编程的基础知识,面向初学者,详细讨论网络通信的概念、Socket编程、服务器和客户端编程等内容。1.网络通信的基本

二刷力扣--栈和队列

栈和队列栈和队列基础(Python)栈一种先进后出,队列先进后出。Python中可以用list实现栈,用append()模拟入栈,用pop()模拟出栈。也可以用list实现队列,但是效率较低,一般用collections.deque模拟(双端)队列。5.数据结构—Python3.11.5文档使用list进行栈的操作st

热文推荐