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

服务器数据恢复—光纤共享存储互斥设置不当导致数据丢失的数据恢复案例

服务器数据恢复环境&故障:
两台SOLARIS系统(SPARC平台)的服务器通过光纤交换机共享同一个存储作为CLUSTER使用。正常情况下只有A服务器工作。如果A服务器发生故障宕机,可将A服务器关机,开启B服务器接管。但由于配置不当导致共享存储互斥出现问题。
管理员进行运维检查时发现B服务器连接了一块未知磁盘。由于B服务器并未启用,处于闲置状态,所以管理员也将这块磁盘当作闲置的,于是在B服务器上将磁盘的某个分区做了newfs。没想到这块磁盘就是那个共享存储,执行操作没有多长时间A服务器就开始报警并宕机。
发生问题后,管理员又做了如下操作:1、重启A服务器但发现所有的文件系统均无法挂载。2、执行fsck。多数分区数据修复成功,只有在B服务器做过newfs的文件系统修复结果不理想,根目录下只有一个lost+found文件夹,里面有大量数字标号的文件。
故障文件系统存放了两组ORACLE实例,文件系统为UFS,约有数百个数据文件需要恢复。

故障分析&数据恢复方案:
光纤环境下的共享冲突案例很多。本案例中,A服务器与B服务器同时对UFS这个单机文件系统进行访问,两台服务器都以独享方式对共享存储进行管理。A服务器正常管理的文件系统其实底层上已经被B服务器做了文件系统初始化,A服务器从缓冲区写入文件系统的数据也会破坏B服务器初始化的结果。
B服务器上做newfs实际上直接会作用于原先的文件系统之上,但本案例与单纯的newfs有些不同,在A服务器宕机之前,会有一小部分数据(包括元数据)回写回文件系统。newfs的结构如果与之前的相同,数据区是不会被破坏的。如果有一小部分元数据存在,部分数据还是可以恢复的。
UFS文件系统以块组切割,每块组分配若干固定的inode区。文件系统newfs时,如果结构与之前的相同,文件系统最重要的inode区会全部初始化,之前的无法保留。inode管理着所有文件的重要属性,所以单纯从文件系统角度考虑,数据恢复的难度很大。幸亏oracle数据文件的强结构性和UFS文件系统的规律性,可以通过对oracle数据文件的结构重组,将数据文件、控制文件、日志等恢复出来。oracle数据文件本身会有表名称描述,也可以反向推断原来的磁盘文件名。

服务器数据恢复过程:
1、将所有文件系统做只读镜像。
2、基于镜像文件分析&重组oracle数据结构。
3、针对部分结构乱,无法重组的文件,北亚企安数据恢复工程师参考ufs文件系统结构特征进行辅助分析。
4、利用恢复出来的数据文件、控制文件在oracle平台恢复数据库。
5、恢复完所有数据库文件后,交由用户方检测。经过仔细检测,确认恢复出来的数据完整。

Tips:
fsck是很致命的操作,在fsck之前最好做好备份。光纤环境中存储互斥不当是非常多的数据灾难的原因,应谨慎部署与实施。


http://www.kler.cn/a/284576.html

相关文章:

  • Linux基础1
  • 今日 AI 简报 | 开源 RAG 文本分块库、AI代理自动化软件开发框架、多模态统一生成框架、在线图像背景移除等
  • Python中异常处理小测验
  • 更改Ubuntu22.04锁屏壁纸
  • 力扣515:在每个树行中找最大值
  • 十三、注解配置SpringMVC
  • NC 二分查找-II
  • SQL 中 LIKE 和 REGEXP 的相同点与不同点解析
  • 关于前端布局的基础知识
  • AI绘画【Stable Diffusion】抽卡必备!时间管理大师Agent Scheduler插件,一键设置任务,让你的休息时间充分利用起来!
  • 如何判断请求是否为跨域请求?——详细教程
  • Godot vscode c# 调试方法
  • Linux——用户和权限
  • 代理 IP 在工业物联网中的大作用
  • 自然灾害预警系统的重要性
  • FPGA概述
  • 算法训练营|图论第7天 prim算法 kruskal算法
  • HPM5301系列--VSCODE开发环境问题修复(一)
  • 深度学习100问18:什么是负采样
  • chat2DB体验
  • 安卓蓝牙技术的使用和场景
  • 零基础学习Redis(9) -- set类型命令使用
  • CF C. Candy Store
  • 探索Python的Excel力量:openpyxl库的奥秘
  • Git学习尚硅谷(002 git常用命令)
  • SpringMVC-基本详解