服务器数据恢复-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文件系统进行解析并验证数据。经过用户方工程师的仔细验证,确认存储服务器内所有数据成功恢复。本次存储服务器数据恢复工作完成。

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

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

相关文章

【️如何理解Java中的多态】

✅如何理解Java中的多态? ✅理解Java中的多态 ✅ 扩展知识仓✅方法的重载✅方法的重写✅重载和重写的区别区分 ✅理解Java中的多态 多态的概念比较简单,就是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 如果…

Java 中的内部类的定义

目录 一、成员内部类 二、静态内部类 三、局部内部类 四、匿名内部类 一、成员内部类 public class InnerClass {String name;private Integer age;static String hobby;/*** 成员内部类* 1、成员内部类中只能定义非静态属性和方法* 2、成员内部类中可以访问外部类的成员&a…

vue3表格导入导出.xlsx

在这次使用时恰好整出来了,希望大家也能学习到,特此分享出来 使用前确保安装以下模块,最好全局配置element-plus ### 展示一下 ### ###导出选项 ### ###导入de数据 ### 安装的模块 npm install js-table2excel // 安装js-table2excel n…

自动化测试工具选择指南

随着软件开发周期的不断缩短和需求的增加,自动化测试变得愈发重要。然而,选择适合项目的自动化测试工具并非易事。以下是一些指导原则,帮助你在众多自动化测试工具中做出明智的选择。 1. 项目需求分析 在选择自动化测试工具之前,首…

海康威视对讲广播系统 RCE漏洞复现(CVE-2023-6895)

0x01 产品简介 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 0x02 漏洞概述 Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版本存在操作系统命令注入漏洞,该漏洞源于文件/php/ping.php的参数jsonda…

阿里云k8s集群搭建

文章目录 一、安装前准备1.环境2.k8s集群规划 二、k8s 安装1. centos基础设置2. docker 安装3. k8s安装3.1 添加阿里云 yum 源3.2 安装 kubeadm、kubelet、kubectl3.3 部署 Kubernetes Master3.4 加入 Kubernetes Node3.5 部署 CNI 网络插件3.6 测试 kubernetes 集群 一、安装前…

Python | Flask测试:发送post请求的接口测试

HTTP/1.1 协议规定的 HTTP 请求方法有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 几种。POST通常用来向服务端提交数据,主要用于提交表单、上传文件。 HTTP 协议是以ASCII码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为…

浅析:智能化视频安全监管系统的设计与实现步骤

关于智能化视频监管方案,小编已经和大家分享了很多,今天就和大家来探讨一下关于智能化视频安全监管系统的设计与实现步骤。 首先需要分析需求。要与使用者和业务部门合作,明确系统的功能和需求,例如,确定监控区域、安…

MyBatis——MyBatis的原始Dao开发(了解)

MyBatis的原始Dao开发-了解 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方式和Mapper接口代理开发方式。而现在主流的开发方式是接口代理开发方式,这种方式总体上更加简便。在之前的文章已经给大家介绍了基于代理方式的dao开发&#x…

在scrapy 使用selenium模拟登录获取cookie

前言 最近有一点点爬虫需求,想总结一下scrapy框架的一些基本使用方法,加深印象,自己一直习惯使用一些脚本文件运行爬虫,面对数据量非常大,稳定性要求比较高的,效率需求比较高的情况下还是用scrapy较为合适…

Azure Machine Learning - 提示工程高级技术

本指南将指导你提示设计和提示工程方面的一些高级技术。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师&#xff0c…

Python MySQL数据库连接实现增删改查

一、应用场景 python项目连接MySQL数据库时,需要第三方库的支持。这篇文章使用的是PyMySQL库,适用于python3.x。 二、安装 pip install PyMySQL三、使用方法 1.导入模块 import pymysql2.连接数据库 db pymysql.connect(hostlocalhost,usercode_s…

【Linux 驱动】Linux设备树(四)—— 设备树驱动LED

有了设备树以后,我们可以将寄存器信息保存到设备树,即便是更换了一个设备,我们也无需修改驱动文件,只需要修改设备树文件并重新编译。 下面介绍两种通过设备树驱动 LED 的最简单的方式,这两种方式的主要是设备树中 re…

什么是触控芯片?触控芯片有哪些?

一、什么是触控芯片? 触控芯片是一种用于感知人机交互行为的电子元器件,通过感应人体肌肉、电容电场和压力等多种信号,实现触摸屏幕、手势操作、手写输入等功能。二、触控芯片的工作原理 触控芯片的工作原理基于电容原理,当人体肌…

一文读懂PMP项目管理

PMP项目管理是什么 PMP(Project Management Professional)指项目管理专业人员资格认证,由美国项目管理协会(Project Management Institute,简称PMI)发起,目前已在全球206个国家和地区进行认证&…

小黑南京归来,参加部里的公务员培训,有点儿社死认识了好多小伙伴的leetcode之旅13. 罗马数字转整数

小黑代码 class Solution:def romanToInt(self, s: str) -> int:chars [M, CM, D, CD, C, XC, L, XL, X, IX, V, IV,I]nums [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]map_ dict((k, v) for k,v in zip(chars, nums))# 字符串长度n len(s)# 结果变量res …

Java集合转int数组

集合通过toArray()方法进行转换为数组&#xff0c;可以转换成为指定类型的数组&#xff0c; 【但是】这些类型都必须是object类型的子类&#xff0c;基本类型不可以。 可以通过stream流处理&#xff1a; Set<Integer> set new HashSet<>(); int[] result interSet…

Swagger2解放双手的API开发文档生成

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《MyBatis-Plus》。&#x1f3af;&#x1f3af; &am…

NFS原理详解

一、NFS介绍 1&#xff09;什么是NFS 它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。 NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。 在本地的NFS客户端的机器看来&#xff0c;NFS服务器端共享的目录就好像自己的磁…

Tomcat为什么要重写类加载器?

文章目录 一、双亲委派机制二、分析1、Tomcat需要隔离性2、Tomcat需要热替换3、打破双亲委派机制 三、Tomcat类加载器1、拓展类加载器2、工作原理 四、总结 一、双亲委派机制 首先了解下双亲委派机制&#xff0c;大致过程如下&#xff1a; 简单来说&#xff0c;就是加载class…