服务器数据恢复—raid5阵列+LVM+VXFS数据恢复案例

news2024/11/26 9:07:34

服务器存储数据恢复环境:
某品牌MSA2000FC存储中有一组由7块盘组建的RAID5阵列,另外还有1块硬盘作为热备盘使用。
基于RAID5阵列划分的几个LUN分配给小机使用,存储空间通过LVM管理,重要数据为Oracle数据库及OA服务端。

服务器存储故障:
RAID5阵列中2块硬盘离线,唯一的热备盘成功激活,RAID5阵列还是变得不可用,上层LUN无法使用。

服务器存储数据恢复过程:
1、将故障存储中所有磁盘标记后取出,由硬件工程师对所有磁盘做物理故障检测,检测后没有发现有磁盘存在物理故障,都可以正常读取。以只读方式将所有磁盘进行扇区级全盘镜像,镜像过程中没有发现有磁盘存在坏道。

2、由于所有磁盘经过检测都不存在物理故障或者坏道,基本上可以判断磁盘掉线的是磁盘读写不稳定造成的。故障存储的控制器通常会将某些性能不稳定的磁盘识别为坏盘,并踢出RAID。而一旦RAID中掉线的盘数达到该RAID级别允许掉盘的极限,这个RAID将变得不可用,上层基于RAID的LUN也无法正常使用。
基于镜像文件分析所有磁盘底层数据,获取到重组raid所需信息(RAID级别,条带规则,条带大小,校验方向,META区域等)并找到热备盘和2块掉线硬盘的掉线顺序,然后根据这些信息重组RAID。
3、raid重组完成后分析LUN在RAID中的分配情况,以及LUN分配的数据块MAP,将每一个LUN的数据块分布MAP提取出来。北亚企安数据恢复工程师编写程序解析所有LUN的数据MAP,然后根据数据MAP导出所有LUN的数据。

4、分析所有LUN,发现所有LUN中均包含LVM逻辑卷信息。尝试解析每个LUN中的LVM信息,一共发现三套LVM:第一个LVM中划分了一个LV,存放OA服务器端的数据;第二个LVM中也划分了一个LV,里面存放临时备份数据;剩下几个LUN组成一个LVM,也划分了一个LV,里面存放Oracle数据库文件。北亚企安数据恢复工程师编写解释LVM的程序,将每套LVM中的LV卷都解释出来,但是解释过程中出现错误。
5、分析程序报错的原因,由开发工程师debug程序出错的位置。文件系统工程师检测恢复出来的LUN,检测LVM逻辑卷的信息是否损坏。经过检测,发现LVM信息确实因为存储瘫痪而损坏。尝试人工修复损坏的区域,并同步修改程序,然后重新解析LVM逻辑卷。
6、搭建环境,将解释出来的逻辑卷映射到小机,并尝试挂载文件系统,结果文件系统挂载出错。尝试使用“fsck –F vxfs” 命令修复vxfs文件系统,修复后还是无法挂载。数据恢复工程师怀疑vxfs文件系统的元数据被破坏,需要修复。
7、分析解析出来的LV,根据VXFS文件系统的底层结构校验此文件系统的完整性。经过分析发现底层VXFS文件系统果然有问题,部分文件系统元文件损坏。人工修复这些损坏的元文件,保证VXFS文件系统能够正常解析。将修复好的逻辑卷挂载到小机上,并尝试挂载文件系统。这回没有报错,成功挂载。
8、在小机上挂载上文件系统后,将所有用户数据备份至指定空间。

9、使用Oracle数据库文件检测工具“dbv”检测每个数据库文件的完整性,没有发现错误。使用北亚企安自主开发的Oracle数据库检测工具检测,发现部分数据库文件和日志文件校验不一致。修复此类文件并再校验,直到所有文件校验均通过。
10、将恢复出来的Oracle数据库附加到原始生产环境的小机中,尝试启动Oracle数据库,Oracle数据库启动成功。

11、在用户方的配合下,启动Oracle数据库和OA服务端。在本地电脑上安装OA客户端,通过OA客户端验证最新的数据记录以及历史数据记录,并且安排不同部门工作人员进行远程验证。经过仔细验证,用户方确认数据完整可用,认可数据恢复结果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于微信小程序的酒店客房管理系统+LW示例参考

1.项目介绍 系统角色:管理员、员工、普通用户功能模块:员工管理、用户管理、客房管理、预订管理、商品管理、评价管理、续订管理、订单管理等技术选型:SSM,vue,uniapp等测试环境:idea2024,jdk1…

学习Zookeeper

Zookeeper有手就行 1. 初识ZooKeeper1.1 安装ZooKeeper1.2 ZooKeeper命令操作1.2.1 Zookeeper数据模型1.2.2 Zookeeper 服务端常用命令1.2.3 Zookeeper客户端常用命令 2. ZooKeeperJavaAPl操作2.1 Curator介绍2.2 CuratorAPI常用操作2.2.0 引入Curator支持2.2.1 建立连接2.2.2 …

java基础知识(Math类)

引入:Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根 import java.util.Math 1.abs绝对值 int abs Math.abs(-9); 2.pow求幂 double pow Math.pow(2,4); 3.向上取整 double ceil Math.ceil(3.9);//ceil 4 4.向下取整 dou…

【AIGC】大模型面试高频考点-RAG中Embedding模型选型

【AIGC】大模型面试高频考点-RAG中Embedding模型选型 (一)MTEB排行榜英文模型排名:1、bge-en-icl2、stella_en_1.5B_v53、SFR-Embedding-2_R4、gte-Qwen2-7B-instruct5、stella_en_400M_v56、bge-multilingual-gemma27、NV-Embed-v18、voyage…

学习threejs,使用设置normalMap法向量贴图创建更加细致的凹凸和褶皱

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshPhongMaterial高…

SAP ME2L/ME2M/ME3M报表增强添加字段

SAP ME2L/ME2M/ME3M报表增强添加字段(包含:LMEREPI02、SE18:ES_BADI_ME_REPORTING) ME2L、ME2M、ME3M这三个报表的字段增强,核心点都在同一个结构里 SE11:MEREP_OUTTAB_PURCHDOC 在这里加字段,如果要加的字段是EKKO、…

dubbo-go框架介绍

框架介绍 什么是 dubbo-go Dubbo-go 是 Apache Dubbo 的 go 语言实现,它完全遵循 Apache Dubbo 设计原则与目标,是 go 语言领域的一款优秀微服务开发框架。dubbo-go 提供: API 与 RPC 协议:帮助解决组件之间的 RPC 通信问题&am…

不只是请求和响应:使用Fiddler抓包URL和Method全指南(中)

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm1001.2014.3001.5502 🙉在(上)篇博客中&#xf…

Linux操作系统学习---初识环境变量

目录 ​编辑 环境变量的概念: 小插曲:main函数的第一、二个参数 获取环境变量信息: 1.main函数的第三个参数 2.查看单个环境变量 3.c语言库函数getenv() 和环境变量相关的操作指令: 1.export---导出环境变量: 2.unse…

跨平台应用开发框架(1)----Qt(组件篇)

目录 1.Qt 1.Qt 的主要特点 2.Qt的使用场景 3.Qt的版本 2.QtSDK 1.Qt SDK 的组成部分 2.安装 Qt SDK 3.Qt SDK 的优势 3.Qt初识 1.快速上手 widget.cpp mian.cpp widget.h Helloworld.pro 2.对象树 3.坐标系 4.信号和槽 1. 信号和槽的基本概念 2. 信号和槽的…

mysql索引失效的五种情况

第一种 违反最左前缀法则 这个是针对联合索引的。 假设有个tb_seller表,现在给三个字段建立联合索引,建立的时候字段顺序不可随便设置,字段顺序: name, status, address。下图Seq_in_index对应的是联合索引顺序。 判断索引失效用…

H3C OSPF 多区域实验

目录 前言 实验拓扑 实验需求 实验解析 路由器配置 测试 前言 此篇文章为 OSPF多区域试验,建议先食用OSPF单区域实验,理解实验原理 学习基本配置,再来使用此篇,效果更佳!(当然如果你已经了解原理与基…

算法 Java实现

一.查找算法 1.分块查找 二.排序算法 1.冒泡排序

优先算法 —— 双指针系列 - 快乐数

1. 快乐数 题目链接: 202. 快乐数 - 力扣(LeetCode)https://leetcode.cn/problems/happy-number/description/ 2. 题目解析 示例1: 示例2: 3. 算法原理 两种情况:我们可以把两种情况都看作为循环&#xff0…

【机器学习】——卷积与循环的交响曲:神经网络模型在现代科技中的协奏

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…

php 导出excel 一个单元格 多张图片

public function dumpData(){error_reporting(0); // 禁止错误信息输出ini_set(display_errors, 0); // 不显示错误$limit $this->request->post(limit, 20, intval);$offset $this->request->post(offset, 0, intval);$page floor($offset / $limit) 1 ;$wh…

几天游记啊

绿灯常亮,黄灯闪,就是没有上线状态 一 2024.11.24 青浦圆通信息中心:vsphere client IDC运维专员可能就这项技能稀缺 二 2024.11.25 1 字节服务器外包单位有孚网路 什么互联网交换中心 不了解的人还以为是国家火炬计划呢!实际…

【C++动态规划 子集状态压缩】2002. 两个回文子序列长度的最大乘积|1869

本文涉及知识点 C动态规划 位运算、状态压缩、枚举子集汇总 LeetCode2002. 两个回文子序列长度的最大乘积 给你一个字符串 s ,请你找到 s 中两个 不相交回文子序列 ,使得它们长度的 乘积最大 。两个子序列在原字符串中如果没有任何相同下标的字符&…

记录:从.Net程序的内存转储文件中提取内存数据过程

1.准备材料:xxx.dump转储文件,VS2022 2.提取过程 使用VS打开xxx.dump文件VS中点击 调试托管内存 按钮查找需要导出的变量,注:通过类型查找时基础变量类型跟原类型不一样,如string对应String,bool对应Bool…

Nacos学习文档

目录 1、Nacos是什么2、Nacos名词介绍3、Nacos中的data id是如何组装的?4、Nacos 融合 Spring Cloud,成为注册配置中心4.1、Maven依赖作用4.2、启动配置管理4.2.1、添加依赖4.2.2、在 bootstrap.yml(也支持properties格式) 中添加…