服务器数据恢复—Linux操作系统环境下网站数据的恢复案例

devtools/2024/9/20 15:43:36/

数据恢复>服务器数据恢复环境:
一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。

服务器故障:
服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区。找当地一家数据恢复公司处理后,没有将数据恢复出来。北亚企安数据恢复中心接到用户方的求助后分析故障原因。
1、出现坏道后,用户可能执行过fsck的操作,导致数据的进一步破坏。
2、根据部分块组全为0的情况来看,还极有可能执行过mkfs操作,但是没有完成操作。
3、送修的数据恢复公司在处理过程中有再次破坏数据的可能性。

数据恢复>服务器数据恢复过程:
1、将故障服务器中硬盘取出,硬件工程师对这块磁盘进行检测后发现这块硬盘确实存在坏道。使用专业镜像工具以只读方式将硬盘进行扇区级完整镜像,镜像完成后将硬盘按照原样还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析硬盘底层数据。该硬盘上总共只划分了两个分区:100M的boot分区和利用剩下空间划分的/分区,/分区通过LVM管理,文件系统均为EXT3。根分区超级块正常,根据超级块查看第一块组描述表正常,但节点区全为0。
3、根据块组描述表分析其他块组,发现前27个块组全部为0,但块组前后的数据区明显存在数据。中间块组区元数据正常(描述表、节点、BITMAP等),最后部分块组的元数据区全部为0。
4、尝试查找根目录,以根目录为线索恢复根目录节点区。
5、北亚企安数据恢复工程师根据恢复的根目录节点区与根目录记录生成文件系统树。文件系统树生成后后已经可以看到大量数据。文件系统结构正常,但部分文件或文件夹的节点为0。通过节点跟踪,发现节点区位于文件系统前部分及后部分。


6、试图恢复节点区为0的文件与文件夹。经过一番尝试,大部分文件夹恢复成功,但大部分文件无法恢复。
7、试图恢复用户曾做过的.TAR和.GZ备份包。虽然恢复成功,但是打开这些包时提示出错,中间数据被破坏,只能导出部分网站数据。
8、经过用户方的检测,发现重要数据已经恢复,已经超出预期。认可数据恢复结果。

Tips:
1、如果有重要数据,不能只用单盘做存储。
2、做好备份工作,尽量将备份包放在不同的存储体上,最起码不要放到同一分区下。
3、硬盘出现故障后,一定不要自己尝试恢复数据,在做任何操作和决定之前应先做完整备份。
4、尽可能选择专业正规的数据恢复服务商处理,避免对数据造成故意或者无意的二次破坏。


http://www.ppmy.cn/devtools/114159.html

相关文章

(SERIES10)DM逻辑备份还原

1 概念 逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻…

Nginx从入门到入土(二): 学习内容与安装

Nginx学习内容 1.理解Nginx在实际项目中的应用场景 2.理解正向代理和反向代理 3.Nginx在Linux和Windows上的安装 4.Nginx的运行模型概念与日志管理 5.Nginx.config核心配置文件与配置HTTPS证书 6.基于Nginx解决跨域,实现防盗链,缓存,压…

小琳AI课堂:大语言模型如何符合伦理限制

大家好,这里是小琳AI课堂。今天我们来聊聊大语言模型是如何符合伦理限制的,这可是一个非常重要的话题哦!🌟 首先,我们要知道,大语言模型的伦理限制实现主要通过以下几个方面: 数据筛选和清洗&a…

线程池的类型

目录 一、如何创建线程池? 二、常见的线程池有哪几种? 一、如何创建线程池? (1)通过Executors工具类的静态方法,创建线程池; (2)创建ThreadPoolExecutor对象,按照业务…

TON基金会与Curve Finance合作:推出基于TON的新型稳定币互换项目

2024年,TON基金会宣布与去中心化金融(DeFi)领域的知名协议Curve Finance建立战略合作,携手推出一个全新的基于TON区块链的稳定币交换项目。这一合作标志着TON生态系统在DeFi领域的进一步扩展,并将通过Curve Finance的核…

【项目一】基于pytest的自动化测试框架———解读requests模块

解读python的requests模块 什么是requests模块基础用法GET与POST的区别数据传递格式会话管理与持久性连接处理相应结果应对HTTPS证书验证错误处理与异常捕获 这篇blog主要聚焦如何使用 Python 中的 requests 模块来实现接口自动化测试。下面我介绍一下 requests 的常用方法、数…

Selenium实现滑动滑块验证码验证!

背景:在部分的登录中有滑动验证码的验证,由于滑动验证码的缺块是随机的就导致实现起来比较困难! 01、实现方案 模板匹配 通过openCV分析两个图片的相似度,获取两个相似度很高图片的坐标,从而计算两个图片的距离。 轮…

Python---lambda、enumerate的使用

目录 源代码使用lambda函数作为排序的键enumerate() 函数json.dumps()函数 源代码 #只保留得分前50的数据 results sorted(results, keylambda x: x[positive_score], reverseTrue)[:need] # 重新设置id,从0开始 for i, data in enumerate(results):data[id] …