服务器数据恢复环境:
一台服务器挂载一台存储设备,存储中划分一个Lun;服务器操作系统是Linux centos,EXT4文件系统。
服务器故障&分析:
意外断电导致服务器操作系统无法启动,系统在修复后可以正常启动,但是挂载的分区无法正常访问。管理员对这个分区执行了fsck修复,修复后文件系统可以正常访问,但是发现部分文件丢失。经过查找在lost+found文件夹中发现缺失的部分文件,但是文件名称已经被改变。
将故障存储中的lun以只读模式映射到一台windows server服务器上,将整个lun以扇区的方式镜像到该服务器的空间,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
基于镜像文件分析该lun的底层数据,发现意外断电导致文件系统中的文件的目录项被破坏,这种破坏不会影响实际数据,只是文件的目录项被破坏,可以通过人工进行修复。但是接下来的管理员对文件系统执行fsck修复操作导致损坏的目录项修复失败,以目录节点号命名放到lost+found文件夹下,这种情况下目录项对应的数据区索引会被清,但是也不会影响丢失文件的实际数据。
由于ext4文件系统文件丢失会导致文件的节点信息被清除,无法根据文件的节点信息恢复数据,只能通过将丢失文件的目录项节点号和lost+found文件夹里的文件名称相配的方法进行处理。lost+found文件夹里的文件是以该文件的目录项节点号命名的,将目录项节点号提取出来和lost+found文件夹里的文件名称进行匹配,就可以还原之前的目录结构。
服务器数据恢复过程:
1、按照上述分析思路进行底层分析,根据EXT4的文件系统结构信息,在底层空间中扫描符合的目录项的区域,并统计其数量和计算目录项的节点号。
2、根据磁盘中文件系统的信息,北亚企安数据恢复工程师将这些扫描到的目录项节点号进行整合,并将扫描到的目录项节点号记录到数据库。
3、将lost+found文件夹里面的文件记录号和数据库里面的记录号进行匹配。
4、匹配完成后批量恢复数据,经过用户方工程师验证没有发现问题。本次数据恢复工作完成。