服务器数据恢复—EMC存储RAID5磁盘阵列数据恢复案例

服务器数据恢复环境:
一台EMC某型号存储设备,该存储中有一组由12块(包括2块热备盘)STAT硬盘组建的raid5阵列。

服务器故障:
该存储在运行过程中突然崩溃,raid瘫痪。数据恢复工程师到达现场对故障存储设备进行初检,发现raid中有两块硬盘掉线但只有一块热备盘成功激活,所以导致阵列瘫痪,上层lun无法使用。

服务器数据恢复过程:
1、将故障存储中所有磁盘标记后取出。由硬件工程师检测后没有发现有磁盘存在物理故障,使用坏道检测工具检测也没有发现有磁盘存在坏道。将所有磁盘以只读方式进行扇区级全盘镜像,由于源磁盘的扇区大小是520字节,做完镜像后将520字节转换成512字节。
2、由于故障存储中所有硬盘经过检测没有发现存在物理故障和坏道,基本上可以推断硬盘掉线是磁盘读写性能不稳定造成的。EMC控制器的磁盘检测策略十分严格,读写性能不稳定的磁盘一般会被控制器判定为坏盘并踢出raid。当raid中掉线盘超过该raid级别的允许掉盘数量的极限,raid就会崩溃,基于raid的lun不可用。本案例中只有一个lun分配给sun小机,上层文件系统是ZFS。
3、EMC存储的LUN都是基于RAID。通过分析发现有2块盘完全没有数据,EMC存储的管理界面上显示这2块没有数据的盘都是热备盘,其中一块热备盘替换了一块离线盘。虽然这块热备盘成功激活,RAID中还有一块硬盘离线,所以数据没有同步到这块热备盘中。继续分析其他10块盘,分析数据在硬盘中的分布规律、RAID条带大小以及盘序等重组RAID所需要的信息。


4、由于RAID中有两块盘掉线,需要搞清楚这两块盘的掉线顺序。分析每一块盘中的数据,发现有一块硬盘在同一个条带上的数据和其他硬盘明显不一样,因此初步判断此硬盘可能是最先掉线的。通过北亚企安自主开发的RAID校验程序对这个条带做校验,最终确定这块硬盘就是最先掉线的。
5、根据上面步骤获取到的信息将RAID重组出来。EMC存储的LUN是基于RAID的。分析LUN在RAID中的分配信息,以及LUN分配的数据块MAP。根据上述信息,用北亚企安自主开发的程序解释LUN的数据MAP并导出LUN的所有数据。
6、用北亚企安自主开发的ZFS文件系统解释程序对生成的LUN做文件系统解释,但是在解释某些文件系统元文件的时候报错。开发工程师对程序做debug调试并分析程序报错原因,文件系统工程师分析ZFS文件系统是否因为版本原因而导致程序不支持。经过长达数小时的分析与调试,发现ZFS文件系统因存储瘫痪导致某些元文件损坏,从而导致文件系统解释报错。
7、北亚企安数据恢复工程师手工修复这些损坏的元文件,直到ZFS文件系统能够正常解析。
8、解析ZFS文件系统,解析所有文件节点及目录结构。用户方工程师对恢复出来的数据进行随机验证,经过仔细验证没有发现问题。

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

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

相关文章

肺结节分割与提取系统(基于传统图像处理方法)

Matlab肺结节分割(肺结节提取)源程序,GUI人机界面版本。使用传统图像分割方法,非深度学习方法。使用LIDC-IDRI数据集。 工作如下: 1、读取图像。读取原始dicom格式的CT图像,并显示,绘制灰度直方图; 2、图像…

欧科云链研究院深掘链上数据:洞察未来Web3的隐秘价值

目前链上数据正处于迈向下一个爆发的重要时刻。 随着Web3行业发展,公链数量呈现爆发式的增长,链上积聚的财富效应,特别是由行业热点话题引领的链上交互行为爆发式增长带来了巨量的链上数据,这些数据构筑了一个行为透明但与物理世…

extern “C“ 的作用、C++ 和 C 编译的不同、C++ 编译过程的五个主要阶段

在 C 中,如果需要从 C 语言导入函数或与 C 代码交互,需要使用 extern "C" 关键字。这是因为 C 和 C 在编译过程中的 符号命名机制(即 "名称修饰" 或 "name mangling")不同。 1. extern "C&qu…

MokeJs使用实例

文章目录 MokeJs使用实例介绍使用安装配置文件导入配置到main.js使用 axios 发送网络请求测试(如果不会axios,具体可以见上篇文章axios)启动示例 MokeJs使用实例 介绍 使用 安装 npm install mockjs --save-dev # 或者 yarn add mockj…

【超详细】基于YOLOv11的PCB缺陷检测

主要内容如下: 1、数据集介绍 2、下载PCB数据集 3、不同格式数据集预处理(Json/xml),制作YOLO格式训练集 4、模型训练及可视化 5、Onnxruntime推理 运行环境:Python3.8(要求>3.8)&#xff…

matlab不小心删除怎么撤回

预设项——>删除文件——>移动至临时文件夹 tem临时文件夹下

【RabbitMQ】初识 RabbitMQ

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. MQ 是什么?1.1 MQ 本质1.2 系统间通信 2. MQ的作用是什么?2.1 异步解耦2.2 流量削…

【ProtoBuf】ProtoBuf基础与安装

本篇文章介绍 C 使用方向 文章目录 ProtoBuf简介ProtoBuf安装WindowsLinux ProtoBuf简介 ProtoBuf(全称为 Protocol Buffer)是一种序列化结构数据的方法 序列化是将对象转换为可存储的或传输的格式的过程,通常用于数据交换或持久化存储。我们在C/Java中编写的类不…

2.13寸电子墨水屏HINK-E0213+esp8266

记录好数字 2.13寸电子墨水屏HINK-E0213esp8266 声明:大部分资料来源于微雪电子http://微雪电子-官网 https://www.waveshare.net/ 前言 很久以前买的一块电子墨水屏,运气很好,这个型号HINK-E0213资料很全,而且微雪官网也有相关电路资料http://2.13inch e-Paper HAT - Waves…

【GaussDB】产品简介

产品定位 GaussDB 200是一款具备分析及混合负载能力的分布式数据库,支持x86和Kunpeng硬件架构,支持行存储与列存储,提供PB(Petabyte)级数据分析能力、多模分析能力和实时处理能力,用于数据仓库、数据集市、实时分析、实时决策和混…

【UI】将 naive ui 的 message 封装进axios 中,关于naiveui的message相关的用法

文章目录 前言在setup外进行使用直接包裹使用vue 单文件中使用 参考文章: 关于naiveui的message相关的用法 前言 最近新建了一个vite vu3 的项目,完全是从0 到1 ,封装到request 的时候 想对axios 请求做一个全局的处理,但发现…

【尚硅谷】FreeRTOS学笔记(更新中更新时间2024.10.12)

在网上看到的一段很形象的描述,放在这里给大家娱乐一下。 裸机开发:n个人拉屎,先进去一个拉完,下一个再来。看门狗:如果有人拉完屎还占着,茅坑刷视频,把他拖出去中断系统:n个人拉屎&…

两三年没涨薪了

前几天到上海见合伙人,有好几位合伙人也都是中型或者是大厂的骨干,基本上是在P8这个级别,大家谈到了几个共同点。 几个典型的现象说一下,既是新闻,也是旧故事。天下的事都雷同。第一个,老板换了&#xff0c…

LVS-DR+Keepalived 高可用群集部署

LVS-DRKeepalived 高可用群集部署 Keepalived 的工作原理LVSKeepalived 高可用群集部署配置负载调度器(主、备相同)关闭防火墙和核心防护及准备IPVS模块配置keeplived(主、备DR 服务器上都要设置)启动 ipvsadm 服务调整 proc 响应…

机器学习中的模型设计与训练流程详解

目录 前言1. 模型设计1.1 数据特性分析1.2 计算资源限制1.3 应用场景需求 2. 模型训练2.1 训练集与验证集的划分2.2 损失函数的选择2.3 模型参数更新 3. 优化方法3.1 梯度下降法3.2 正则化方法 4. 模型测试4.1 性能评估指标4.2 模型的泛化能力 5. 模型选择5.1 数据规模与模型复…

集合框架06:Vector集合使用

1.视频链接:13.13 Vector使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw/?p13&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b52.代码示例: package com.yu…

Fetch 与 Axios:JavaScript HTTP 请求库的详细比较

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

初知C++:AVL树

文章目录 初知C:AVL树1.AVL树的概念2.AVL树的是实现2.1.AVL树的结构2.2.AVL树的插入2.3.旋转2.4.AVL树的查找2.5.AVL树平衡检测 初知C:AVL树 1.AVL树的概念 • AVL树是最先发明的自平衡⼆叉查找树,AVL是⼀颗空树,或者具备下列性…

python如何对变量赋值

Python 中的变量赋值不需要类型声明。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 等号()用来给变量赋值。 等号(&…

SpringBoot 整合 阿里云 OSS图片上传

一、OOS 简介 ‌阿里云OSS(Object Storage Service)是一种基于云存储的产品,适用于存储和管理各种类型的文件,包括图片、视频、文档等。‌ 阿里云OSS具有高可靠性、高可用性和低成本等优点,因此被广泛应用于各种场景&…