服务器数据恢复-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,一经查实,立即删除!

相关文章

力扣:204. 计数质数(Python3)

题目: 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 示例: 示例 1: 输…

【️如何理解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. 项目需求分析 在选择自动化测试工具之前,首…

0x25 广度优先搜索

0x25 广度优先搜索 在0x21节中,我们介绍了图的广度优先遍历,在0x22节中,我们又定义了深度优先搜索过程产生的“搜索树”结构。如果我们把问题状态空间类比成一张图,那么广度优先搜索就是相当于对这张图的广度优先遍历。类似地&am…

海康威视对讲广播系统 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 集群 一、安装前…

配置应用到k8s

配置应用到k8s,前置条件是安装了Docker,Minikube,kubectl 应用已经通过Docker生成本地镜像文件 1,创建godemo-deployment.yaml apiVersion: apps/v1kind: Deploymentmetadata:name: godemo-deploymentspec:replicas: 3 #启动三个…

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

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

认识数仓拉链表

数据仓库之拉链表 在数据仓库领域,拉链表是一种非常重要的数据结构,它能够对数据进行有效的组织和处理。本文将详细介绍拉链表的概念、应用、优缺点以及实现方法,帮助读者更好地理解和掌握数据仓库中的拉链表技术。 场景问题 在数据仓库的…

解决Edge浏览器问题的实用教程

学习目标: 掌握解决Edge浏览器常见问题的方法。提升对浏览器故障排除的能力。 学习内容: 常见Edge浏览器问题的识别和解决方法。例如页面加载慢、无法访问特定网站、崩溃或无响应等。更新Edge浏览器和操作系统,以确保拥有最新的安全补丁和功…

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

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

使用Vue customRef创建防抖 ref

customRef 用于创建一个自定义的ref&#xff0c;显式声明对其依赖追踪和更新触发的控制方式。 function customRef<T>(factory: CustomRefFactory<T>) : Ref<T>// customRef接受一个工厂函数作为参数&#xff0c;这个工厂函数接受track、trugger两个函数 //…

Tomcat介绍及使用:构建强大的Java Web应用服务器

引言&#xff1a; 在现代软件开发中&#xff0c;Web应用已经成为了不可或缺的一部分。而为了构建高效、稳定的Web应用服务器&#xff0c;选择合适的工具和技术至关重要。Tomcat作为一款开源的Java Web应用服务器&#xff0c;凭借其丰富的功能和灵活的配置&#xff0c;成为了开发…

C #define宏展开#与##

#include<stdio.h> //宏展开后解释成字符串&#xff1a;# #define fprint(expr) printf(#expr "%.1f\n",expr) #define strprint(expr) printf("%s\n",#expr) //宏展开后拼接变量&#xff1a;## #define strconcatprint(expr1,expr2) printf("%…

[C错题本]

1.int,short,long都是signed的 但是char可能是signed 也可能是unsigned的——《C Primer》 2.在16位的PC中 char类型占1个字节 int占2个字节 long int占4个字节 float占四个字节 double占八个字节 3.自增运算符和自减运算符即使是在判断条件中使用也会实际生效 int i 1; int…

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

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

群聊中如何开启位置实时共享

如果需要在群聊中也加入该功能可在 RCConfig.plist 文件中添加如下内容&#xff1a; &#xff08;**注意&#xff1a;**群聊最多支持5人同时位置共享。&#xff09; 实时位置共享功能技术文档链接&#xff1a;融云开发者文档 2 <key>RealTimeLocationShare</key> &…

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

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