服务器数据恢复-热备盘同步过程中硬盘离线的RAID5数据恢复案例

news2025/1/24 5:46:24

服务器数据恢复环境:
华为OceanStor某型号存储,11块硬盘组建了一组RAID5阵列,另外1块硬盘作为热备盘使用。基于RAID5阵列的LUN分配给linux系统使用,存放Oracle数据库。

服务器故障:
RAID5阵列1块硬盘由于未知原因离线,热备盘激活开始同步数据,在热备盘同步的过程中又有1块硬盘离线,RAID5阵列瘫痪,上层LUN无法正常使用。

服务器数据恢复过程:
1、将故障存储中所有磁盘编号后取出。由于故障原因是RAID阵列中磁盘掉线,所以先将所有磁盘做物理故障检测,经过检测发现只有1块硬盘存在物理故障,其他硬盘完好。
2、以只读方式将所有磁盘做全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
3、基于镜像文件分析RAID5阵列结构相关信息(条带大小,磁盘顺序、数据走向等)并找到热备盘。
4、根据分析获取到的RAID结构相关信息,使用北亚企安自主开发的RAID虚拟程序虚拟重构原RAID5阵列。由于该RAID5阵列中有两块盘掉线并且有一块硬盘数据被同步损坏。经过分析硬盘数据,数据恢复工程师发现有一块硬盘在同一个条带上的数据和其他硬盘明显不一样,初步判断此硬盘是被同步损坏的硬盘。通过北亚企安自主开发的RAID校验程序对这个条带做校验,确定这块盘就是被同步损坏的磁盘。
5、华为OceanStor存储的LUN是基于RAID阵列的。分析LUN在RAID5阵列中的分配情况和LUN分配的数据块MAP。将LUN的数据块分布MAP提取出来后,北亚企安数据恢复工程师针对这些信息编写相应的程序解析LUN的数据MAP,然后根据数据MAP导出LUN的数据。
6、由于是使用热备盘虚拟的RAID,无法正常挂载EXT3文件系统。数据恢复工程师只能提取oracle数据库文件,利用北亚企安自主开发的EXT3文件系统解析程序对其进行文件系统的解析,然后导出oracle数据库文件,并把数据库文件移交给数据库工程师进行校验和验证。
7、使用Oracle数据库文件检测工具检测每个数据库文件的完整性,再使用北亚企安自主研发的Oracle数据库检测工具(检验更严格)进行检测,经过检测发现有部分数据库文件和日志文件错误, system 和sysaux表空间都存在坏块;3个控制文件也存在许多坏块,控制文件全部损坏;
eschoolspace表空间的3个文件发现有大量坏块;undotbs02丢失;数据库工程师对这些文件进行修复。修复完成后将数据导入到搭建好的数据库环境。

8、由用户方配合,启动Oracle数据库,在本地虚拟机安装OA客户端。通过OA客户端对数据记录进行验证,并且由用户安排不同部门人员进行远程验证。经过验证,确认恢复出来的数据完整可用。本次数据恢复工作完成。

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

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

相关文章

线程详细解析

本文重点: 目录 什么是线程? 线程共享和非共享资源 线程的优缺点 多线程 线程池 Java创建线程池 什么是线程? 线程是操作系统调度和执行的基本单位,线程和进程一样也有PCB 一个进程必定会有一个线程 在Linux内核中是不会区分进程和线程的,只在用户层面区分 线程共享…

新手询问想要成功学好嵌入式开发有什么建议吗?

今日话题,想要成功学好嵌入式开发有什么建议吗?想要学好的话选择一门合适的编程语言是关键。虽然嵌入式开发支持多种语言,但C和C仍然是最常用的。如果你是初学者,从学习C语言开始是一个不错的选择。它相对容易学习,而且…

基于Python开发的智能停车场车牌识别计费系统(源码+可执行程序+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python开发的智能停车场车牌识别计费系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试…

教你制作作业查询系统

嗨,各位老师们,今天我要给你们介绍一个超级方便的工具——易查分!你知道吗,利用易查分,我们可以轻松制作一个便捷高效的作业查询系统哦! 是不是想有个自己的分班or成绩查询页面?博主给老师们争取…

​重生奇迹失落之塔三-四层刷怪攻略​

重生奇迹中的失落之塔一共是八层,每一层均需玩家达到相应的等级后方可进入,等级不到,谢绝入内,甚至有时即便你的等级达标,在里面刷一会怪之后,便自动地退去,因为这里面的怪物绝非等闲之辈&#…

再也不想去阿里巴巴面试了,6年测开面试遭到这样打击.....

前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了快6年软件测试员。。。为了进大厂,也花了很多时间和精力在面试准备上,也刷了很多题。但题刷多了之后有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到&…

智能新零售系统如何选择?连锁商超新零售POS解决方案优势?亿发

互联网的迅速发展,越来越多的实体门店发觉线上线上同步发展的“新零售“才是未来的大势所趋。那么智能新零售系统如何选择?新零售POS管理系统解决方案的优势有哪些? 一、智能新零售系统如何选择? 1、便于使用的基础数据排序功能 在新零售时…

VS报错 The build tools for v141 (Platform Toolset = ‘v141‘) cannot be found.

在配置OpenGL 项目的时候遇到了平台不一致的问题 错误 1 error MSB8020: The build tools for v141 (Platform Toolset v141) cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Vis…

java编辑pdf(itextpdf)

工作上遇到一个小需求&#xff0c;需要在原有的pdf文件上添加一行文字&#xff0c;实现方式如下 引入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependen…

qt 远程调试部署运行时出错-1: error: Deploy via rsync: failed to create remote directories:

1、按照《【正点原子】ATK-DLRK3568_Q开发环境搭建V*.pdf》搭建交叉编译环境、远程部署Qt应用程序后&#xff0c;点击qt-creator三角运行&#xff0c;提示“Deploy via rsync: failed to create remote directories:” 2、经查&#xff0c;文档中没有相关问题的提示解决&#…

关闭训练过程中的wandb

训练的过程中反复提醒wandb的账户&#xff0c;自动化执行的话&#xff0c;不是很方便&#xff0c;因此需要关闭这个wandb的功能 提醒的方式是这样的&#xff1a; 解决办法1、注释掉wandb相关的代码&#xff0c;并且添加关闭命令&#xff1a;wandb None 参考&#xff1a; 训…

探究Nginx应用场景

1 静态资源 Nginx是一个流行的Web服务器和反向代理服务器&#xff0c;它可以用于托管静态资源。下面是一个简单的案例&#xff0c;展示了如何使用Nginx来提供静态资源。 假设你有一个名为example.com的域名&#xff0c;并且你希望使用Nginx来托管位于/var/www/html目录下的静…

自定义权限指令与防止连点指令

1.权限指令 // 注册一个全局自定义权限指令 v-permission Vue.directive(permission, {inserted: function(el, binding, vnode) {const {value} binding; // 指令传的值// user:edit:phone,sysData:sampleconst permissions [user:edit:address, sysData:entrust, sysData:…

WebStorm使用Element组件库

文章目录 WebStorm使用Element组件库1. webstorm使用vue文件2. 首先需要安装Element Plus2. 项目完成引入-以日历为例 WebStorm使用Element组件库 1. webstorm使用vue文件 在Test.vue文件中书写模板,并暴露对外接口 <script> export default {name: "Test" }…

第1章_freeRTOS入门与工程实践之课程介绍

本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id724601559592 配套资料获取&#xff1a;https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103 freeRTOS系列教程之freeRTOS入…

VS Code 安装方法

1.安装控制台程序.NET SDK 功能&#xff1a;应用能够正常的运行和构建。 .NET SDK下载地址&#xff1a;下载 .NET(Linux、macOS 和 Windows) 2.安装驱动编辑器vscode vscode下载地址&#xff1a;https://code.visualstudio.com/Download 选择System Installer&#xff0c;…

数据在内存中的存储——练习5

题目&#xff1a; 5.1 #include <stdio.h> unsigned char i 0; int main() {for(i 0;i<255;i){printf("hello world\n");}return 0; }5.2 #include <stdio.h> int main() {unsigned int i;for(i 9; i > 0; i--){printf("%u\n",i);}r…

MCU软核 2. Xilinx Artix7上运行tinyriscv

0. 环境 - ubuntu18 - win10 vivado 2018.3 - git desktop - XC7A35TV12核心板 - ft2232hl小板&#xff08;用于程序烧录&#xff09; 1. git克隆源码 Git Desktop -> File -> Clone repository -> -> URL: https://gitee.com/liangkangnan/tinyriscv/ -> Lo…

Vue3样式绑定

文章目录 Vue3样式绑定1. class 属性绑定1.1 v-bind:class 设置一个对象&#xff0c;从而动态的切换 class1.2 在对象中传入更多属性用来动态切换多个 class1.3 直接绑定数据里的一个对象1.4 绑定一个返回对象的计算属性。这是一个常用且强大的模式1. 5 数据语法1.6 errorClass…

Mental Poker- Part 2

在part-1中&#xff0c;我们梳理了去中心纸牌游戏所面临的挑战&#xff0c;也介绍了一种改进的Barnett-Smart协议&#xff0c;part-2将深入了解该协议背后涉及的算法。 Discrete-log VTMF VTMFs包含4部分&#xff1a;key generation, mask, remask and unmask&#xff0c;这些…