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

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

3天内不再提示

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

Frombyte 来源:Frombyte 作者:Frombyte 2023-02-20 11:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

服务器数据恢复环境:
SUN ZFS系列某型号存储阵列;
40块磁盘组建的存储池(其中4块磁盘用作全局热备盘),池内划分出若干空间映射到服务器使用;
服务器使用Windows操作系统

服务器故障:
服务器在工作时由于未知原因崩溃,排除断电、进水或者误操作等外部因素。管理员重启服务器后发现无法进入系统,需要恢复该存储内的所有数据。

服务器数据恢复过程:
1、对故障存储中所有硬盘以只读方式做镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、分析磁盘镜像,发现故障设备是通过ZFS文件系统来管理所有磁盘。磁盘内记录系统元信息的NVLIST较为混乱,只能粗略得知以下信息:故障存储中的磁盘被分为三组,每组12块;每个组使用ZFS文件系统独有的RAIDZ管理磁盘。RAIDZ级别为2,即每个组最多可缺失2块磁盘;故障存储内的4块全局热备全部启用。
Tips:ZFS文件系统中的池被称为ZPOOL。ZPOOL的子设备可以有很多类型:块设备、文件、磁盘等等。本案例中所采用三组RAIDZ作为子设备。
3、经过进一步分析,发现三组RAIDZ内有两组分别启用的热备盘个数为1和3。在热备盘启用后,第一组内又出现一块离线盘,第二组内则又出现两块离线盘。通过上面分析得到的结论可以模拟故障现场:三组RAIDZ中的第一组和第二组分别出现离线盘,热备盘及时进行替换;在热备盘无冗余的状态下第一组RAIDZ又出现一块离线盘,第二组RAIDZ则又出现两块离线盘,ZPOOL进入高负荷状态(每次读取数据都需要经过校验才能得到正确数据)。当第二组RAIDZ出现了第三块离线盘时候,RAIDZ崩溃、ZPOOL下线、服务器崩溃。
4、由于ZFS文件系统管理的存储池与常规存储不同。常规RAID在存储数据时只会按照特定的规则组建池,不关心文件在子设备上的位置。而ZFS文件系统在存储数据时会为每次写入的数据分配适当大小的空间,并计算出指向子设备的数据指针。ZFS文件系统的这种特性决定了RAIDZ缺盘时无法直接通过校验得到数据,必须将整个ZPOOL作为一个整体进行解析。于是,北亚企安数据恢复工程师手工截取事务块数据,并编写程序获取最大事务号入口。
获取文件系统入口:

poYBAGPy6-KAFxqYAADd361-wn8329.png

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

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

poYBAGPy6_2AALL5AAHaeE9FbWY604.png

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

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

pYYBAGPy7AWAJIXgAAIoBbKg260170.png

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

6、由于磁盘组内缺盘个数较多,每个IO流都需要通过校验得到,所以提取进度极为缓慢。与用户沟通后得知,此ZVOL卷映射到XenServer作为存储设备,用户所需的文件在其中一个大小约为2T的vhd内。提取ZVOL卷头部信息,按照XenStore卷存储结构进行分析,发现这个2T的vhd在整个卷的尾部,计算其起始位置后从此位置开始提取数据。
7、Vhd提取完毕后,验证其内部的压缩包、图片和视频等文件,均可正常打开。联系用户亲自验证数据,经过反复验证后确定文件数量与系统自动记录的文件数量相差无几,缺失的那部分极少数量的文件可能因为是最新生成还未刷新到磁盘。验证文件可用性,文件全部可正常打开,本次数据恢复工作完成。

审核编辑黄宇

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

    关注

    13

    文章

    4692

    浏览量

    89545
  • 数据恢复
    +关注

    关注

    10

    文章

    688

    浏览量

    18790
  • VHD
    VHD
    +关注

    关注

    0

    文章

    7

    浏览量

    13373
  • zfs
    zfs
    +关注

    关注

    0

    文章

    7

    浏览量

    2740
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    服务器数据恢复—意外断电!Linux服务器数据恢复大揭秘

    某品牌服务器+存储,安装的linux操作系统。 机房意外断电导致服务器操作系统无法正常启动,服务器管理员故障
    的头像 发表于 11-18 11:20 113次阅读

    服务器数据恢复—RAIDZ多块硬盘离线导致服务器崩溃的数据恢复案例

    服务器数据恢复环境&故障: 一台服务器有32块硬盘,采用Windows操作系统服务器在正
    的头像 发表于 09-18 12:29 503次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—RAIDZ多块硬盘离线导致<b class='flag-5'>服务器</b>崩溃的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复服务器断电导致raid模块损坏的数据恢复案例

    某品牌服务器中有12块硬盘,组建了一组raid5磁盘阵列,服务器内存储的是普通文件。 机房供电不稳定导致服务器断电,管理员重启服务器后发现
    的头像 发表于 09-04 12:57 438次阅读

    服务器数据恢复服务器上的卷被误删数据如何恢复

    工作人员不慎将一台服务器上的卷误删除,服务器上有一组raid5阵列。需要恢复误删除的数据
    的头像 发表于 08-14 11:33 734次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>服务器</b>上的卷被误删<b class='flag-5'>数据</b>如何<b class='flag-5'>恢复</b>?

    服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例

    服务器数据恢复环境&故障: 一台服务器上通过磁盘柜+RAID卡组建的riad5磁盘阵列,服务器上层安装Linux操作
    的头像 发表于 06-12 11:20 616次阅读
    <b class='flag-5'>服务器</b><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>案例

    服务器数据恢复—ocfs2文件系统被格式化为Ext4文件系统数据恢复案例

    服务器存储数据恢复环境&故障: 人为误操作将Ext4文件系统误装入一台服务器存储上的Ocfs2文件系统
    的头像 发表于 06-10 12:03 559次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—ocfs2<b class='flag-5'>文件系统</b>被格式化为Ext4<b class='flag-5'>文件系统</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—Linux系统服务器崩溃的数据恢复案例

    服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。
    的头像 发表于 05-20 15:46 542次阅读

    服务器数据恢复服务器重装系统导致分区消失的数据恢复案例

    服务器上有一组由raid卡组建的raid5磁盘阵列。上层安装linux才做系统,采用XFS文件系统,划分了3个分区。 管理员将服务器的操作系统
    的头像 发表于 05-14 10:13 418次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>服务器重装系统</b>导致分区消失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    虚拟化数据恢复—VMware虚拟化环境下重装系统导致服务器数据丢失的数据恢复

    VMware虚拟化平台 vmfs文件系统 工作人员误操作重装操作系统服务器崩溃。 重装系统会导致文件系统
    的头像 发表于 03-13 10:33 621次阅读
    虚拟化<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—VMware虚拟化环境下重装<b class='flag-5'>系统</b>导致<b class='flag-5'>服务器</b><b class='flag-5'>数据</b>丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>

    服务器数据恢复—如何预防服务器故障与恢复服务器数据

    服务器常见故障: 硬件故障:磁盘损坏、电池故障等。 软件问题:操作系统崩溃、未知的程序运行错误等。 病毒破坏:勒索病毒加密、删除服务器数据等。 不可控力量;
    的头像 发表于 03-11 12:36 812次阅读

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

    服务器数据恢复环境&故障: 一台zfs文件系统服务器,管理员误操作删除了
    的头像 发表于 01-16 17:27 629次阅读

    服务器数据恢复服务器硬盘灯闪黄灯的数据恢复案例

    ,而其他颜色的灯没有亮的话,通常表示这块硬盘出现故障,这时候更换新硬盘同步数据即可。 如果没有及时发现硬盘损坏或者更换硬盘失败导致服务器崩溃,应该如何恢复数据呢?下面通过一个真实案例讲解一下
    的头像 发表于 01-03 13:23 1009次阅读

    服务器数据恢复—如何让ZFS文件系统数据“起死回生”?

    一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测,基本上确定服务器硬件不存在物理故障。管理员重启服务器后问题依旧。需要恢复服务器
    的头像 发表于 01-02 14:17 799次阅读
    <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>“起死回生”?

    服务器数据恢复—Lustre分布式文件系统数据恢复案例

    5台节点服务器,每台节点服务器上有一组RAID5阵列。每组RAID5阵列上有6块硬盘(其中1块硬盘设置为热备盘,其他5块硬盘为数据盘)。上层系统环境为Lustre分布式
    的头像 发表于 12-25 11:39 795次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Lustre分布式<b class='flag-5'>文件系统</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

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

    服务器存储数据恢复环境: ZFS Storage 7320存储阵列中有32块硬盘。32块硬盘分为4组,每组8块硬盘,共组建了3组RAIDZ,每组raid都配置了热备盘。
    的头像 发表于 12-19 13:31 1020次阅读
    <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>下RAIDZ<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例