一.故障描述

由8块盘组成的RAID5, 上层是EXT3文件系统,由于误删除导致文件系统中的邮件丢失

二.镜像磁盘

为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏, 使用winhex软件为每块磁盘做镜像, 以后所有的数据恢复操作都在镜像盘上进行, 不会对原始磁盘造成影响

镜像结果如下:

图一

三.组建RAID

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

结果如下:

图二

四.导出目标分区

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

图三

RAID中的所有分区如下:

nsmail文件夹:

图四

邮件头示例:

图五

五.邮件恢复

由于EXT3文件系统中文件删除后,节点中的文件大小和块指针都被清零, 因此很难通过常规手段去恢复。针对EXT3文件系统的特点和邮件文件本身的结构,确定算法概要:

在整个文件系统范围内,做全盘扫描,将找到的邮件文件全部取出,然后根据邮件本身记录的收件人、发件人、抄送、主题等信息进行整理,最后再将数据迁移到263平台上

详细过程:

1.完成邮件标识程序,识别收发人、主题等memi标识程序编写。

2.完成ext3超过48k邮件提取程序编写。

3.按小于48k、大于48k两种算法对邮件进行提取。提取同时,生成邮件索引信息库,并且提取非自由空间和非邮件区。

4.对3中提取的非自由空间和非邮件区进行人工分析,确定有无遗漏的邮件,如果有,确定遗漏的原因,调整算法,重新进行扫描。

5.重复3,4过程,直到最后的非自由空间和非邮件区中没有遗漏的邮件。

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

结果:

第一次 导出邮件 68.2G, 数据量 692,767 个文件

第二次 算法改进后, 导出邮件 77.2G, 数据量 720,209 个文件, 多了3万文件左右

第三次 再次改进算法, 导出邮件 84.8G, 数据量 895,032 个文件, 比第二次多了174823

总的存储空间是605G, 邮件区占用84.8G 剩下的有491.6G 自由空间,属于全零区域,肯定没有邮件了,非自由空间和非邮件区的垃圾数据有28.6G

经过3次大的算法改进,以及中途无数的细节增删,至此,剩余的非自由空间和非邮件区经人工验证也已经无法找到新的邮件文件,只剩下一些邮件的中间碎片,无法进行拼接,以及一些杂乱数据,此结果经北亚数据恢复总监亲自审核。

示例如下,邮件中间碎片:

图六

垃圾数据:

图七

六.验证数据

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

图八

一些邮件内容:

图九

图十

七.移交数据

配合客户将所有提取出的邮件迁移到263平台

本文转自 宋国建 51CTO博客,原文链接:http://blog.51cto.com/sun510/1958029,如需转载请自行联系原作者

邮件数据恢复解决方法相关推荐

  1. 邮箱大师发送邮件服务器连接失败,网易邮箱大师退信的解决方法分享 网易邮箱大师发不了邮件的解决方法介绍...

    网易邮箱大师退信的解决方法分享 1.要发送邮件的地址写错了,导致邮件不能寄出: 2.邮箱被盗,是别人用你的邮箱发送垃圾邮件: 3.可能是设置自动回复的原因,网易的系统邮件不接受自动回复邮件. 解决方法 ...

  2. u盘在电脑上读不出来?数据恢复解决方法在这

    u盘在电脑上读不出来?u盘是很多学生党或上班族必备配件,但在使用过程中也会遇到一些问题,如u盘插入电脑后没有反应.电脑上没有显示U盘的盘符.u盘文件损坏怎么恢复数据等等,下面就给大家汇总了一些解决方法 ...

  3. Hotmail改成Outlook后,用foxmail无法收取Hotmail邮件的解决方法

    微软推出Hotmail升级到Outlook,可以注册一个新的后缀为Outlook的邮箱. 怀着尝试新功能的想法,另外发现可以注册一个比较好记的用户名,于是升级了旧的Hotmail邮箱. 升级需谨慎,可 ...

  4. outlook2013邮箱找不到服务器,Outlook2013收件箱不显示邮件的解决方法

    系统是win8.1,刚安装office2013,明明邮箱中有很多邮件,但在outlook2013收件箱中没有显示出来.metro界面中的outlook2013设置成"下载任何时间内的电子邮件 ...

  5. 阿里云服务器不能发邮件的解决方法

    最近把一个项目部署到阿里云服务器上了,项目的其他页面都可以在浏览器上显示出来.需要实现的功能是点击注册按钮是需要通过发送一封邮件给注册的邮箱,客户通过点击邮箱的链接来激活注册的账号.但是在注册页面,用 ...

  6. 西电学生邮箱收不到软件激活邮件的解决方法

    http://smg.stumail.xidian.edu.cn/gw/user/ 用邮箱账号登录,收不到的邮件是拦截到这里了.默认网关是打开的,可以手动设置关闭所有的过滤.还有一种情况,如果附件特别 ...

  7. 常见邮件发送失败原因分析以及解决方法

    一.发到 sina.com 的邮件会被退回 二.发到 tom.com 的邮件会被退回 三.发到 aol.com 的邮件会被退回 四.发到 163 的邮件会被退回 五. 收到退信错误提示为"5 ...

  8. outlook服务器响应错误,outlook 错误代码解析与解决方法

    outlook错误代码解析与解决方法 一般错误: 0x800C0131和0x800C013E:Folders.dbx档案属性错误或损坏 解决方法:Folders.dbx为Outlook Express ...

  9. 邮箱服务器错误550,发送邮件常见的错误和解决方法

    原标题:发送邮件常见的错误和解决方法 错误1 550 Mail content denied 这种是内容的问题,用户加服务器IP白名单就可以了. 错误2 550 Connection denied 出 ...

最新文章

  1. 如何读懂并写出装逼的函数式代码 1
  2. 前端学习(1952)vue之电商管理系统电商系统之级联选择器
  3. Android横向滚动卡片,Android实现横向滑动卡片效果
  4. 大圆距离matlab代码,python – cartopy:大圆距离线的更高分辨率
  5. dell屏幕亮度调节不了_?戴尔XPS13 7390笔电测评:10代酷睿加持,屏幕/散热/续航升级...
  6. https://leetcode.com/problems/palindromic-substrings/description/
  7. java excel api 下载文件_Java-Excel Java操作Excel POI(Jakarta POI API) - 下载 - 搜珍网
  8. 使用过滤器实现网站访问计数器的功能
  9. nusoap 与 CI框架不用WSDL
  10. BZOJ 4698: Sdoi2008 Sandy的卡片
  11. MySQL数据库企业级应用实践(主从复制)
  12. Excel数据导入sql临时表操作步骤
  13. ImageJ 插入插件和基本教程
  14. 分支定界法(matlab实现)
  15. 线性拟合1-最小二乘法
  16. 智慧城市建设中 网络安全攻防战如何打赢?
  17. 电脑文件删不掉怎么办?数据误删也能恢复
  18. linux查看pcie网卡命令,kudzu命令查看及设置网卡等硬件信息
  19. 如何配置 uboot
  20. Gitea+Drone(K8S CI/CD)2

热门文章

  1. Centos Git1.7.1升级到Git2.2.1
  2. 网络集中投射了全部安全问题
  3. 【Android 面试基础知识点整理】
  4. django_2.0_请求处理
  5. maven中打包项目为war包的pom.xml配置
  6. 科学家发现第三种磁性:或是量子计算又一突破
  7. 大数据-07-Spark之流数据
  8. IE10访问apache 2.4会奇慢的解决办法
  9. Codeforces Round #324 (Div. 2) E. Anton and Ira 贪心
  10. Ora-12154:无法解析连接字符串