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

服务器数据恢复环境:
华为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.rhkb.cn/news/134011.html

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

相关文章

postgresql 内核源码分析 btree索引插入分析,索引页面分裂流程,多举措进行并发优化,对异常进行保护处理

Btree索引插入流程分析 ​专栏内容: postgresql内核源码分析手写数据库toadb并发编程 ​开源贡献: toadb开源库 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤&a…

HCIE-HCS规划设计搭建

1、相关术语 1、等价路由 等价路由(Equal-cost routing)是一种网络路由策略,用于在网络中选择多个具有相同路由度量(路由距离或成本)的最佳路径之一来转发数据流量。 当存在多个路径具有相同的路由度量时,…

VS Code 安装方法

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

windows mysql8.0主从配置

windows mysql8.0主从配置 一、安装两个MySQL并配置 1. 主库配置my.ini,我的主库是安装版 [mysqld] # 设置mysql的安装目录 basedirD:\\soft\\mysql-5.7.39 # 设置mysql数据库的存放目录 datadirD:\\soft\\mysql-5.7.39\\data #设置3306端口 port3306 #主服务器…

乐趣国学—卧薪尝胆

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

C#企业办公自动化系统asp.net+sqlserver

办公自动化网站是多层次的技术、设备和系统的综合。一个完整的办公自动化网站应包括信息的生成与输入、信息的加工与处理、信息的存储与检索、信息的复制、信息的传输与交流以及信息安全管理等功能。本软件用于构建、整合、扩展和管理企事业机构的整体信息系统,实现…

linux驱动开发day6--(epoll实现IO多路复用、信号驱动IO、设备树以及节点和属性解析相关API使用)

一、IO多路复用--epoll实现 1.核心: 红黑树、一张表以及三个接口、 2.实现过程及API 1)创建epoll句柄/创建红黑树根节点 int epfdepoll_create(int size--无意义,>0即可)----------成功:返回根节点对应文件描述符&#xf…

Elastic Stack 8.10:更简单的跨集群搜索和身份验证等等

作者:Tyler Perkins, Gilad Gal, Shani Sagiv, George Kobar, Michael Peterson, Aris Papadopoulos Elastic Stack 8.10 增强了跨集群和向量搜索、数据摄取、Kibana 和云注册。 配置远程搜索时获得更大的灵活性,并提供更多信息来分类问题,…

传统生产者和消费者问题,Sychronized版和Lock版

1.生产者和消费者问题Synchronized版 面试:单例模式、排序算法、生产者消费者、死锁 package com.kuang.pc;/*** 线程之间的通信问题,生产者和消费者问题! 等待唤醒 ,通知唤醒* 线程交替执行 A B 操作同一个变量 num0* A num1;*…

【Vue】入门及生命周期(前后端分离)

目录 一、Vue简介 1、Vue.js是什么 2、库和框架的区别 2.1 库(Library) 2.2 框架(Framework) 3、MVVM的介绍 二、Vue入门 1、Vue快速入门 2、Vue的优势 三、Vue事件 四、Vue生命周期 1、实例 一、Vue简介 1、Vue.js是什么 Vue是一款流行的构建用户界面(UI)的[渐进式…

基于 Alpine 环境构建 aspnetcore6-runtime 的 Docker 镜像

关于 Alpine Linux 此处就不再过多讲述,请自行查看相关文档。 .NET 支持的体系结构 下表列出了当前支持的 .NET 体系结构以及支持它们的 Alpine 版本。 这些版本在 .NET 到达支持终止日期或 Alpine 的体系结构受支持之前仍受支持。请注意,Microsoft 仅正…

postman导入json脚本文件(Collection v1.0、Collection v2.0)

1. 以postman v8.5.1 版本为例 2. 在postman v5.0.2 低版本中导出json脚本文件, 请选择Collection v2.0 Export - Collection v2 3. 在postman v8.5.1 版本 导入 json脚本文件 Import - Collection v2 - Export - Import

InfiniBand vs 光纤通道,存储协议的选择

数字时代,数据量爆发增长,企业越来越迫切地追求高吞吐量、低延迟和更高性能的网络基础设施,存储协议的选择变得愈发至关重要。在众多存储协议中,InfiniBand和光纤通道备受关注。本文旨在深入探讨InfiniBand和光纤通道作为存储协议…

mysql 日志总结

mysql 根据日志的功能,分6种 慢查询日志:记录所有执行时间超过 long_query_time 的所有查询,方便我们对查询进行优化通用查询日志:记录所有连接的起始时间和终止时间,以及连接发送给数据库服务器的所有指令&#xff0…

【Spring面试】二、BeanFactory与IoC容器的加载

文章目录 Q1、BeanFactory的作用是什么?Q2、BeanDefinition的作用是什么?Q3、BeanFactory和ApplicationContext有什么区别?Q4、BeanFactory和FactoryBean有什么区别?Q5、说下Spring IoC容器的加载过程(※)Q…

【Bun1.0】使用 Bun.js 构建快速、可靠和安全的 JavaScript 应用程序

bun.js Bun 是一个现代的JavaScript运行环境,如Node, Deno。主要特性如下: 启动速度快。更高的性能。完整的工具(打包器、转码器、包管理)。 官网 https://bun.sh 优点 与传统的 Node.js 不同,Bun.js 提供了一些新的特性和功…

esp32编译问题

-Werroruninitialized 显然变量是初始化了,只是这s13觉等没初始化还居然报错了。 解决方法:add_compile_options(-Wno-uninitialized) 【cmake篇】选择编译器及设置编译参数_cmake选择编译器_仲夏夜之梦~的博客-CSDN博客https://blog.csdn.net/challen…

JavaScript-promise使用+状态

Promise 什么是PromisePromise对象就是异步操作的最终完成和失败的结果&#xff1b; Promise的基本使用&#xff1a; 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compati…

脚本:用python实现五子棋

文章目录 1. 语言2. 效果3. 脚本4. 解读5. FutureReference 1. 语言 Python 无环境配置、无库安装。 2. 效果 以第一回合为例 玩家X 玩家0 3. 脚本 class GomokuGame:def __init__(self, board_size15):self.board_size board_sizeself.board [[ for _ in range(board_…

数字IC设计之时序分析基础概念汇总

1 时钟Clock 理想的时钟模型是一个占空比为50%且周期固定的方波。时钟是FPGA中同步电路逻辑运行的一个基准。理想的时钟信号如下图: 2 时钟抖动Clock Jitter 理想的时钟信号是完美的方波&#xff0c;但是实际的方波是存在一些时钟抖动的。那么什么是时钟抖动呢?时钟抖动&#…