服务器数据恢复—OceanStor存储raid5热备盘同步数据失败的数据恢复案例

本文主要是介绍服务器数据恢复—OceanStor存储raid5热备盘同步数据失败的数据恢复案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器数据恢复环境:
华为OceanStor某型号存储,存储内有一组由24块硬盘组建的raid5阵列,配置1块热备盘。

服务器故障:
该存储raid5阵列中有一块硬盘离线,热备盘自动激活并开始同步数据,在热备盘同步数据的过程中,raid5阵列中另一块硬盘离线,上层应用崩溃,数据丢失。

服务器数据恢复过程:
1、将该存储中所有硬盘编号后取出,硬件工程师对所有硬盘进行硬件故障检测,经过检测发现raid5中只有1块硬盘存在硬件故障,其他硬盘可正常读取。将完好硬盘以只读方式进行全盘镜像,镜像完成后按照编号将所有磁盘还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
由于本案例所使用的raid控制器对磁盘检测策略比较严格,通常会将无物理故障但性能不稳定的硬盘识别为坏盘并踢出raid阵列。之前硬件工程师只检测到一块硬盘有物理故障,另外一块掉线盘应该是因为读写不稳定被踢出阵列掉线。
2.、基于镜像文件分析每块硬盘的底层数据,获取到条带大小、数据走向、盘序、热备盘、数据库的分布规律等raid相关信息。根据获取到的raid5相关信息虚拟重组raid5阵列。
3、在重组raid5阵列的过程中发现有一块硬盘在相同条带上的数据与其他硬盘的明显不同,该硬盘进行条带校验后确认该硬盘被同步破坏。
4、重组raid5阵列后,数据恢复工程师分析lun在raid5阵列中的分配情况及数据块map。将map提取出来后通过北亚企安自研数据恢复程序解析&恢复lun数据。
5、北亚企安数据恢复工程师编写文件系统解析程序对虚拟重组出来的raid5阵列中的文件系统进行解析,导出数据库文件后交由数据库工程师进行校验和修复。
6、数据库工程师对数据库文件进行验证后发现部分数据库文件和日志文件异常,表空间内存在大量坏块,所有控制文件被破坏,undotbs02丢失。数据库工程师对数据库文件进行修复。
数据库文件修复过程:


7、经过数据库工程师对数据库文件的修复和验证,终于成功恢复数据库数据。数据恢复工程师将修复好的数据库数据导入准备好的环境中进行验证,经过验证所有数据均正常。用户方工程师对数据进行验证也没有发现异常。本次服务器数据恢复工作完成。

这篇关于服务器数据恢复—OceanStor存储raid5热备盘同步数据失败的数据恢复案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/622707

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1