• 【服务器数据恢复】服务器误删除导致邮件数据丢失的数据恢复案例


    服务器数据恢复环境:

    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平台。至此本次数据恢复完成。

  • 相关阅读:
    微服务实战系列(七)-网关springcloud gateway
    微服务实战系列(六)-网关springcloud zuul
    微服务实战系列(五)-注册中心Eureka与nacos区别
    微服务实战系列(四)-注册中心springcloud alibaba nacos
    中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先
    面对不可避免的故障,我们造了一个“上帝视角”的控制台
    实习就参与“服务过亿用户的项目”,是什么体验?
    Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题
    云原生时代下,容器安全的“四个挑战”和“两个关键”
    OpenKruise v0.8.0 核心能力解读:管理 Sidecar 容器的利器
  • 原文地址:https://www.cnblogs.com/frombyte/p/16718444.html
Copyright © 2020-2023  润新知