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

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

3天内不再提示

NetApp存储中所有lun被误删除的数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2023-04-13 13:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

服务器数据恢复环境:

NetApp某型号存储,共96块SAS硬盘,划分的lun都映射给小型机使用,存放的是Oracle数据库文件,采用ASM裸设备存储方式。

服务器故障:

管理员误操作删除了该NetApp存储上的所有lun。具体情况是:工作人员给NetApp存储设备重新划分空间,直接把存储的卷全部删除并进行重新分配。在删除所有卷后还没有来得及分配的时候,上层业务就出现异常。运维工程师紧急排查故障情况,发现业务服务器上的磁盘都不见了,无法访问数据。

服务器数据恢复过程:

1、为了预防在数据恢复过程中可能对原始磁盘数据造成的二次破坏,将该NetApp存储上的每块磁盘以只读方式做完整镜像。后续所有的数据分析和数据恢复操作都在镜像文件上进行。

2、基于镜像文件分析Netapp存储数据。

a、分析盘序和LVM的组成方式;

b、扫描硬盘内的所有节点,一般只扫描“MBFI”。

c、在节点扫描结果中找到文件大小符合需求的节点并提取此节点uid,并判断索引根。

d、根据索引根内的第一级数据指针提取本文件的所有直接数据指针(需要参考节点中0x03位置的MAP深度。为0x00时直接从节点内提取数据,为0x01时需要提取一次MAP,为0x02时需要提取两次MAP......)。在指针提取完毕后开始提取文件数据。

3、解析超级块。在硬盘的前面扇区的位置找到超级块相关信息,从超级块中获取到磁盘组名字、磁盘组的逻辑起始块号、总块数、磁盘组中raid的编号。

netapp超级块信息:

poYBAGQ3mRaAGJ0dAAFv0TEin8E740.png

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

4、剔除校验盘。

每个数据块占8个扇区,数据块后附加64字节数据块描述信息。根据这些信息可以判断出作为校验盘(提取数据时校验盘需剔除)的磁盘。

校验块描述信息:

pYYBAGQ3mSyADI2iAAD6-9Jhbkg109.png

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

5、判断aggr盘。

确定各个磁盘所属aggr组,然后判断组内盘序(依据每块磁盘8号扇区的磁盘信息以及磁盘末尾的RAID盘序表确定盘序)。数据指针跳转时不考虑校验盘,所以只取得数据盘的盘序即可。

netapp盘序表:

poYBAGQ3mTOABDPQAANcGZz5BKE776.png

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

6、分析节点及节点头部信息。

Netapp的节点分布在数量众多的数据块内,在数据块内又被统一组织为节点组。每个节点组的前半部分字节记录系统数据,后半部分字节记录各个文件节点。根据用户级别可将节点分为两类:“MBFP”系统文件节点和“MBFI”用户文件节点,在数据恢复时一般只取MBFI节点组即可。

netapp节点样:

pYYBAGQ3mTyAIDUxAAMK5uVNvpc608.png

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

7、获取目录项,并根据目录项节点编号找到对应节点。

目录项信息:

pYYBAGQ3mUOAaM7fAAHdPy_ussc844.png

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

8、分析出该Netapp存储结构后,用北亚企安自研的NetApp解析程序解析asm文件系统,提取出oracle数据库文件。

pYYBAGQ3mUqAfHCGAAceiXP3k0c312.png

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

9、搭建小机环境并安装oracle数据库,检测提取出来的数据库文件和备份文件。

10、使用提取出的数据库文件启动oracle数据库,启动正常。

11、使用最新的数据库备份文件还原数据库,然后由用户方亲自进行验证,经过反复验证,用户方确认恢复出来的oracle数据库数据完整可用,数据恢复工作完成。

审核编辑:汤梓红

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

    关注

    13

    文章

    10094

    浏览量

    90873
  • 数据恢复
    +关注

    关注

    10

    文章

    688

    浏览量

    18798
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67730
  • NetApp
    +关注

    关注

    0

    文章

    80

    浏览量

    15385
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Netapp数据恢复误删NetApp数据:从崩溃到恢复的实战复盘

    NetApp存储数据恢复环境: NetApp某型号存储存储上有96块SAS接口硬盘,硬盘扇区大
    的头像 发表于 11-25 14:33 62次阅读
    <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'>NetApp</b>卷<b class='flag-5'>数据</b>:从崩溃到<b class='flag-5'>恢复</b>的实战复盘

    Netapp数据恢复Netapp存储数据恢复揭秘

    某公司一台服务器中一共有72块SAS硬盘。 工作人员误操作删除了十几个lun。需要恢复服务器中的数据
    的头像 发表于 10-28 15:26 203次阅读
    <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>揭秘

    NetApp率先将数据泄露检测功能嵌入企业数据存储

    智能数据基础设施公司NetApp® (NASDAQ: NTAP)今日宣布推出业界领先的全新网络韧性功能,进一步强化其“全球最安全存储”的产品优势。经升级并更名的NetApp Ranso
    的头像 发表于 10-16 13:31 230次阅读

    服务器数据恢复—SUN RAID6存储LUN重复映射致数据损坏与恢复案例

    SUN光纤存储系统中有一组由6个硬盘组建的RAID6,划分为若干LUN,MAP到跑不同业务的服务器上,这些服务器上运行的是SOLARIS操作系统。 服务器不存在物理故障。由于公司业务变化,需要增加
    的头像 发表于 09-25 12:01 181次阅读

    Mysql数据恢复—Windows Server下MySQL(InnoDB)全表误删数据恢复案例

    本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据
    的头像 发表于 09-23 15:56 492次阅读
    Mysql<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Windows Server下MySQL(InnoDB)全表<b class='flag-5'>误删</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    mysql数据恢复—mysql数据库表truncate的数据恢复案例

    delete。该实例内数据表采用innodb作为默认存储引擎。需要恢复truncate的表以及
    的头像 发表于 09-11 09:28 579次阅读
    mysql<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—mysql<b class='flag-5'>数据</b>库表<b class='flag-5'>被</b>truncate的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—重装系统后OceanStor存储上的分区数据丢失这样恢复

    服务器存储数据恢复环境: 华为OceanStor某型号存储+扩展盘柜,存储中的硬盘组建了raid5磁盘阵列,上层分配了1个
    的头像 发表于 09-02 15:32 505次阅读
    服务器<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—重装系统后OceanStor<b class='flag-5'>存储</b>上的分区<b class='flag-5'>数据</b>丢失这样<b class='flag-5'>恢复</b>

    服务器数据恢复—服务器上的卷误删数据如何恢复

    工作人员不慎将一台服务器上的卷误删除,服务器上有一组raid5阵列。需要恢复误删除数据
    的头像 发表于 08-14 11:33 735次阅读
    服务器<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—服务器上的卷<b class='flag-5'>被</b><b class='flag-5'>误删</b><b class='flag-5'>数据</b>如何<b class='flag-5'>恢复</b>?

    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    一台服务器上一个分区存放Oracle数据数据。由于管理员误操作不小心删除了该分区,数据库报错,无法使用。 北亚企安数据
    的头像 发表于 07-22 14:06 270次阅读
    Oracle<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—格式化分区导致Oracle<b class='flag-5'>数据</b>库报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    分布式存储数据恢复—虚拟机上hbase和hive数据数据恢复案例

    分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式
    的头像 发表于 04-17 11:05 511次阅读

    服务器数据恢复—AIX小型机误删数据如何恢复

    服务器数据恢复环境: 存储设备通过光纤通道将3个LUN映射到AIX小型机。通过AIX-LVM技术将物理卷(PV)构建为卷组(VG),并在卷组空间内创建2个逻辑卷(LV):oradat
    的头像 发表于 04-16 18:12 463次阅读
    服务器<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—AIX小型机<b class='flag-5'>误删</b><b class='flag-5'>数据</b>如何<b class='flag-5'>恢复</b>!

    数据数据恢复——MySQL数据误删除表记录的数据恢复案例

    误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据删除删除后未对该表进行任何操作。
    的头像 发表于 02-22 09:44 1202次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>——MySQL<b class='flag-5'>数据</b>库<b class='flag-5'>误删除</b>表记录的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    NetApp革新块存储,赋能现代工作负载

    智能数据基础设施领域的领先企业NetApp®,近日宣布对其企业存储产品组合进行了重大更新,以更好地满足现代工作负载的多样化需求。此次更新重点扩充了NetApp ASA A系列,推出了一
    的头像 发表于 02-17 10:07 658次阅读

    优化企业数据处理效能:MySQL在大规模应用中的顶尖实践与案例分析

    10点开发人员误删除一个核心业务表,如何恢复? 思路: 1)停业务避免数据的二次伤害 2)找一个临时的库,恢复前一天的全备 3)截取前一天23:00到第二天10点
    的头像 发表于 02-10 11:20 706次阅读

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

    一台Netapp存储中有72块SAS硬盘,管理员误操作删除了12个lun
    的头像 发表于 01-06 15:05 708次阅读
    <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>?