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

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

3天内不再提示

NetApp数据恢复—NetApp误删除多个lun的数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2024-12-24 09:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

NetApp数据恢复环境:
NetApp某型号存储阵列,包含2个机头+1个扩展柜,72块SAS接口的520字节硬盘组建了3组raid。

wKgZO2dqE_6AVzWUAAFHSM2ohHg921.png

北亚企安数据恢复—NetApp数据恢复

NetApp故障:
工作人员误操作删除11个lun。

NetApp数据恢复过程:
1、将NetApp存储阵列环境中所有硬盘做好标记后取出。硬件工程师对所有硬盘进行检测后没有发现有硬盘存在硬件故障,都可以正常读取。将所有硬盘以只读方式进行扇区级全盘镜像,镜像完成后将所有磁盘按照原样还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、北亚企安数据恢复工程师团队对该NetApp存储进行分析后,制定了NetApp存储数据恢复方案:
a、分析盘序和LVM的组成方式。
b、扫描硬盘内的所有节点,主要是用户节点。
c、在节点扫描结果中找到文件大小符合需求的节点,找到索引根。
d、根据索引根内的第一级数据指针提取本文件的所有直接数据指针(参考节点中0x03位置的MAP深度:0x00时直接从节点内提取数据,0x01时需要提取一次MAP,0x02时需要提取两次MAP......)。完成指针提取后开始提取文件数据。
3、在盘头位置找到超级块。从超级块中获取到磁盘组名字、磁盘组的逻辑起始块号、总块数、磁盘组中raid的编号。
NetApp超级块:

wKgZO2dqFBKAFA1qAAIxkXIhsZ4083.png

北亚企安数据恢复—NetApp数据恢复



4、每个数据块占8个扇区,数据块后附加64字节数据块描述信息。根据这些信息判断出校验盘。提取数据时需要剔除校验盘。
0x10处为FFFF表示校验块,校验块描述信息样例:

wKgZPGdqFBqAM8m8AAFxgzGaccQ180.png

北亚企安数据恢复—NetApp数据恢复



5、根据每块磁盘8号扇区的磁盘信息以及磁盘末尾的RAID盘序表确定盘序。确定各个磁盘所属aggr组,然后再判断组内盘序。数据指针跳转时不考虑校验盘,所以只需要获取到数据盘的盘序即可。
NetApp盘序表:

wKgZPGdqFCCASOKbAAVn3o0hJP4117.png

北亚企安数据恢复—NetApp数据恢复



6、NetApp的节点分布在数量众多的数据块内,在数据块内又被统一组织为节点组。每个节点组的前64字节记录系统数据,使用192字节作为一项来记录各个文件节点。文件节点根据用户级别分为2类:“MBFP”系统文件节点、“MBFI”用户文件节点。通常恢复数据只需要MBFI节点组即可。
NetApp节点样例图:

wKgZPGdqFC6AJrWLAAN54UrnNaE363.png

北亚企安数据恢复—NetApp数据恢复



7、获取目录项,根据其节点编号找到对应节点。

wKgZO2dqFDaAV6pJAAHibSA_VoM162.png



8、扫描节点信息。

wKgZO2dqFDyATlcAAAFdqUeLXu0810.png

北亚企安数据恢复—NetApp数据恢复



节点扫描类:

wKgZPGdqFEWAbh_2AAPiRNpOAGE922.png

北亚企安数据恢复—NetApp数据恢复



节点扫描程序完整流程:

wKgZO2dqFEyAXWXfAAI3_mIA5O8912.png

北亚企安数据恢复—NetApp数据恢复



在循环扫描完毕之后会将所有扫描到的MBFP、MBFI和DOC数据块分别写入到三个文件内,用于后续处理。
9、将ScanNode扫描到的MBFI和MBFP、Dir存入数据库以备后续使用。
MBFI导入数据库整体流程:

wKgZPGdqFFSAYDwuAAQhA19dTFM710.png

北亚企安数据恢复—NetApp数据恢复



函数执行完毕后可以查看数据库得到如下信息:
节点导入信息:

wKgZO2dqFF2AZAjIAAII6qSvhfg259.png

北亚企安数据恢复—NetApp数据恢复



NetApp在更改inode节点时不会直接覆盖而是重新分配inode进行写入。单个文件的节点node_uid唯一不变,mbfi_usn会随着节点的变化而增大(正常情况下提取某个文件时使用usn最大的节点)。一般情况下存储划分出的单个节点会作为LUN映射到服务器使用。根据file_size可以确定这个文件的大小,按照文件大小分组后再选取usn最大值的节点,跳转到MBFI文件的offset值偏移位置,取出节点。
节点样例:

wKgZO2dqFGSAbdCqAAN3sZvOPmI274.png

北亚企安数据恢复—NetApp数据恢复



10、获取到要提取的文件的Node之后,开始提取块设备文件。
程序需要读取配置文件:

wKgZPGdqFGyAPFmyAALDqhPpSdk611.png

北亚企安数据恢复—NetApp数据恢复



初始化完毕后,开始提取文件的各级MAP。本案例中文件大小均大于1T,MAP层级为4,所以需要提取4次。第一级MAP默认只占用1个块,所以在程序内直接提取;后三级MAP在GetAllMap函数内进行提取。通过块号计算数据块位置时,由于NetApp使用JBOD组织LVM,直接用块号除以每块磁盘上的块数可得到当前块所在的磁盘序号(计算机整数除法,丢弃小数部分);再使用块号取余块数,得到数据块在此磁盘上的物理块号,物理块号乘以块大小,得到数据块偏移位置。
11、本案例中的块设备5T大小的lun使用的是aix小机的jfs2文件系统。可以通过解析jfs2文件系统来提取里面的数据库备份文件。
7扇区记录了lvm描述信息,获取pv大小和pv序号。类似找到vg描述区,获取lv数和pv数;找到pv描述区,解析pp序号和pp数。

wKgZPGdqFHmAMbNxAAHqO8f4zto355.png

北亚企安数据恢复—NetApp数据恢复



LV类型及LV挂载信息区域:

wKgZPGdqFH-AJbSHAANYcTPXvLc471.png

北亚企安数据恢复—NetApp数据恢复



12、解析8个1T大小的lun组成的oralce ASM文件系统,提取其中的数据库文件。
添加8个lT大小的lun:

wKgZPGdqFIeAUdzKAALuni-ypTg055.png

北亚企安数据恢复—NetApp数据恢复



解析asm文件系统,提取出数据库文件。

wKgZO2dqFI2AMLJ7AAQe6E2gh04953.png

北亚企安数据恢复—NetApp数据恢复



13、搭建小机环境,安装oracle数据库,检测数据库文件和备份文件。
14、检测数据库文件。使用提取出的数据库文件启动数据库,启动失败。经检测该数据库文件存在坏块,无法使用。
15、因为用户方设定的数据库备份机制,所以每个数据库存在多个备份。找到最新的数据库备份文件来还原数据库。经过尝试筛,选出最新的可用的数据库备份文件来还原数据库环境,然后由用户方验证。

数据验证及数据移交:
经过用户方多次反复的验证,发现数据库中少量数据缺失,但是在用户方接受范围之内。用户方认可数据恢复结果。

审核编辑 黄宇

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

    关注

    14

    文章

    10358

    浏览量

    91754
  • 数据恢复
    +关注

    关注

    10

    文章

    726

    浏览量

    19044
  • NetApp
    +关注

    关注

    0

    文章

    81

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NetApp数据恢复NetApp FAS-8200存储卷丢失故障数据恢复实战

    某企业部署NetApp FAS-8200存储设备,共计配置96块磁盘,构建两组互为镜像的存储池。存储池内划分逻辑卷并映射至ESXi虚拟化平台作为数据存储,卷内承载虚拟机数量超300台,存储数据为企业
    的头像 发表于 04-02 10:43 114次阅读
    <b class='flag-5'>NetApp</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>NetApp</b> FAS-8200存储卷丢失故障<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>实战

    虚拟机数据恢复—虚拟机vmdk文件被删除数据恢复案例

    xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员尝试恢复时,删除了原虚拟机内的xxx-flat.vmdk,新建了一个虚拟机,分配了200GB精简模式和160GB快照数据盘,然而原
    的头像 发表于 02-10 17:05 505次阅读
    虚拟机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—虚拟机vmdk文件被<b class='flag-5'>删除</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    NetApp数据平台助力Super Bowl LX实现高效数据运营

    NetApp®(NASDAQ:NTAP)智能数据基础设施公司今日宣布,其正为Super Bowl LX提供数据运营支持。作为旧金山49人队及美国国家橄榄球联盟(NFL)的官方智能数据
    的头像 发表于 01-29 17:26 1605次阅读

    【服务器数据恢复】EVA存储硬盘离线,LUN丢后数据如何“重生”?

    将故障EVA存储设备上的所有硬盘编号后取出。硬件工程师对所有硬盘进行硬件故障检测。检测后发现掉线硬盘不存在物理故障和坏道。将所有硬盘以只读方式做全盘镜像备份,镜像完成后将所有磁盘按照编号还原到原EVA存储设备中,后续的数据分析和数据恢复
    的头像 发表于 01-22 17:39 1255次阅读

    zfs数据恢复—ZFS存储迁移数据读不出数据怎么恢复数据

    管理员对一台存储设备内的文件进行迁移操作时,数据突然无法读取,管理界面出现报错。管理员查看数据时发现其中一个lun数据丢失。
    的头像 发表于 12-09 14:10 339次阅读
    zfs<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—ZFS存储迁移<b class='flag-5'>数据</b>读不出<b class='flag-5'>数据</b>怎么<b class='flag-5'>恢复数据</b>?

    Netapp数据恢复误删NetApp数据:从崩溃到恢复的实战复盘

    NetApp存储数据恢复环境: NetApp某型号存储存储上有96块SAS接口硬盘,硬盘扇区大小是520字节。所有lun映射到小型机使用,
    的头像 发表于 11-25 14:33 333次阅读
    <b class='flag-5'>Netapp</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>误删</b><b class='flag-5'>NetApp</b>卷<b class='flag-5'>数据</b>:从崩溃到<b class='flag-5'>恢复</b>的实战复盘

    Netapp数据恢复Netapp存储数据恢复揭秘

    某公司一台服务器中一共有72块SAS硬盘。 工作人员误操作删除了十几个lun。需要恢复服务器中的数据
    的头像 发表于 10-28 15:26 509次阅读
    <b class='flag-5'>Netapp</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>Netapp</b>存储<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>揭秘

    服务器数据恢复—EqualLogic存储上raid5磁盘阵列数据恢复案例

    服务器存储数据恢复环境&故障: 某品牌EqualLogic PS6100存储阵列上有一组由16块硬盘组建的raid5磁盘阵列。磁盘阵列上层划分多个大小不同的卷,存放虚拟机文件。 硬盘出现故障导致存储阵列不可用,需要
    的头像 发表于 10-21 15:04 448次阅读

    NetApp率先将数据泄露检测功能嵌入企业数据存储

    智能数据基础设施公司NetApp® (NASDAQ: NTAP)今日宣布推出业界领先的全新网络韧性功能,进一步强化其“全球最安全存储”的产品优势。经升级并更名的NetApp Ransomware
    的头像 发表于 10-16 13:31 536次阅读

    Mysql数据恢复—Windows Server下MySQL(InnoDB)全表误删数据恢复案例

    本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据
    的头像 发表于 09-23 15:56 869次阅读
    Mysql<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Windows Server下MySQL(InnoDB)全表<b class='flag-5'>误删</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—Raid6阵列数据恢复案例

    服务器存储数据恢复环境: 一台infortrend某型号存储,存储设备上有12块硬盘,组建一组raid6磁盘阵列。阵列上层有一个lun,映射到WINDOWS系统上使用。WINDOWS系统划分了一个
    的头像 发表于 09-09 11:07 695次阅读

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

    工作人员不慎将一台服务器上的卷误删除,服务器上有一组raid5阵列。需要恢复误删除数据
    的头像 发表于 08-14 11:33 1111次阅读
    服务器<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>?

    数据数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle
    的头像 发表于 07-24 11:12 843次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—服务器异常断电导致Oracle<b class='flag-5'>数据</b>库故障的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    一台服务器上一个分区存放Oracle数据数据。由于管理员误操作不小心删除了该分区,数据库报错,无法使用。 北亚企安数据
    的头像 发表于 07-22 14:06 526次阅读
    Oracle<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—格式化分区导致Oracle<b class='flag-5'>数据</b>库报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    oracle数据恢复—oracle数据库误执行错误truncate命令如何恢复数据

    oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据
    的头像 发表于 06-05 16:01 1787次阅读
    oracle<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—oracle<b class='flag-5'>数据</b>库误执行错误truncate命令如何<b class='flag-5'>恢复数据</b>?