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、因为用户方设定的数据库备份机制,所以每个数据库存在多个备份。找到最新的数据库备份文件来还原数据库。经过尝试筛,选出最新的可用的数据库备份文件来还原数据库环境,然后由用户方验证。

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

相关文章
|
8月前
|
存储 算法 数据挖掘
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
服务器数据恢复环境: 昆腾某型号存储,8个存放数据的存储柜+1个存放元数据的存储柜。 元数据存储:8组RAID1阵列+1组RAID10阵列+4个全局热备硬盘。 数据存储:32组RAID5阵列,划分2个存储系统。 服务器故障: 数据存储的1个存储系统中的一组RAID5阵列中有2块硬盘先后出现故障离线,导致该RAID5阵列失效,整个存储系统崩溃不可用。
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
|
8月前
|
存储 算法 数据挖掘
NetApp数据恢复—NetApp存储中虚拟机的数据恢复案例
NetApp存储数据恢复环境: 北京某公司的一台NetApp某型号存储,通过96块磁盘组建了两组存储池,这2组存储池互为镜像。存储池内划分卷并映射到ESXI作为数据存储使用,卷内有几百台虚拟机。 NetApp存储故障: 操作过程中由于未知原因导致卷丢失,卷内虚拟机无法访问。管理员对该NetApp存储进行检查并试图恢复数据但是没有成功,于是联系我们数据恢复中心恢复数据。
NetApp数据恢复—NetApp存储中虚拟机的数据恢复案例
|
8月前
|
存储 算法 数据挖掘
服务器数据恢复-昆腾存储StorNext文件系统数据恢复案例
昆腾某型号存储,StorNext文件存储系统。 共有9个分别配置了24块磁盘的磁盘柜,其中8个磁盘柜存放普通数据,1个磁盘柜存放元数据。 存放元数据的磁盘柜中的24块磁盘组建了8组RAID1阵列和1组4盘RAID10阵列,还有4个全局热备硬盘。 存放普通数据的磁盘柜中的192块磁盘共组建了32组6盘RAID5阵列,32组RAID5阵列分为2个存储系统。
服务器数据恢复-昆腾存储StorNext文件系统数据恢复案例
|
8月前
|
存储 运维 Oracle
【NetApp数据恢复】NetApp存储卷被误删除的数据恢复案例
NetApp数据恢复环境: NetApp某型号存储,存储中有数十块SAS硬盘,该型号NetApp存储硬盘是扇区大小是520字节。存储中的lun都映射给小型机使用,存放Oracle数据库文件,采用ASM裸设备存储方式。 NetApp存储故障: 由于业务发展需要重新规划存储空间,工作人员直接将存储卷全部删除并重新分配。当删除卷还没有开始重新分配的时候,上层业务宕机,运维工程师紧急排查故障情况,发现业务服务器上的磁盘都消失了,无法访问数据。
【NetApp数据恢复】NetApp存储卷被误删除的数据恢复案例
|
8月前
|
存储
【北亚服务器数据恢复】ZFS文件系统服务器无法进入系统的数据恢复案例
服务器数据恢复环境: 服务器中有32块硬盘,组建了3组RAIDZ,部分磁盘作为热备盘。zfs文件系统。 服务器故障: 服务器运行中突然崩溃,排除断电、进水、异常操作等外部因素。工作人员将服务器重启后发现无法进入操作系统。
【北亚服务器数据恢复】ZFS文件系统服务器无法进入系统的数据恢复案例
|
存储 Unix 数据挖掘
Netapp数据恢复—Netapp存储误删除lun的数据恢复案例
Netapp存储数据恢复环境: 北京某公司一台netAPP存储,72块SAS硬盘划分了若干个lun。 Netapp存储故障: 工作人员误操作删除了12个lun。
Netapp数据恢复—Netapp存储误删除lun的数据恢复案例
|
2天前
|
存储 数据挖掘 数据库
Netapp数据恢复—Netapp存储误删除lun的数据恢复
Netapp数据恢复数据恢复环境&故障: 一台Netapp存储中有72块SAS硬盘,管理员误操作删除了12个lun。 Netapp数据恢复过程: 1、将故障Netapp存储中所有磁盘编号后取出。硬件工程师检测后没有发现有硬盘存在硬件故障,都可以正常读取。将所有硬盘以只读方式进行扇区级全盘镜像。镜像完成后将所有磁盘按照标记原样还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。 2、基于镜像文件对分析所有磁盘底层数据,找到了盘头位置的超级块,分析超级块信息获取到磁盘组的起始块信息、磁盘组名称、逻辑组起始块号、raid编号等基本信息。
|
3月前
|
存储 数据挖掘 索引
NetApp数据恢复—NetApp存储中RAID数据恢复案例
NetApp某型号存储,WAFL文件系统。 工作人员误操作将该NetApp存储中的重要数据删除。
|
5月前
|
存储 算法 数据库
NetApp数据恢复—NetApp存储误删除文件的数据恢复案例
某公司一台NetApp存储,该存储中有24块磁盘。 工作人员误删除了NetApp存储中一个文件夹,文件夹中有非常重要的数据。 数据恢复工程师在现场对该存储进行了初检。虽然这个文件夹被删除很长时间,但是根据NetApp存储中的WAFL文件系统的特性,删除数据被覆盖的可能性不大,可以尝试恢复数据。
NetApp数据恢复—NetApp存储误删除文件的数据恢复案例
|
4月前
|
存储 数据挖掘 索引
NetApp数据恢复—NetApp存储误删除数据恢复案例
NetAapp某型号存储,WAFL文件系统。工作人员误操作将NetApp存储中重要数据删除。