当前位置: 首页 > news >正文

【服务器数据恢复】NetApp存储无法访问的数据恢复案例

服务器数据恢复环境:
NetApp某型号存储;
配备SAS硬盘,该硬盘520字节一个扇区;
所有的lun映射到小型机使用,存放Oracle数据库文件,采用ASM裸设备存储方式。

服务器故障:
管理员误操作删除NetApp存储上的所有lun。和管理员沟通后得知:因为业务变化,需要重新规划存储空间,管理员直接把存储卷全部删除并重新分配。在执行删除操作之后还没有来得及分配的时候,上层业务突然宕机了。运维工程师紧急排查故障情况,发现业务服务器上的磁盘都不见了,无法访问数据。


服务器数据恢复过程:
1、为了避免在数据恢复过程中对原始数据造成二次破坏,把故障存储中的每块磁盘以只读方式做完全镜像,后续的所有数据恢复操作都在镜像文件上进行。
2、分析Netapp存储的存储过程。
a、分析盘序和LVM的组成方式。
b、扫描硬盘内的所有节点。
c、在节点扫描结果中找到文件大小符合需求的节点并提取此节点。
d、根据索引根内的第一级数据指针提取本文件的所有直接数据指针,在指针提取完毕后开始提取文件数据。
3、在硬盘前面的扇区位置查找超级块的相关信息。
netapp超级块信息:

 

数据块有数据块描述信息,根据这些信息可以判断出哪些磁盘是校验盘(提取数据时需剔除)。
校验块描述信息:

 

4、根据每块磁盘的磁盘信息以及磁盘的RAID盘序表确定盘序。首先要确定各个磁盘所属aggr组,然后再判断组内盘序。
netapp盘序表:

 

5、Netapp的节点分布在数量众多的数据块内,在数据块内节点又被统一组织为节点组。每个节点组的部分字节记录一些系统数据,部分字节为一项来记录各个文件节点。根据用户级别文件节点可分为两类:系统文件节点和用户文件节点。 
netapp节点:

 

6、获取目录项,根据其节点编号找到对应节点。
目录项信息:

 

7、分析好存储结构之后,使用北亚企安自研的NetApp解析程序提取数据,解析asm文件系统并提取出数据库文件。

 

8、搭建小机环境,安装oracle数据库,验证数据库文件和备份文件。
a、检测数据库文件。使用提取出的数据库文件启动数据库,可以正常启动。
b、检测数据库备份文件。筛选出最新的数据库备份文件,使用筛选出的备份文件还原数据库,经过逐一尝试,没有发现问题。用户亲自验证后确认数据库恢复确认无误,本次数据恢复工作完成。

http://www.lryc.cn/news/7337.html

相关文章:

  • (考研湖科大教书匠计算机网络)第四章网络层-第三节2:分类编址的IPv4地址
  • Allegro移动器件时附带的孔和线被同步更改的原因和解决办法
  • 工程监测多通道振弦模拟信号采集仪VTN参数修改
  • 【算法】差分
  • 【LeetCode】剑指 Offer(1)
  • linux rancher 清理docker容器磁盘空间
  • 移动端兼容性问题集锦
  • 【Spark分布式内存计算框架——Spark SQL】4. DataFrame(上)
  • GPS通信
  • Java高频面试题,ReentrantLock 是如何实现锁公平和非公平性的?
  • 「JVM 原理使用」 实际开发中的应用
  • 最最普通程序员,如何利用工资攒够彩礼,成为人生赢家
  • 脏话越多,代码越好!
  • 【Node.js】模块化
  • 训练一个中文gpt2模型
  • python文件头规范和函数注释自动生成(pycharm)
  • Fluent Python 笔记 第 17 章 使用 future 处理并发
  • Android进阶之路 - StringUtils、NumberUtils 场景源码
  • 装备制造业数字化转型CRM系统解决方案(信息图)
  • CGAL 二维剖分
  • node.js+vue婚纱影楼摄影婚庆管理系统vscode项目
  • C语言 指针的新理解
  • 【向每个应用View中增加子控件 Objective-C语言】
  • 【FPGA】Verilog:组合电路设计 | 三输入 | 多数表决器
  • 【安全等保】安全等保二级和三级哪个高?哪个费用更高?
  • C++ STL学习记录(v1)
  • 开发中遇到的问题
  • Javascript笔记
  • Elasticsearch(ES)配置及优化
  • 一文看懂Java语言与Java生态圈