服务器数据恢复—EVA存储raid5硬盘离线的数据恢复案例

2024-01-24 14:52

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

服务器数据恢复环境:
某品牌EVA某型号存储,底层是RAID5阵列,划分了若干lun。

服务器故障&分析:
该存储设备中raid5阵列有两块硬盘掉线,存储中的lun丢失。
将故障服务器存储中的所有磁盘编号后取出,硬件工程师检测后发现掉线硬盘不存在物理故障,也没有发现坏道,都可以正常读取数据。
掉线硬盘经过检测没有发现有物理故障,可以初步判断硬盘掉线是因为硬盘读写不稳定,本案例中EVA存储中所采用的raid控制器通常会将读写不稳定的硬盘判断为坏盘并踢出阵列。由于raid5的特性,掉线硬盘超过了2块后就会导致阵列崩溃。
EVA存储中每个LUN都有一份LUN_MAP,EVA存储将LUN_MAP分别存放在不同的磁盘中,通过一个索引来指定其位置。因此在每个磁盘中找这个指向LUN_MAP的索引就可以找到LUN的信息了。

服务器数据恢复过程:
1、将故障存储中所有磁盘以只读模式进行扇区级的全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析硬盘底层数据。由于LUN的RAID结构是RAID5,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原有的校验值进行比较就可以判断这个条目中是否有掉线盘。将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中有哪些RAID条目中有掉线盘,在RAID条目中都存在的盘一定就是掉线盘。剔除掉掉线盘后就可以根据LUN_MAP恢复所有LUN的数据。
3、北亚企安数据恢复工程师编写扫描程序扫描LUN_MAP,结合人工分析找到正确的LUN_MAP。
4、北亚企安数据恢复工程师编写RAID条目检测程序检测所有LUN中掉线的磁盘,结合人工分析排除掉线磁盘。
5、北亚企安数据恢复工程师编写数据恢复程序,结合LUN_MAP恢复所有LUN数据。人工核对每个LUN,确认是否和用户方描述的一致。
根据用户方工程师的描述,LUN的数据分为2部分:Vmware的虚拟机和HP-UX上的裸设备。裸设备里存放的是Oracle的dbf数据库。由于恢复的是LUN,无法看到里面的文件,因此需要人工核对哪些LUN是Vmware虚拟机,哪些LUN是HP-UX裸设备。核对完成后将不同的LUN挂载到不同的验证环境中验证恢复出来的数据是否完整。
6、验证数据完整性没有问题后,将所有存放vmware虚拟机的LUN中的虚拟机文件都提取出来,然后通过NFS共享的方式挂载到虚拟主机上。
7、通过NFS将所有虚拟机都添加到虚拟主机以后,将所有虚拟机加电开机,都能启动系统。用户方工程师进入到虚拟机内查看数据,经过验证确认虚拟机内的数据没有问题,确认恢复出来的数据完整有效。本次数据恢复工作完成。

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



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

相关文章

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red