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

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

3天内不再提示

Netapp数据恢复—Netapp存储误删除lun如何恢复数据?

Frombyte 来源:Frombyte 作者:Frombyte 2025-01-06 15:05 次阅读

Netapp数据恢复数据恢复环境&故障:
一台Netapp存储中有72块SAS硬盘,管理员误操作删除了12个lun。

Netapp数据恢复过程:
1、将故障Netapp存储中所有磁盘编号后取出。硬件工程师检测后没有发现有硬盘存在硬件故障,都可以正常读取。将所有硬盘以只读方式进行扇区级全盘镜像。镜像完成后将所有磁盘按照标记原样还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件对分析所有磁盘底层数据,找到了盘头位置的超级块,分析超级块信息获取到磁盘组的起始块信息、磁盘组名称、逻辑组起始块号、raid编号等基本信息。
分析超级块:

wKgaomUo-bKAW0lbAAGM4LTW7To490.png

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



分析后得知:每个数据块占8个扇区,数据块后附加64字节数据块描述信息。根据数据块描述信息找到校验盘。
校验块描述信息样例:

wKgZomUo-8aAGm7UAAEHPMpjN4Q599.png

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


3、依据每块磁盘8号扇区的磁盘信息以及磁盘末尾的RAID盘序表确定盘序。
分析盘序表:

wKgZomUo-8yAdjHCAAPYVbskxDQ991.png

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


Tips:Netapp的节点分布在数量众多的数据块内,在数据块内被统一组织为节点组。每个节点组的前64字节记录系统数据,后面的192字节作为一项来记录各个文件节点。
点样例图:

wKgaomUo-9OABA-LAAL9VfbltAY886.png

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



4、根据更新序列值获取到最新节点。解析节点中节点类型、逻辑块号、文件数量、文件大小、所占块数量和数据指针。获取节点在节点文件中的逻辑块号,从0开始计数。
5、获取目录项,并根据目录项节点编号找到对应节点。
节点截图:

wKgaomUo-9qAM2eXAAG38XmH3cM110.png

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


6、北亚企安数据恢复工程师编写工具扫描节点信息。
扫描服务器节点信息:

wKgZomUo--CACrCcAAC4SRIqvHE117.png

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


节点扫描类:

wKgZomUo--aALyH4AAI8D28dE-E157.png

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


节点扫描流程:

wKgZomUo--2AKOVAAAEbzDDac4g629.png

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


循环扫描完毕之后将所有扫描到的MBFP(元文件的节点标志)、MBFI(用户文件的节点标志)和DOC数据块分别写入到三个文件内,用于后续处理。
MBFI导入数据库流程:

wKgaomUo-_aABJGAAALrYf9_ZeY415.png

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


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

wKgZomUo-_2AWRRZAAI-0GlMeqY537.png

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


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

wKgaomUo_AOAPHs9AAJa5P2cYoI840.png

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


7、获取到要提取的文件的Node之后,开始提取块设备文件。
提取块设备文件:

wKgZomUo_AyAMNnCAAICLZv8aF4564.png

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


初始化完毕后,开始提取文件的各级MAP。本案例中提取的文件大小均大于1T,MAP层级为4,所以需要提取4次。第一级MAP默认只占用1个块,可以在程序内直接提取;后三级MAP在GetAllMap函数内提取。
8、由于NetApp使用JBOD组织LVM,用块号除以每块磁盘上的块数就可得到当前块所在的磁盘序号;块号取余块数得到数据块在此磁盘上的物理块号;物理块号乘以块大小得到数据块偏移位置。
9、由于本案例中块设备lun采用的是jfs2文件系统。因此需要通过解析jfs2文件系统来提取其中的数据库备份文件。
解析文件系统块信息:

wKgZomUo_BOAbP1bAAFubJgxfMM569.png

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



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

wKgaomUo_BqAYINeAAK-oedPzpE285.png

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



10、解析由数个lun组成的oralce ASM文件系统,提取其中的数据库文件。
添加lun:

wKgZomUo_CGAP8-cAAQkW2LXskE074.png

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



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

wKgaomUo_CmAeQweAAbcezr2UD0510.png

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


Netapp数据验证及数据移交:
北亚企安数据恢复工程师对恢复出来的数据进行检测后没有发现异常。让用户方验证恢复出来的数据,经过用户方验证,确认恢复出来的数据完整有效,认可数据恢复结果。

审核编辑 黄宇

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

    关注

    10

    文章

    579

    浏览量

    17516
  • NetApp
    +关注

    关注

    0

    文章

    74

    浏览量

    14744
收藏 人收藏

    评论

    相关推荐

    使用lsof实现对linux文件的误删除恢复练习

    本文记录使用lsof实现对linux文件的误删除恢复练习。题目如下: 1.确保当前nginx进程运行中 2.删除日志文件,rm -f /var/log/nginx/access.log 3.以
    的头像 发表于 11-24 11:14 207次阅读
    使用lsof实现对linux文件的<b class='flag-5'>误删除</b><b class='flag-5'>恢复</b>练习

    服务器数据恢复—EVA存储误删除VDISK的数据恢复案例

    服务器存储数据恢复环境: 某单位有一台EVA某型号存储主机+2个扩展柜,共12个FATA磁盘+10个FC磁盘,LUN数量不确定,操作系统为
    的头像 发表于 11-05 14:39 197次阅读
    服务器<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—EVA<b class='flag-5'>存储</b><b class='flag-5'>误删除</b>VDISK的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

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

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

    NetApp数据恢复NetApp存储WAFL文件系统下误删除数据恢复案例

    NetApp某型号存储,WAFL文件系统。 工作人员误操作将该NetApp存储中的重要数据删除
    的头像 发表于 10-11 14:17 215次阅读

    NetApp数据恢复NetApp存储误删除数据恢复案例

    某公司一台NetApp存储,该存储中有24块磁盘。 工作人员误删除NetApp存储中一个文件
    的头像 发表于 08-12 13:35 285次阅读
    <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>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—Oracle删除数据不用怕!这些数据恢复方法了解一下

    相信有很多oracle数据库用户都遇到过在操作Oracle数据库时误删除某些重要数据的情况,这个时候如果数据库没有备份且
    的头像 发表于 07-19 16:40 544次阅读

    服务器数据恢复误删除KVM虚拟机的数据恢复案例

    1台服务器,Linux操作系统+EXT4文件系统,部署了数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘文件。 工作人员操作失误删除了3台服务器上的KVM虚拟机,需要恢复raw格式的磁盘文件。
    的头像 发表于 06-17 15:10 374次阅读
    服务器<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>误删除</b>KVM虚拟机的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复存储中卷被删除后重建如何恢复删除卷的数据

    服务器存储数据恢复环境: 某品牌FlexStorage P5730服务器存储存储中有一组由24块硬盘组建的RAID5阵列,包括1块热备硬
    的头像 发表于 06-05 11:03 678次阅读

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

    : 工作人员操作失误删除了服务器上的3台KVM虚拟机,虚拟机中运行数据库,需恢复误删除虚拟机中raw格式的磁盘文件。
    的头像 发表于 05-17 13:33 461次阅读
    服务器<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—KVM虚拟机raw格式磁盘文件<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    NetApp数据恢复—WAFL文件系统下误删除数据数据恢复案例

    某公司NetApp存储设备,人为误操作导致NetApp存储内部分重要数据删除,该
    的头像 发表于 05-13 10:50 384次阅读

    Netapp数据恢复Netapp存储中卷被误删除数据恢复案例

    NetApp存储数据恢复环境: NetApp FAS某型号存储,该
    的头像 发表于 04-18 15:52 435次阅读
    <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>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    NetApp数据恢复NetApp存储中的卷丢失的数据恢复案例

    NetApp存储故障: 操作过程中由于未知原因导致卷丢失,卷内虚拟机无法访问。管理员对该NetApp存储进行检查并试图恢复数据
    的头像 发表于 03-07 15:42 426次阅读
    <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><b class='flag-5'>恢复</b>案例

    小米电脑数据恢复的常用方法、工具和步骤

    、工具和步骤。 一、 数据恢复方法: 垃圾箱恢复:当我们删除文件时,它们通常被送往电脑的垃圾箱,我们可以在垃圾箱中找回已删除的文件。因此,在
    的头像 发表于 01-25 11:10 2329次阅读

    NetApp数据恢复NetApp存储误操作删除lun数据恢复案例

    NetApp数据恢复环境: NetApp某型号存储存储中有数十块SAS硬盘,该型号
    的头像 发表于 01-11 11:40 485次阅读
    【<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><b class='flag-5'>lun</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例