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

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

相关文章
|
人工智能 自然语言处理 Cloud Native
快速使用Milvus MCP Server,0代码搭建智能搜索Agent
阿里云向量检索服务Milvus版是一款云原生向量检索引擎。目前Milvus提供了milvus-mcp-server来对接各种AI Agent,支持包括:更新向量数据、创建索引、混合检索(向量+全文)、多向量列检索等多种能力。本文介绍了如何使用Milvus-mcp-server来搭建智能搜索Agent,并分别使用Cline和Cursor进行部署展示。
1672 6
|
人工智能 边缘计算 运维
容器化浪潮下的AI赋能:智能化运维与创新应用
近年来,容器技术以其轻量、高效、可移植的特性成为云原生时代的基石,推动应用开发和部署方式革新。随着容器化应用规模扩大,传统运维手段逐渐力不从心。AI技术的引入为容器化生态带来新活力,实现智能监控、自动化故障诊断与修复及智能资源调度,提升运维效率和可靠性。同时,AI驱动容器化创新应用,如模型训练、边缘计算和Serverless AI服务,带来更多可能性。未来,AI与容器技术的融合将更加紧密,推动更智能、高效的运维平台和丰富的创新应用场景,助力数字化转型。
|
人工智能 JavaScript 前端开发
一段 JavaScript 代码,集成网站AI语音助手
根据本教程,只需通过白屏化的界面操作,即可快速构建一个专属的AI智能体。
|
关系型数据库 MySQL Linux
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
当MySQL 8.4启动时报错“io_setup() failed with EAGAIN”时,通常是由于系统AIO资源不足所致。通过增加AIO上下文数量、调整MySQL配置、优化系统资源或升级内核版本,可以有效解决这一问题。上述解决方案详细且实用,能够帮助管理员快速定位并处理此类问题,确保数据库系统的正常运行。
622 9
|
人工智能 搜索推荐 机器人
一款开源的宝藏聊天机器人Typebot
Typebot 是一个强大的开源聊天机器人框架,支持多种 AI 模型,包括 Claude 3.5 和 Dify.AI 助手,适用于客服、电商推荐等场景。它通过 Webhook 块实现与外部服务的交互,帮助开发者轻松创建和管理对话式 AI 应用。通过阿里云账号登录,即可快速创建和部署自己的聊天机器人。
|
网络安全
错误集--NFS报错clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
错误集--NFS报错clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
2432 0
错误集--NFS报错clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
|
测试技术 Linux Python
有了Pycharm,就卸载掉Postman吧
有了Pycharm,就卸载掉Postman吧
|
运维 Kubernetes 监控
金融级云原生:多活容器集群高可用建设实践
本文整理自蚂蚁集团金融云产品技术部SOFAStack产品专家俞仁杰在2020 GIDC全球互联网数据大会的分享。详细讲解了云原生架构下的多活高可用平台和产品建设相关经验和观点。
1629 1
金融级云原生:多活容器集群高可用建设实践
|
Web App开发 数据采集 JavaScript
剑走偏锋,正经程序员都在用的无头浏览器到底有多神奇?
浏览器是再熟悉不过的东西了,几乎每个人用过,比如 Chrome、FireFox、Safari,尤其是我们程序员,可谓开发最强辅助,摸鱼最好的伴侣。 浏览器能干的事儿,无头浏览器都能干,而且很多时候比标准浏览器还要更好 用,而且能实现一些很好玩儿的功能,我们能借助无头浏览器比肩标准浏览器强大的功能,而且又能灵活的用程序控制的特性,做出一些很有意思的产品功能来,稍后我们细说。
|
缓存 Windows
FastCopy--几乎是Windows平台最快的文件拷贝、删除软件
Windows系统中,因为默认缓存太小又无法修改,在多线程处理时也容易出现协同作业不完美的情况,很容易出现速度瓶颈,所以有时候我们复制大文件的时候,速度会很慢
2071 0

热门文章

最新文章