【服务器数据恢复】raid5故障导致LUN无法访问的数据恢复案例

服务器数据恢复环境:
一台服务器中有一组由数块SAS硬盘组建的RAID5阵列,阵列中有1块热备盘,上层部署OA以及Oracle数据库。

服务器故障:
该磁盘阵列中有2块硬盘出现故障先后离线,RAID5阵列瘫痪,上层LUN无法正常使用。经过检测发现硬盘无物理故障,无坏道。

服务器数据恢复过程:
1、将故障服务器中所有磁盘编号后取出,以只读方式做全盘镜像,备份完成后将磁盘按照编号还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。


 

2、基于镜像文件分析底层数据获取RAID条带大小、磁盘顺序及数据走向等RAID相关信息,根据获取到RAID信息重组RAID5。
3、分析LUN在RAID中的分配情况和LUN分配的数据块MAP。提取每一个LUN的数据块分布MAP,北亚企安数据恢复工程师编写程序解析所有LUN的数据MAP,根据数据MAP导出所有LUN的数据。


 

4、对导出的LUN的数据进行分析,发现所有LUN中均包含HP-Unix的LVM信息。通过解析每个LUN中的LVM信息,发现共有三套LVM:一个LVM划分了一个LV来存放OA服务器端的数据;第二个LVM中也划分了一个LV来存放临时备份数据;剩下的4个LUN组建了一个LVM,划分了一个LV来存放Oracle数据库文件。
5、北亚企安数据恢复工程师编写程序解释每套LVM中的LV卷,但在解释的过程中程序报错。经过分析发现报错原因是raid5瘫痪导致LVM信息损坏。人工修复损坏区域后,同步修改解释程序后成功解释LVM逻辑卷。
6、搭建HP-Unix环境,将解释出来的LV卷映射到HP-Unix并尝试挂载文件系统。但是挂载文件系统时出错,尝试使用“fsck –F vxfs” 命令修复vxfs文件系统,但修复完成后还是无法挂载。
7、分析解释出来的LV,根据VXFS文件系统的底层结构校验此文件系统的完整性。经过分析发现VXFS文件系统果然有问题,出现问题的原因是:当raid5瘫痪时VXFS文件系统正在执行IO操作,导致部分文件系统元文件没有更新以及损坏。手工修复这些损坏的元文件直至能够正常解析VXFS文件系统。
8、将修复好的LV卷挂载到HP-Unix小机上,尝试Mount文件系统,这次没有报错,成功挂载。
9、在HP-Unix小机上成功mount文件系统后,将所有用户数据均备份至指定的磁盘空间。部分文件目录截图如下:


 

10、使用Oracle数据库文件检测工具检测数据库文件的完整性,检测无误后使用北亚企安自主研发的Oracle数据库检测工具进行检测,经过检测发现部分数据库文件和日志文件校验不一致。数据库工程师对这部分文件进行修复后并再次校验,直至所有数据库文件均通过校验。
11、将恢复出来的Oracle数据库附加到原始生产环境中,尝试启动Oracle数据库,启动成功。

 

数据验证:
在用户方的配合下启动Oracle数据库和OA服务端。在本地电脑上安装OA客户端,通过OA客户端验证新旧数据记录,安排不同部门人员进行远程验证。经过反复验证确认数据完整无误。本次数据恢复工作完成。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2066.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【解决openGauss安装后yum、ssh命令无法使用】

【解决openGauss安装后yum、ssh命令无法使用】 🔻 一、操作系统及数据库版本🔰 1.1 操作系统版本🔰 1.2 openGauss数据库版本 🔻 二、关于openGauss安装🔻 三、问题详情🔰 3.1 使用yum命令报错&#x1f530…

【数据库原理与实践】知识点归纳(下)

第6章 规范化理论 一、关系模式设计中存在的问题 关系、关系模式、关系数据库、关系数据库的模式 关系模式看作三元组&#xff1a;R < U,F >&#xff0c;当且仅当U上的一个关系r满足F时&#xff0c;r称为关系模式R < U,F >的一个关系 第一范式&#xff08;1NF&…

python最佳开发环境组合(pycharm+anaconda)

一、pycharmanaconda是python 最佳开发环境组合 1.pycharm与vscode对比 pycharm社区版与pycharm pro pycharm pro 与vscode 二、anaconda Anaconda Python 集成包 工具箱。 所以没有必要下载传统Python (cPython)个人十分不推荐使用传统python做科学计算&#xff0c; 一来…

SpringBoot-集成FTP(上传、下载、删除)

目录 一、引入依赖 二、配置文件 三、Controller层 四、Service层 五、相关工具类 由于服务在内网部署&#xff0c;需要使用ftp服务器管理文件&#xff0c;总结如下 一、引入依赖 <!-- https://mvnrepository.com/artifact/commons-net/commons-net --> <depen…

Web3在HTML中获取 MetaMask 启用的用户列表

当然 我们还是要先启动ganache环境 然后 通过MetaMask 导入一些用户 然后 我们需要在页面中引入 web3.min.js 如果您还没有这个文件 可以查看我的文章web3.js获取导入 然后我访问官网 https://learnblockchain.cn/docs/web3.js/web3-eth.html#getchainid 打开后 先来到 web3.…

apple pencil二代建议买吗?性价比高的触控笔测评

因为ipad的强大功能&#xff0c;不少人已经开始使用ipad了&#xff0c;随之也越来越普及。大屏幕上的学习效果很好&#xff0c;但用来刷剧以及打游戏就没什么意思了。如果你不想买一支价格很贵的苹果电容笔&#xff0c;或是只想用来做笔记&#xff0c;你可以考虑一下平替电容笔…

机器学习——无监督学习

聚类 问题描述 训练数据&#xff1a; D { x 1 , x 2 , ⋯ , x m } D\lbrace x_1,x_2,\cdots,x_m\rbrace D{x1​,x2​,⋯,xm​}&#xff0c;其中每个数据为 n n n 维向量 x i ( x i 1 , x i 2 , ⋯ , x i n ) x_i(x_{i1},x_{i2},\cdots,x_{in}) xi​(xi1​,xi2​,⋯,xin​…

测试背了4年“锅“,测试缺陷总结整理(细致)“锅“终丢掉了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 缺陷分析也是测试…

MySQL——变量与游标

今天我们来一起学习MySQL中的变量&#xff08;系统变量与用户变量&#xff09;&#xff0c;以及什么是游标&#xff0c;游标如何使用&#xff1f; 1. 变量 在 MySQL 数据库的存储过程和函数中&#xff0c;可以使用变量来存储查询或计算的中间结果数据&#xff0c;或者输出最终…

RabbitMQ快速上手(延迟队列)

安装 官网 参考文章&#xff1a; ​ https://blog.csdn.net/miaoye520/article/details/123207661 ​ https://blog.csdn.net/lvoelife/article/details/126658695 安装Erlang&#xff0c;并添加环境变量ERLANG_HOME&#xff0c;命令行运行erl 安装rabbitmq&#xff0c;rab…

时间序列预测的20个基本概念总结

1、时间序列 时间序列是一组按时间顺序排列的数据点 比如&#xff1a; 每小时的气压每年的医院急诊按分钟计算的股票价格 2、时间序列的组成部分 时间序列数据有三个主要组成部分。 趋势季节性残差或白噪声 3、趋势 在时间序列中记录的长期缓慢变化/方向。 4、季节性 …

【软件架构模式】—微内核架构

欢迎回到软件架构模式博客系列。这是本系列的第 4 章&#xff0c;我们将讨论微内核架构模式 概述&#xff1a; 内核模式也被称为插件架构模式。将附加应用程序功能作为插件添加到核心应用程序&#xff0c;以提供可扩展性以及功能分离和隔离。 这种模式由两种类型的架构组件组…