数据恢复咨询热线:400-666-3702  

欢迎访问南京兆柏数据恢复公司,专业数据恢复15年

兆柏数据恢复公司

 RAID数据恢复案例

zfs存储池数据恢复,linux服务器数据恢复

浏览量: 次 发布日期:2024-01-14 22:06:29

南京某企业客户,服务器中有32块硬盘,组建了3组RAIDZ,部分磁盘作为热备盘,zfs文件系统。

服务器运行中突然崩溃,工作人员将服务器重启后发现无法进入操作系统。

将故障服务器中所有硬盘编号后取出,经过硬件工程师检测没有发现有硬盘存在硬件故障。将所有磁盘以只读方式进行扇区级镜像,镜像完成后将所有磁盘按照编号还原到故障服务器。基于镜像文件分析底层数据,发现热备盘全部启用。

4a36acaf2edda3ccab8d04b04934e905203f9213.jpeg

  ZFS文件系统中,池被称为ZPOOL。ZPOOL的子设备包括:块设备、文件、磁盘等等,本案例中将3组RAIDZ作为子设备。


  经过分析发现,三组RAIDZ中的两组RAIDZ分别启用热备盘个数为1和3。在启用热备盘后,一组RAIDZ仍出现一块离线盘,另外一组RAIDZ内则出现两块。


  故障现场模拟:三组RAIDZ中的两组RAIDZ出现离线盘,热备盘及时上线进行替换;热备盘无冗余状态下一组RAIDZ又出现一块离线盘,另外一组RAIDZ则又出现两块离线盘,ZPOOL进入高负荷状态(每次读取数据都需要进行校验获取正确数据);当另外一组RAIDZ出现第三块离线盘时,RAIDZ崩溃、ZPOOL下线、服务器崩溃。


  ZFS管理的存储池与常规存储不同,所有磁盘都由ZFS进行管理。常规RAID存储数据是按照特定的规则组建池,不关心文件在子设备上的位置。ZFS在存储数据时会为每次写入的数据分配适当大小的空间,并计算出指向子设备的数据指针。ZFS的这个特性使得RAIDZ缺盘时无法直接通过校验获取数据,必须将整个ZPOOL作为一个整体进行解析。


  服务器数据恢复过程:


  1、手工截取事务块数据,兆柏数据恢复工程师编写程序获取最大事务号入口。


   2、获取到文件系统入口后,数据恢复工程师编写数据指针解析程序进行地址解析。


  解析数据指针:

 3、获取到文件系统入口点在各磁盘上的分布情况后,数据恢复工程师手工截取&分析文件系统内部结构。文件系统入口点所在的磁盘组无缺失盘,可直接提取信息。


  4、根据ZFS文件系统的数据存储结构找到映射的LUN名称,从而找到其节点。


ZFS 文件系统的英文名称为 ZettabyteFileSystem,也叫动态文件系统,是第一个 128 位文件系统。最初是由 Sun 公司为 Solaris10 操作系统开发的文件系统。作为 OpenSolaris 开源计划的一部分,ZFS 于 2005 年 11 月发布,被 Sun 称为是终极文件系统,经历了 10 年的活跃开发,而最新的开发将全面开放,并重新命名为 OpenZFS。ZFS 是一种先进的、高度可扩展的文件系统,最初是由 Sun Microsystems 开发的,现在 OpenZFS 是项目的一部分。有这么多文件系统可用在 Linux 上,那自然要问 ZFS 有什么特别之处。不同于其它文件系统,它不仅是一个文件系统逻辑卷管理器。


相关推荐