服务器数据恢复环境:
8 块盘组成的 RAID5 磁盘阵列;
EXT3 文件系统。
服务器故障:
因为误删除导致文件系统中的邮件失落。
服务器数据恢复过程:
一、服务器数据恢复工程师为每块磁盘做镜像, 后续所有的数据恢复操作都在镜像盘上进行, 不会对原始磁盘数据造成二次毁坏。
二、剖析数据在硬盘中散布的法则,获取 RAID 类型、RAID 条带大小、每块磁盘的程序等 RAID 信息。依据获取到的 RAID 信息重新组建 RAID。
三、从组建好的 RAID 中能够看到下层划分了数个 EXT3 分区。通过剖析每个 EXT3 分区中的底层数据,发现一个分区外面有大量的邮件头和 nsmail 目录。确认此分区就是数据恢复的指标分区,应用工具将此分区导出以便后续解决。
RAID 中的所有分区如下:
nsmail 文件夹:
邮件头示例:
四、复原邮件。
因为 EXT3 文件系统中的文件被删除后,节点中的文件大小和块指针都被清零,很难通过惯例伎俩去复原。针对 EXT3 文件系统的特点和邮件文件自身的构造,数据恢复工程师制订复原计划:首先对整个文件系统做扫描,将找到的邮件文件全副取出,而后依据邮件自身记录的收件人、发件人、抄送、主题等信息进行整顿,最初再将数据迁徙到 263 平台上。
邮件复原的具体过程:
1、北亚数据恢复工程师编写辨认收发人、主题等 memi 标识的程序和 ext3 超过 48k 邮件的提取程序。
2、按小于 48k、大于 48k 两种算法对邮件进行提取。提取的同时生成邮件索引信息库,并提取非自由空间和非邮件区。
3、人工剖析提取的非自由空间和非邮件区,确认是否有脱漏的邮件。如果有脱漏则确定脱漏的起因,调整算法从新进行扫描。
4、反复 2、3 这 2 步的过程,直到所有的非自由空间和非邮件区中没有脱漏的邮件。
5、把所有提取出的邮件依照数据库中解析到的收件人和发件人归类,每个账号一个文件夹(内含收件和发件两个文件夹)。
邮件复原后果:
第一次导出邮件 68.2G,692,767 个文件
第二次改良算法,导出邮件 77.2G,720,209 个文件。
第三次再次改良算法,导出邮件 84.8G,895,032 个文件。
总的存储空间是 605G,邮件区占用 84.8G,剩下的自由空间属于全零区域,必定没有邮件了,非自由空间和非邮件区的垃圾数据有几十 G。
通过 3 次算法改良和记不清多少次的细节增删,通过人工验证在残余的非自由空间和非邮件区曾经无奈找到新的邮件文件。剩下的一些邮件两头碎片无奈进行拼接,而后还有一些芜杂的数据。
邮件两头碎片:
垃圾数据:
验证数据:
验证数据分为两局部,一是邮件数据量的验证,通过对几个已知账号的收件和发件数量的统计大略估算一下邮件的回复比例。二是邮件正确性的验证,用 FoxMail 关上提取出的邮件,查看内容是否失常。通过用户重复验证,确认本次复原进去的数据残缺无效。
几个账号的数量如下:
一些邮件内容:
移交数据:
配合用户将所有提取出的邮件迁徙到 263 平台。至此本次数据恢复实现。