0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

服务器数据恢复—ZFS文件系统下RAIDZ数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2024-12-19 13:31 次阅读

服务器存储数据恢复环境:
ZFS Storage 7320存储阵列中有32块硬盘。32块硬盘分为4组,每组8块硬盘,共组建了3组RAIDZ,每组raid都配置了热备盘。

服务器存储故障:
服务器存储运行过程中突然崩溃,排除人为误操作、断电、进水和其他机房不稳定因素。管理员重启服务器存储,系统无法进入,需要恢复服务器存储中的数据。

服务器存储数据恢复过程:
1、将故障服务器存储中所有硬盘标记后取出,以只读方式进行扇区级完整镜像,镜像完成后将所有磁盘按照原样还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有硬盘中的底层数据,发现服务器存储中的热备盘全部启用,上层采用ZFS文件系统。
Tips:
在ZFS文件系统中,存储池被称为ZPOOL。ZPOOL可以有各种类别的子设备:块设备、文件、磁盘等等。本案例中ZPOOL的子设备是三组RAIDZ作为子设备。
经过对底层数据的分析发现,三组RAIDZ中的两组RAIDZ启用的热备盘的个数分别为1和3。启用热备盘后,第一组RAIDZ中又有一块盘离线,第二组RAIDZ中则又有两块硬盘离线。
根据上述分析结果模拟故障现场:三组RAIDZ中的两组RAIDZ出现硬盘离线的情况,热备盘自动上线替换离线盘。在热备盘无冗余的情况下第一组RAIDZ中又有一块盘离线,第二组RAIDZ中则有两块盘离线,ZPOOL进入高负荷状态(每次读取数据都需要校验);当第二组RAIDZ中出现第三块离线盘的时候,该组RAIDZ崩溃,ZPOOL下线,服务器存储崩溃。
3、ZFS管理的存储池与常规存储池不同。在ZFS文件系统下,ZFS管理所有磁盘。常规RAID在存储数据时会按照特定的规则组建池,并不关心文件在子设备上的位置。在ZFS下,存储数据时会为每次写入的数据分配适当大小的空间,并计算出指向子设备的数据指针。所以RAIDZ缺盘时无法直接通过校验得到数据,必须将整个ZPOOL作为一个整体进行解析。
4、北亚企安数据恢复工程师手工截取事务块数据,并编写程序获取最大事务号入口。
获取文件系统入口:

wKgZPGdjr12AIq8BAAEK1kJhCPk598.png

北亚企安数据恢复—ZFS文件系统数据恢复



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

wKgZO2djr2mAeiIxAAI8bn8cwwM905.png

北亚企安数据恢复—ZFS文件系统数据恢复



6、获取到文件系统入口点在各磁盘上的分布情况后,北亚企安数据恢复工程师开始手工截取并分析文件系统内部结构。入口点所在的磁盘组无缺失盘,可直接提取信息。根据ZFS文件系统的数据存储结构顺利找到映射的LUN的名称,进而找到其节点。
7、经过分析发现此存储中的ZFS版本与开源版本有较大差别,无法使用之前开发的解析程序进行解析,所以北亚企安数据恢复工程师重新编写程序进行解析。

wKgZPGdjr2-AD_U1AAK4o0VkozI055.png

北亚企安数据恢复—ZFS文件系统数据恢复



8、由于缺盘个数较多,每个IO流都需要通过校验得到,进度极为缓慢。与用户方沟通后得知此ZVOL卷映射到XenServer作为存储设备,所需要的文件在一个vhd内。提取ZVOL卷头部信息,按照XenStore卷存储结构进行分析,发现该vhd在整个卷的尾部。计算出其起始位置后从此位置开始提取数据。
9、Vhd提取完毕后,验证其内部的压缩包、图片、视频等文件,均可正常打开。
10、交由用户方验证恢复出来的数据。经过验证,发现恢复出来的文件数量与系统自动记录的文件数量差不多,稍微有点出入。丢失的极少量文件应该是因为这些文件是新生成的还未存储到磁盘。随机验证恢复出来的文件,全部可正常打开。用户方认可数据恢复结果。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9119

    浏览量

    85311
  • RAID
    +关注

    关注

    0

    文章

    277

    浏览量

    35082
  • 数据恢复
    +关注

    关注

    10

    文章

    567

    浏览量

    17430
  • zfs
    zfs
    +关注

    关注

    0

    文章

    6

    浏览量

    2623
收藏 人收藏

    评论

    相关推荐

    服务器数据恢复—raid5阵列+reiserfs文件系统数据恢复案例

    服务器数据恢复环境: 一台服务器中有一组由4块SAS硬盘组建的RAID5阵列,上层安装linux操作系统统。分区结构:boot分区+LVM
    的头像 发表于 11-07 13:15 155次阅读

    服务器数据恢复—EXT3文件系统误删除数据恢复案例

    服务器数据恢复环境: 邮件服务器中有一组由8块盘组成的RAID5阵列, 上层是Linux操作系统+EXT3
    的头像 发表于 10-23 15:11 157次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—EXT3<b class='flag-5'>文件系统</b><b class='flag-5'>下</b>误删除<b class='flag-5'>数据</b>的<b class='flag-5'>恢复</b>案例

    服务器数据恢复—V7000存储NTFS文件系统数据恢复案例

    服务器存储数据恢复环境: 一台挂载在Windows server服务器上的v7000存储。存储空间划分了一个分区,采用NTFS文件系统,存
    的头像 发表于 10-14 14:03 207次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—V7000存储NTFS<b class='flag-5'>文件系统</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—xfs文件系统服务器数据恢复案例

    某公司一台服务器,连接了一台存储。该服务器安装linux操作系统文件系统为xfs。 在运行过程中该服务器出现故障,管理员使用xfs_re
    的头像 发表于 08-19 10:49 284次阅读

    服务器数据恢复—X3650服务器raid5磁盘阵列数据恢复案例

    一台某品牌X3650M3服务器服务器中有一组raid5磁盘阵列,上层采用zfs文件系统服务器未知原因崩溃,工作人员排查故障后发现
    的头像 发表于 06-04 11:08 512次阅读

    服务器数据恢复—KVM虚拟机raw格式磁盘文件数据恢复案例

    服务器数据恢复环境: 一台服务器安装Linux操作系统+EXT4文件系统
    的头像 发表于 05-17 13:33 437次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—KVM虚拟机raw格式磁盘<b class='flag-5'>文件数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—xfs文件系统分区丢失的数据恢复案例

    服务器数据恢复环境: 一台服务器+MD1200磁盘柜通过RAID卡创建了一组RAID5阵列并分配一个LUN。在Linux系统层面将该LUN
    的头像 发表于 05-16 11:07 475次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—xfs<b class='flag-5'>文件系统</b>分区丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—EMC存储xfs文件系统数据恢复案例

    服务器数据恢复环境: EMC某型号存储,该存储内有一组由12块磁盘组建的raid5阵列,划分了两个lun。 服务器故障: 管理员为服务器
    的头像 发表于 04-16 15:34 420次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—EMC存储<b class='flag-5'>下</b>xfs<b class='flag-5'>文件系统</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复】硬盘坏道掉线导致服务器崩溃的数据恢复案例

    服务器数据恢复环境: 一台IBM某型号服务器上有16块FC硬盘组建RAID阵列。上层linux操作系统,ext3
    的头像 发表于 02-26 11:36 832次阅读

    服务器数据恢复—非正常关机导致服务器文件丢失的数据恢复案例

    服务器数据恢复环境: 某品牌PowerEdge R730服务器+PowerVault MD3200存储,划分若干lun,操作系统版本是ce
    的头像 发表于 01-19 13:42 508次阅读

    【北亚企安数据恢复服务器RAIDZ数据恢复案例

    服务器数据恢复环境: ORACLE SUN ZFS某型号存储,共40块磁盘组建存储池,其中的36块磁盘分为三组,每组12块,单个组使用ZFS
    的头像 发表于 01-17 11:49 549次阅读
    【北亚企安<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>】<b class='flag-5'>服务器</b><b class='flag-5'>RAIDZ</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复】UFS2文件系统数据恢复案例

    服务器数据恢复环境: 一台服务器,虚拟化系统为esxi,上层使用iSCSI的方式实现FC SAN功能,iSCSI通过FreeNAS构建。
    的头像 发表于 01-09 14:53 881次阅读

    【北亚服务器数据恢复ZFS文件系统服务器RAIDZ数据恢复案例

    服务器数据恢复环境: 服务器中有32块硬盘,组建了3组RAIDZ,部分磁盘作为热备盘。zfs
    的头像 发表于 12-28 15:17 554次阅读
    【北亚<b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>】<b class='flag-5'>ZFS</b><b class='flag-5'>文件系统</b><b class='flag-5'>服务器</b><b class='flag-5'>RAIDZ</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例