服务器数据恢复环境:
新网企业邮件服务器;
组建 RAID5,文件系统为 REISERFS;
一个数据分区,寄存上百万企业用户的邮件。
服务器故障 & 剖析:
服务器在失常运行过程中,RAID 忽然 OFFLINE。管理员查看发现故障服务器有两块盘报警,将其中一块盘强制上线后却发现卷无奈挂载,于是执行 FSCK 并 REBULD TREE,实现上述操作后卷依然无奈挂载。征询多家数据恢复服务商均无奈提供可行的解决方案,最终新网抉择咱们数据恢复核心进行数据恢复。
这种 RAID 故障在咱们数据恢复核心接到的 cases 中是很常见的。因为报警的两块盘并不是同时掉线,如果强制上线先离线的硬盘会导致数据区的新旧数据混在一起,文件系统构造不统一。强制上线会在读写过程中生成新的测验条带,会影响一部分数据。如果读写不多或根本无法 MOUNT,状况的严重性会小很多。
本案例中最重大的问题在于 REBUILD TREE,此操作相当于将一个混淆的文件系统间断化,后果会导致文件系统的所有构造体全面出错,这种状况通常是无法挽救的。加上用户的文件目录构造非常复杂,文件总数粗略预计上亿,复原数据的机会很小。
服务器数据恢复过程:
1、首先对故障服务器所有硬盘做镜像备份,后续的数据恢复操作都在备份文件上进行,防止对数据二次毁坏。
2、服务器数据恢复工程师先试图将文件系统构造区独自提出来进行剖析,但 REISERFS 文件系统区绝对扩散且无规律,通过北亚自主研发的程序对文件系统构造区进行提取和剖析。在本案例中,仅 1 级节点提取进去的数据就有好几个 G,可见本案例文件构造的简单。
3、对文件系统区进行一致性测验,修改谬误中央。本案例中好多文件系统节点区都因测验关系,使要害属性字节产生了扭转。通过北亚自主研发的程序将所有节点状态对立初始化,对节点进行一致性解决。
4、实现上述两步操作后有 2 种计划复原最终的数据:
第一种计划:在 LINUX 零碎下再次执行 FSCK,后果施行这种计划后发现成果不好,起因是 LINUX FSCK 的性能无限,如果在父节点稍有谬误,其子节点便会被全副打入到 LOST+FOUND 里,无奈还原本来的目录构造。
第二种计划:通过只读形式,在 WINDOWS 环境下用北亚自主研发的程序提取数据。在具体的施行过程中,须要一直批改程序并疏忽一些谬误,最终提取出数据。
5、由用户对复原进去的数据进行检测,确认须要的数据根本都复原进去,能够失常读取。
服务器数据恢复总结:
RAID5 磁盘阵列两块硬盘先后离线,然而又不晓得离线先后顺序的 case 很多。碰到这种状况须要咱们审慎解决。如果能够查问到日志,通过日志确定为好。如果强制上线出错,应马上进行操作,切不可做 FSCK 等操作。
LINUX 的 FSCK 操作危险很大,做之前肯定要看清楚提醒,如果出错信息异样,应抉择其余计划。