ITPub博客

首页 > IT基础架构 > 服务器/存储 > 【服务器数据恢复】ZFS文件系统下服务器数据恢复案例

【服务器数据恢复】ZFS文件系统下服务器数据恢复案例

原创 服务器/存储 作者:北亚数据恢复 时间:2023-01-30 17:17:20 0 删除 编辑

服务器数据恢复环境:

ORACLE Sun ZFS Storage;

32块磁盘分为4组,每组8块硬盘,热备盘全部启用。

ZFS文件系统,Windows操作系统。


服务器故障&分析:

设备在正常工作时候突然崩溃,经过检查排除了断电、进水、异常操作、供电不稳定等因素。用户重启设备无法进入系统。

ZFS文件系统中,池被称为ZPOOL。ZPOOL的子设备有很多种,其中包括块设备、文件、磁盘等,在本案例中ZPOOL的子

设备是三组RAIDZ。

经过北亚企安工程师的分析发现,三组RAIDZ中的两组分别启用了1个热备盘和3个热备盘。在热备盘启用后,第一组RAIDZ

内又出现一块离线盘,第二组RAIDZ内则又出现两块离线盘。故障场景还原:三组RAIDZ内第一组和二组出现离线盘,热备

盘及时启动替换离线盘;热备盘无冗余状态下第一组RAIDZ又出现一块离线盘,第二组RAIDZ则又出现两块离线盘,ZPOOL

进入了高负荷状态(每次读取数据都需要进行校验才能得到正确数据);第二组RAIDZ内出现第三块离线盘,RAIDZ崩溃、

ZPOOL下线、设备崩溃。


服务器数据恢复过程:

1、重组ZPOOL,追踪数据入口

ZFS文件系统管理的存储池与常规存储不同,是由ZFS管理所有磁盘。常规RAID在存储数据时按照特定的规则组建池,不关

心文件在子设备上的位置。而ZFS文件系统在存储数据时会为每次写入的数据分配适当大小的空间,并通过计算获取到指向

子设备的数据指针。这种特性导致RAIDZ缺盘时无法直接通过校验得到数据,必须将整个ZPOOL作为一个整体进行解析。


2、手工截取事务块数据,北亚企安数据恢复工程师编写程序获取最大事务号入口。


获取文件系统入口:


3、获取到ZFS文件系统入口后,北亚企安数据恢复工程师编写数据指针解析程序解析地址。


解析数据指针:


4、获取到ZFS文件系统入口点在各磁盘的分布情况后,北亚企安数据恢复工程师手工截取并分析文件系统内部结构,入口分

布所在的磁盘组无缺失盘,可直接提取信息。根据ZFS文件系统的存储结构找出映射的LUN名称,进而找到其节点。


5、提取数据。北亚企安数据恢复工程师编写数据提取程序提取数据。



由于磁盘组内缺盘个数较多,每个IO流都需要通过校验得到,提取进度极为缓慢。与用户沟通后得知,ZVOL卷映射到

XenServer作为存储设备,用户所需的文件在一个vhd内。提取ZVOL卷头部信息,按照XenStore卷存储结构进行分析后发现

这个vhd在ZVOL卷的尾部,通过计算得知该vhd的起始位置,从此位置开始提取数据。


6、完成数据提取后,验证Vhd内部的压缩包及图片、视频等文件,发现均可正常打开。让用户亲自对数据进行验证,确定

文件数量与系统自动记录的文件数量一致,全部文件可正常打开,服务器数据恢复完成。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31380569/viewspace-2933322/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
从事服务器数据恢复、磁盘阵列数据恢(DEll、HP、IBM、华为、NetApp等),虚拟化数据恢复(VSAN、VMware、Kvm等),数据库数据恢复(Oracle、Sql Server、MySql、Mongodb等),小型机数据恢复等方面的。24h数据救援13439392933

注册时间:2016-08-02

  • 博文量
    1127
  • 访问量
    876882