服务器数据恢复环境&故障:
一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测,基本上确定服务器硬件不存在物理故障。管理员重启服务器后问题依旧。需要恢复该服务器中的数据。
服务器数据恢复环境:
1、将服务器中硬盘做好标记后取出,硬件工程师检测后没有发现有硬盘存在硬件故障,都可以正常读取。使用专业工具对所有硬盘进行扇区级全盘镜像。镜像完成后按照原样将所有硬盘还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有磁盘底层数据。通过分析获取到和故障服务器有关的信息:服务器通过zfs文件系统管理所有磁盘。服务器中的32块硬盘共创建了4组raidz阵列。两组raidz阵列硬盘离线后都启用了热备盘,热备盘上线后这两组raidz阵列中又有硬盘离线。
3、ZFS管理的存储池与常规存储池有所不同。常规RAID阵列存储数据,按照特定的规则组建池,不关心文件在子设备上的位置。ZFS存储数据会为每次写入的数据分配适当大小的空间,并计算出指向子设备的数据指针。ZFS的这种特性导致RAIDZ阵列在缺盘时无法直接通过校验得到数据,而是需要将整个ZPOOL作为整体进行解析。
4、手工截取事务块数据,数据恢复工程师编写程序获取最大事务号入口。
获取文件系统入口:
5、获取到文件系统入口后,北亚企安数据恢复工程师编写数据指针解析程序解析地址。
解析数据指针: