服务器数据恢复-EMC存储raid5磁盘物理故障离线的数据恢复案例

本文主要是介绍服务器数据恢复-EMC存储raid5磁盘物理故障离线的数据恢复案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器数据恢复环境&故障:
一台emc某型号存储服务器,存储服务器上组建了一组raid5磁盘阵列,阵列中有两块磁盘作为热备盘使用。存储服务器在运行过程中有两块磁盘出现故障离线,但是只有一块热备盘激活,最终导致该raid5阵列崩溃,上层应用无法正常使用。

服务器故障检测:
将故障存储服务器中所有磁盘编号后取出,由硬件工程师对两块掉线的硬盘进行物理故障检测,经过检测发现这2块离线的磁盘确实存在物理故障,需要对这2块盘进行物理故障修复后才能进行下一步的数据恢复,存储服务器中其他硬盘经过检测没有发现存在物理故障及坏道。
将故障存储服务器中的完好硬盘以只读方式进行扇区级的全盘镜像。针对存在物理故障的2块磁盘,由硬件工程师进行开盘处理后使用专业工具进行全盘镜像。由于故障存储服务器中所有磁盘的扇区大小为520字节,在进行数据恢复之前需要将所有镜像数据做520字节to512字节的转换。

服务器数据恢复过程:
1、基于镜像文件分析所有磁盘底层数据,经过分析发现故障存储服务器中的两块热备盘是空的,没有写入任何数据,据此推断有一块热备盘虽然上线,但此时raid阵列仍处于缺盘状态,数据并没有开始同步。
2、通过分析底层数据获取到条带大小、磁盘顺序等raid阵列结构基础信息,利用这些信息虚拟重组raid5阵列。
3、由于该型号存储服务器的LUN是基于RAID5阵列的,在raid5阵列重组完成之后,需要分析LUN在RAID阵列中的分配信息以及LUN分配的数据块MAP。
4、根据上一步获取到的信息,使用北亚企安自研程序解释LUN的数据MAP并导出LUN的所有数据。
5、使用北亚企安自研的ZFS文件系统解释程序对生成的LUN做文件系统解释,但是在解释某些文件系统元文件的时候程序报错。开发工程师对该解释程序做debug调试并分析程序报错原因,与此同时,文件系统工程师分析ZFS文件系统是否存在问题。经过数小时的分析与调试,最终确认导致程序无法正常解释ZFS文件系统的原因:ZFS文件系统中某些元文件损坏。对损坏的元文件进行分析,发现ZFS文件系统正在进行I/O操作的时候存储服务器瘫痪,导致部分文件系统元文件损坏。
6、北亚企安数据恢复工程师对损坏的ZFS文件系统元文件进行手工修复,直到ZFS文件系统能够正常解析。
7、对修复后的ZFS文件系统进行解析并验证数据。经过用户方工程师的仔细验证,确认存储服务器内所有数据成功恢复。本次存储服务器数据恢复工作完成。

这篇关于服务器数据恢复-EMC存储raid5磁盘物理故障离线的数据恢复案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时