看了这篇文章,再也不用担心邮件被误删除了

简介:

一.故障描述
由8块盘组成的RAID5, 上层是EXT3文件系统,由于误删除导致文件系统中的邮件丢失
二.镜像磁盘
为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏, 使用winhex软件为每块磁盘做镜像, 以后所有的数据恢复操作都在镜像盘上进行, 不会对原始磁盘造成影响
镜像结果如下:
图一
1

三.组建RAID
通过分析数据在硬盘中分布的规律, 获取RAID类型, RAID条带的大小,以及每块磁盘的顺序。根据分析结果使用UFS组建RAID。
结果如下:
图二
2

四.导出目标分区
从组建好的RAID中可以看出,上层划分了好几个EXT3分区,通过对每个分区中底层数据的分析, 发现605G的分区里面有大量的邮件头,并且有nsmail目录, 确认此分区是数据恢复的目标分区,使用UFS软件将此分区导出,以便后续处理。
图三3

RAID中的所有分区如下:

nsmail文件夹:
图四
4

邮件头示例:
图五
5

五.邮件恢复
由于EXT3文件系统中文件删除后,节点中的文件大小和块指针都被清零, 因此很难通过常规手段去恢复。针对EXT3文件系统的特点和邮件文件本身的结构,确定算法概要:
在整个文件系统范围内,做全盘扫描,将找到的邮件文件全部取出,然后根据邮件本身记录的收件人、发件人、抄送、主题等信息进行整理,最后再将数据迁移到263平台上
详细过程:
1.完成邮件标识程序,识别收发人、主题等memi标识程序编写。
2.完成ext3超过48k邮件提取程序编写。
3.按小于48k、大于48k两种算法对邮件进行提取。提取同时,生成邮件索引信息库,并且提取非自由空间和非邮件区。
4.对3中提取的非自由空间和非邮件区进行人工分析,确定有无遗漏的邮件,如果有,确定遗漏的原因,调整算法,重新进行扫描。
5.重复3,4过程,直到最后的非自由空间和非邮件区中没有遗漏的邮件。

  1. 对所有提取出的邮件,按照数据库中解析到的收件人和发件人归类,每个账号一个文件夹,内含收件和发件两个文件夹。
    结果:

第一次 导出邮件 68.2G, 数据量 692,767 个文件
第二次 算法改进后, 导出邮件 77.2G, 数据量 720,209 个文件, 多了3万文件左右
第三次 再次改进算法, 导出邮件 84.8G, 数据量 895,032 个文件, 比第二次多了174823
总的存储空间是605G, 邮件区占用84.8G 剩下的有491.6G 自由空间,属于全零区域,肯定没有邮件了,非自由空间和非邮件区的垃圾数据有28.6G
经过3次大的算法改进,以及中途无数的细节增删,至此,剩余的非自由空间和非邮件区经人工验证也已经无法找到新的邮件文件,只剩下一些邮件的中间碎片,无法进行拼接,以及一些杂乱数据,此结果经北亚数据恢复总监亲自审核。
示例如下,邮件中间碎片:
图六
6

垃圾数据:
图七
7

六.验证数据
验证数据分为两部分,一个是邮件数据量的验证,通过对几个已知账号的收件和发件数量的统计,大概估算一下邮件的回复比例。二是邮件正确性的验证,用FoxMail打开提取出的邮件,查看内容是否正常.几个账号的数量如下:
图八
8

一些邮件内容:
图九
9

图十
10

七.移交数据
配合客户将所有提取出的邮件迁移到263平台

相关文章
|
小程序 JavaScript Android开发
小程序源码丢失了怎么在微信平台反编译找回
小程序源码丢失了怎么在微信平台反编译找回
358 0
|
6月前
|
弹性计算 安全 机器人
定时提醒再也不用担心忘记啦
好记性不如烂笔头,烂笔头不如靠谱的自动化~~~正在寻找自动化流程编排工具或定时任务工具的朋友们赶紧看过来,为你介绍一款简单配置即可实现自动化定时提醒的平台阿里云计算巢AppFLow。
244 0
|
Cloud Native 数据挖掘 Go
异地面试指南:如何在远程面试中给人留下深刻印象
异地面试指南:如何在远程面试中给人留下深刻印象
114 0
|
算法 安全 Java
快速了解常用的消息摘要算法,再也不用担心面试官的刨根问底
加密算法通常被分为两种:对称加密和非对称加密。其中,对称加密算法在加密和解密时使用的密钥相同;非对称加密算法在加密和解密时使用的密钥不同,分为公钥和私钥。此外,还有一类叫做消息摘要算法,是对数据进行摘要并且不可逆的算法。 这次我们了解一下消息摘要算法。
634 0
快速了解常用的消息摘要算法,再也不用担心面试官的刨根问底
rpcms后台地址忘了怎么办?来教你找回
rpcms如果忘记后台地址了,如何找回的方法。1、如果你在安装rpcms的时候没有自定义后台地址,或者没有填写,那默认就是admin。2、如果你修改过了,那就在setting/config/default.php(V3.0以下在config.php)文件中查看,找到diy_admin,这个参数的值就是自定义的后台地址。
rpcms后台地址忘了怎么办?来教你找回
|
存储 缓存 NoSQL
Redis持久化锦囊在手,再也不会担心数据丢失了
大家好,我是小羽。Redis 的读写都是在内存中进行的,所以它的性能高。而当我们的服务器断开或者重启的时候,数据就会消失,那么我们该怎么解决这个问题呢?其实 Redis 已经为我们提供了一...
381 0
Redis持久化锦囊在手,再也不会担心数据丢失了
|
Java 应用服务中间件 API
看完再也不担心不会文章的上传与下载(建议收藏)
​ 既然文件上传如此头疼,那么总该有人挺身而出帮我们解决这个难题。Servlet 3.0 提供了文件上传操作功能,而且使用也非常简单。
118 0
看完再也不担心不会文章的上传与下载(建议收藏)
【这些快捷键,你会用么?】再也不用担心有人突然进屋了,[偷乐],赶紧收转~!!!
【这些快捷键,你会用么?】再也不用担心有人突然进屋了,[偷乐],赶紧收转~!!!
【这些快捷键,你会用么?】再也不用担心有人突然进屋了,[偷乐],赶紧收转~!!!
|
程序员 Windows
有了它,再也不用担心我的截图了
有了它,再也不用担心我的截图了
233 0
有了它,再也不用担心我的截图了
|
SQL 关系型数据库 MySQL
妈妈再也不用担心我把数据弄丢了
数据是现代大小厂的重要资产,保护和恢复数据成为了重要的技能, 最近几年,常有一些无良程序员删库跑路的情况,不仅给所在企业更是给自己造成重大的损失。 另外,即使不是故意的情况下,也会因为疏忽造成数据误操作,是一件及麻烦又头疼的事情……
149 0