Netapp数据恢复—Netapp存储误删除lun的数据恢复案例

简介: Netapp存储数据恢复环境:北京某公司一台netAPP存储,72块SAS硬盘划分了若干个lun。Netapp存储故障:工作人员误操作删除了12个lun。

Netapp存储数据恢复环境:
北京某公司一台netAPP存储,72块SAS硬盘划分了若干个lun。

Netapp存储故障:
工作人员误操作删除了12个lun。

Netapp存储数据恢复过程:
1、将故障存储中所有磁盘编号后取出,以只读方式做全盘镜像后按照编号还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析底层数据,找到盘头位置的超级块。北亚企安数据恢复工程师通过分析超级块信息获取磁盘组的起始块信息、磁盘组名称、逻辑组起始块号、raid编号等信息。
分析超级块:
1副本.jpg

通过分析得知每个数据块占8个扇区,数据块后附加64字节数据块描述信息。根据这些信息判断出作为校验盘的磁盘,在后续的数据恢复过程中需要踢出这些磁盘。
校验块描述信息样例:
2副本.jpg

3、依据每块磁盘8号扇区的磁盘信息以及磁盘末尾的RAID盘序表确定盘序。首先确定各个磁盘所属aggr组,然后再判断组内盘序。数据指针跳转时不考虑校验盘,只需要确定数据盘的盘序即可。
分析盘序表:
3副本.jpg

Netapp的节点分布在数量众多的数据块内,在数据块内又被统一组织为节点组。每个节点组的前64字节记录一些系统数据,之后用192字节为一项,记录各个文件节点。节点根据用户级别可分为两类:系统文件节点(MBFP)和用户文件节点(MBFI),数据恢复一般只需要MBFI节点组。
服务器节点样例图:
4副本.jpg

头部信息64字节,此头部为数据文件的节点文件块头部,大小为64字节。
根据更新序列值获取到最新节点。解析节点中节点类型、逻辑块号、文件数量、文件大小、所占块数量和数据指针。
获取节点在节点文件中的逻辑块号,从0开始计数。

4、获取目录项,根据其节点编号找到对应节点。
获取服务器内对应节点截图:
5副本.jpg

5、通过北亚企安自主开发的程序提取服务器数据。
a、扫描节点信息。
扫描服务器节点信息:
6副本.jpg

节点扫描类:
7副本.jpg

节点扫描程序完整流程:
8副本.jpg

循环扫描完毕之后将所有扫描到的MBFP、MBFI和DOC数据块分别写入到三个文件内,用于后续处理。
b、将节点信息导入到数据库。
此模块主要负责将ScanNode扫描到的MBFI和MBFP、Dir存入数据库以备后续使用。
MBFI导入数据库整体流程:
9副本.jpg

函数执行完毕后查看数据库,得到如下信息:
节点导入信息:
10副本.jpg

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

c、提取文件。
在获取到要提取的文件的Node之后,开始提取块设备文件。
提取块设备文件:
12副本.jpg

初始化完毕后,开始提取文件的各级MAP,在本次提取过程中文件大小均大于1T,MAP层级为4,所以需要提取4次。第一级MAP默认只占用1个块,所以在程序内直接提取,后三级MAP在GetAllMap函数内进行提取。通过块号计算数据块位置时,由于NetApp使用JBOD组织LVM,直接用块号除以每块磁盘上的块数可得到当前块所在的磁盘序号(计算机整数除法,丢弃小数部分);再使用块号取余块数,得到数据块在此磁盘上的物理块号,物理块号乘以块大小,得到数据块偏移位置。

6、解析块设备文件系统。
故障存储块设备中5T大小的lun使用的是aix小机的jfs2文件系统。因此要解析jfs2文件系统,提取里面的数据库备份文件。
a、找到记录lvm描述信息的扇区,解析pv大小和pv序号;找到vg描述区,解析lv数和pv数;找到pv描述区,解析pp序号和pp数。
解析文件系统块信息:
13副本.jpg

LV类型及LV挂载信息区域:
14副本.jpg

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

解析asm文件系统,提取出数据库文件:
16副本.jpg

7、对提出的数据进行检测,没有发现异常。交由用户方进行验证,经过用户方相关工作人员的共同验证,确认恢复出来的数据完整有效。本次数据恢复工作完成。

相关文章
|
3月前
|
网络协议 虚拟化 Docker
【Azure Developer】.NET Aspire 启动报错:listen tcp bind: An attempt was made to access a socket in a way forbidden by its access permissions
.NET Aspire在Windows启动时因Hyper-V端口保留机制,导致DCP代理无法绑定53209等端口(报错“访问被拒绝”)。虽端口未被占用,但已被系统保留。推荐方案:修改launchSettings.json,将服务端口改为7xxx等安全范围;或临时重启winnat服务、永久排除指定端口。
481 21
|
29天前
|
存储 安全 Java
首个 Java Harness Framework 来了丨AgentScope 把 OpenClaw 带到企业分布式场景
本文旨在正式宣告 AgentScope Java 1.1.0 里程碑版本的发布,重点阐述该版本如何从工程实践层面完整落地“Harness Framework”理念。
839 17
|
7月前
|
数据采集 人工智能 监控
2025年数据治理选型指南,值得推荐的数据中台系统
2025年,数据治理成为企业数字化转型核心。本文深度解析瓴羊Dataphin、华为DataArts Studio、字节Dataleap、Informatica与Talend五大主流工具,涵盖其背景、能力、优势及典型应用,助力企业明晰选型路径,实现数据资产化、治理智能化,释放数据要素价值。
|
7月前
|
传感器 人工智能 自然语言处理
智能体与具身智能区别详解:技术架构、应用场景全对比
本文深入解析智能体与具身智能的核心差异,从技术架构、应用场景到发展趋势全面对比。智能体聚焦数字空间的自主决策,适用于客服、数据分析等场景;具身智能依托物理载体,专注现实世界交互,广泛用于机器人、智能制造等领域。文章结合权威数据与案例,为企业AI战略选型提供清晰决策框架,助力把握未来智能化方向。
3130 1
|
机器学习/深度学习 自然语言处理
差分Transformer竟能消除注意力噪声,犹如降噪耳机
差分Transformer是一种创新的自然语言处理模型,通过计算两个独立softmax注意力图之间的差异来消除注意力噪声,提高信息检索和生成的准确性。该模型在语言建模、长文本建模等任务中表现出色,但计算复杂度较高且参数数量较多。
469 11
|
机器学习/深度学习 人工智能 大数据
35岁+大数据人必看:这6个证书,帮你把年龄变成职场「护城河」
35岁不是"职场黄昏",而是"经验红利期"。这些证书不是用来"装门面"的,而是帮你把十几年积累的行业认知,和最新的技术趋势结合起来的"加速器"。 考证的过程,本质上是逼自己跳出舒适区——你可能会重新学Python、研究机器学习模型、梳理数据治理流程,但这些"额外"的努力,都会变成你简历上的亮点、面试时的底气、谈薪资时的筹码。 记住:企业永远愿意为"能解决问题的人"买单。35岁的你,有经验、懂业务、还能学习新东西,这就是你最硬核的竞争力。 现在就开始挑一个证书,把焦虑变成行动力——毕竟,中年危机不可怕,可怕的是你还没开始准备。
|
机器学习/深度学习 网络协议 算法
IGP高级特性(一)
IGP高级特性(一)
|
传感器 测试技术 定位技术
HarmonyOS Next 模拟器安装与探索
HarmonyOS 5 的发布带来了许多新特性,尤其是 HarmonyOS Next 模拟器。本文将带你一步步了解如何安装和使用这个强大的工具,帮助你更好地进行开发,加速项目进展。通过 DevEco Studio 的 Device Manager,你可以轻松创建、配置并启动模拟器,模拟真实设备的效果,支持多窗口、跨设备测试等新特性。此外,模拟器还提供了虚拟传感器、GPS 模拟、音频输入等功能,极大地方便了开发和调试过程。掌握这些功能,能让你的开发更加高效便捷。
1640 9
|
机器学习/深度学习 存储 人工智能
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
MNN 是阿里巴巴开源的轻量级深度学习推理框架,支持多种设备和主流模型格式,具备高性能和易用性,适用于移动端、服务器和嵌入式设备。
4223 18
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
Outlook邮箱怎么建立邮件组?
在Outlook中创建邮件组,登录邮箱后点击“联系人”,选择“新建联系人组”,命名并添加成员,保存即成。发邮件时直接写邮件组名,Outlook会自动填充成员。可编辑或删除组,高效管理邮件收发。

热门文章

最新文章