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

简介: NetApp数据恢复环境:NetApp某型号存储阵列,包含2个机头+1个扩展柜,72块SAS接口的520字节硬盘组建了3组raid。NetApp故障:工作人员误操作删除11个lun。

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

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

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

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

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

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

8、扫描节点信息。
006.jpg

节点扫描类:
007.jpg

节点扫描程序完整流程:
008.jpg

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

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

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

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

初始化完毕后,开始提取文件的各级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数。
013.jpg

LV类型及LV挂载信息区域:
014.jpg

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

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

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

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

目录
打赏
0
4
5
0
223
分享
相关文章
前端必须掌握的设计模式——观察者模式
观察者模式(Observer Pattern)是一种行为型设计模式,实现了一种订阅机制。它包含两个角色:**观察者**(订阅消息、接收通知并执行操作)和**被观察者**(维护观察者列表、发送通知)。两者通过一对多的关系实现解耦,当被观察者状态改变时,会通知所有订阅的观察者。例如,商店老板作为被观察者,记录客户的需求并在商品到货时通知他们。前端应用中,如DOM事件注册、MutationObserver等也体现了这一模式。
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
432 7
大数据未来五大趋势,这些变化你真的准备好了吗?
大数据未来五大趋势,这些变化你真的准备好了吗?
383 90
服务器数据恢复—OceanStor存储数据恢复案例
华为OceanStor T系列某型号存储中有一组由24块机械硬盘组建的一组RAID5阵列。 运行过程中该存储设备RAID5阵列上多块硬盘出现故障离线,阵列失效,存储中数据无法访问。
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
121 5
宠物公司双旦备战,何种办公软件可优化库存管理?
在冬季双旦节期间,宠物行业的业务量激增,高效的团队协作和学习效率至关重要。合适的办公软件能助力企业在需求预测、库存管理、营销策划等方面顺畅运营。本文推荐6款可视化团队协作办公软件:板栗看板、Trello、Asana、飞书、腾讯文档和石墨文档。这些软件各具特色,如板栗看板的直观数据呈现、Trello的插件拓展、Asana的强大项目管理、飞书的实时协作文档、腾讯文档的便捷模板和石墨文档的深度协作功能,帮助宠物企业提升工作效率,实现业绩增长。
89 5
服务器数据恢复—ZFS文件系统下数据恢复案例
服务器存储数据恢复环境: ZFS Storage 7320存储阵列中有32块硬盘。32块硬盘分为4组,每组8块硬盘,共组建了3组RAIDZ,每组raid都配置了热备盘。 服务器存储故障: 服务器存储运行过程中突然崩溃,排除人为误操作、断电、进水和其他机房不稳定因素。管理员重启服务器存储,系统无法进入,需要恢复服务器存储中的数据。
服务器数据恢复—V7000存储上多块Mdisk成员盘出现故障的数据恢复案例
服务器存储数据恢复环境: 一台V7000存储上共12块SAS机械硬盘(其中1块是热备盘),组建了2组Mdisk,创建了一个pool。挂载在小型机上作为逻辑盘使用,小型机上安装的AIX+Sybase。 服务器存储故障: V7000存储中磁盘出现故障,管理员发现问题后立即更换磁盘。新更换的硬盘在上线同步数据的时候,存储上另一块磁盘也出现问题,导致逻辑盘无法挂接在小型机上,业务暂时中断。V7000存储的管理界面上显示两块硬盘故障脱机。 pool无法加载,其中三个通用卷均无法挂载。
【赵渝强老师】MySQL的慢查询日志
MySQL的慢查询日志用于记录执行时间超过设定阈值的SQL语句,帮助数据库管理员识别并优化性能问题。通过`mysqldumpslow`工具可查看日志。本文介绍了如何检查、启用及配置慢查询日志,并通过实例演示了慢查询的记录与分析过程。
562 3

计算巢

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等