乐趣区

关于数据恢复:服务器数据恢复ZFS文件系统服务器RAIDZ数据恢复案例

服务器数据恢复环境:
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 外部的压缩包及图片、视频等文件,发现均可失常关上。让用户亲自对数据进行验证,确定文件数量与零碎自动记录的文件数量统一,全副文件可失常关上,服务器数据恢复实现。

退出移动版