服务器数据恢复—EMC存储raid5故障导致上层应用崩溃的数据恢复案例

服务器存储数据恢复环境:
EMC某型号存储,8块组建一组raid5磁盘阵列。上层操作系统采用zfs文件系统。

服务器存储故障&分析:
raid5阵列中有2块硬盘未知原因离线,raid5阵列崩溃,上层应用无法正常使用。

服务器数据恢复过程:
1、将故障服务器存储内的所有硬盘编号后取出,由硬件工程师检测所有磁盘是否存在硬件故障,经过检测没有发现有硬盘(包括两块掉线硬盘)存在物理故障。将所有磁盘以只读方式进行扇区级别的全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。


2、基于镜像文件分析底层数据,通过计算获取服务器raid5阵列的硬盘盘序、raid条带大小和其他raid阵列相关信息,利用获取到的raid相关信息重组raid5阵列。
3、由于该型号EMC存储中LUN是基于RAID的。raid5阵列重组出来后,北亚企安数据恢复工程师分析LUN在RAID阵列中的分配信息&LUN分配的数据块MAP。因为底层只有一个LUN,所以只需要分析一份LUN的信息即可。
4、根据分析出的LUN信息,使用北亚企安自主研发的程序解释LUN的数据MAP&导出LUN的所有数据。
5、对导出的lun进行文件系统解释,但是在文件系统解释过程中报错。分析报错内容并对文件系统解释程序进行调试,经过分析确认导致zfs文件系统解释过程中报错的原因是该存储中某些元文件损坏。北亚企安数据恢复工程师手动修复这些损坏的文件,直到可以完全正常解析zfs文件系统。
6、完成zfs文件系统的修复和解析后,验证恢复出来的数据没有发现问题。让用户方工程师对恢复出来的数据进行验证,经过反复验证,用户方工程师确认恢复数据完整有效。本次数据恢复工作完成。
 

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

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

相关文章

Arkts开发UIAbility组件生命周期启动模式开发详解【鸿蒙专栏-19】

文章目录 HarmonyOS UIAbility组件详解UIAbility组件概述声明配置UIAbility组件生命周期Create状态WindowStageCreate和WindowStageDestroy状态Foreground和Background状态Destroy状态UIAbility组件启动模式Singleton启动模式Standard启动模式Specified启动模式HarmonyOS UIAbi…

触底加载上拉刷新

上拉: import React, { useState } from react;function Shangla() {const [refreshing, setRefreshing] useState(false);const [startY, setStartY] useState(0);const [offsetY, setOffsetY] useState(0);const [scrollY, setScrollY] useState(0);const h…

Python实验项目8 :科学计算与可视化

1:创建 numpy 数组。 要求: (1)使用 array()函数、empty()函数、zeros()函数、linspace()函数等创建 numpy 数组。 (2)使用 numpy 数组的索引和切片方法访问数组元素。 # 要求: # &#xff0…

代码随想录算法训练营第三十八天| 509 斐波那契数 70 爬楼梯 746 使用最小花费爬楼梯

509 斐波那契数 class Solution {public int fib(int n) {int f[] new int[n 5];f[0] 0;f[1] 1;for(int i 2;i < n;i){f[i] f[i - 1] f[i - 2];}return f[n];} } 时间复杂度O(n&#xff09; 空间复杂度O(n) 70 爬楼梯 class Solution {public int climbStairs(i…

深度学习(三):pytorch搭建卷积神经网络

1.常用函数介绍 0 设备准备 device torch.device("cuda:0" if torch.cuda.is_available() else "cpu")这行代码是用来选择设备的&#xff0c;根据是否有可用的 CUDA 设备来选择使用 GPU 还是 CPU 进行计算。 更详细的解释如下&#xff1a; torch.cuda.…

微信小程序中block和View组件的使用区别

block和View组件都是用于布局的组件: 1. Block组件&#xff1a; Block组件是一个无实际显示效果的组件&#xff0c;它主要用于包裹一组组件&#xff0c;并提供了类似于div的作用。使用Block组件可以将一组组件进行分组&#xff0c;便于样式的管理和控制。Block组件不会在页面…

socket.io介绍

1. 使用的技术 Socket.IO 是一个封装了 Websocket、基于 Node 的 JavaScript 框架&#xff0c;包含 client 的 JavaScript 和 server 的 Node。其屏蔽了所有底层细节&#xff0c;让顶层调用非常简单。 另外&#xff0c;Socket.IO 还有一个非常重要的好处。其不仅支持 WebSocket…

Spring三级缓存处理循环依赖的过程

Spring三级缓存 Spring三级缓存是什么&#xff1f; 一级缓存&#xff1a;单例池。存放的是完整的Bean对象。经过完整的生命周期。二级缓存&#xff1a;存放需要提前暴露的Bean对象。也就不完整的Bean对象。需要提前暴露就是指&#xff0c;可能会被循环依赖。(这里可能需要用代…

mysql的存储过程与函数和一些操作

存储过程与函数 MySQL 中的存储过程和存储函数是一种在数据库服务器上存储复杂逻辑的方式&#xff0c;允许您封装和重用 SQL 代码。它们在管理复杂的数据库操作和提高性能方面非常有用。以下是对它们的详细介绍&#xff1a; 存储过程&#xff08;Stored Procedures&#xff0…

【迅搜05】索引配置(二)字段定义与设计

索引配置&#xff08;二&#xff09;字段定义与设计 经过上篇文章的学习&#xff0c;我们已经了解到了 XS 中的默认索引配置是在哪里&#xff0c;也了解到了配置文件如何加载以及服务端的一些简单配置。今天&#xff0c;我们要学习的重点就是剩下的内容&#xff0c;也是非常重要…

blade 项目

开发文档地址&#xff1a;Bladex微服务框架文档 (magicgeng.top) 项目官网&#xff1a; BladeX 快速开发平台,官方网站,基于SpringBoot,SpringCloud的微服务快速开发平台 技术社区&#xff1a;Blade技术社区-程序猿的技术进阶之路 (bladex.cn) 数据大屏&#xff1a;BladeX 数…

jupyter notebook 添加环境与删除环境

添加环境 一、查看conda现有的环境 打开 Anaconda Powershell Prompt 输入以下代码&#xff0c;查看全部环境&#xff1a;conda env list 可以看到如下已经配置的环境变量&#xff1a; 二、激活现有环境 在 Anaconda Powershell Prompt 继续输入&#xff0c;激活环境&#…

Python之Appium 2自动化测试(Android篇)

一、环境搭建及准备工作 1、Appium 2 环境搭建 请参考另一篇文章: Windows系统搭建Appium 2 和 Appium Inspector 环境 2、安装 Appium-Python-Client&#xff0c;版本要求3.0及以上 pip install Appium-Python-ClientVersion: 3.1.03、手机连接电脑&#xff0c;并在dos窗口…

修改git仓库地址

要修改Git仓库的远程地址&#xff0c;你可以使用以下命令&#xff1a; 查看当前的远程地址&#xff1a; git remote -v修改远程地址&#xff1a; git remote set-url origin <新的远程地址>在这个命令中&#xff0c;你需要将 <新的远程地址> 替换为你想要设置的新的…

13-Vue基础之自定义指令与插槽的使用

个人名片&#xff1a; &#x1f60a;作者简介&#xff1a;一名大二在校生 &#x1f921; 个人主页&#xff1a;坠入暮云间x &#x1f43c;座右铭&#xff1a;懒惰受到的惩罚不仅仅是自己的失败&#xff0c;还有别人的成功。 &#x1f385;**学习目标: 坚持每一次的学习打卡 文章…

[c++]——string类____详细初步了解string类的运用

在成为大人的路上喘口气. 目录 &#x1f393;标准库类型string &#x1f393;定义和初始化string对象 &#x1f4bb;string类对象的常见构造 &#x1f4bb;string类对象的不常见构造 &#x1f4bb;读写string对象 &#x1f393; string类对象的修改操作 &#x1f4…

openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态

文章目录 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态135.1 检查办法135.2 操作步骤135.3 异常处理 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态 135.1 检查办法 通过openGauss提供的gs_check工具可以开展o…

.net 面试题7

1.请解释一下C#中的异常处理&#xff08;Exception Handling&#xff09;。 异常处理是一种用于处理程序运行过程中发生的异常情况的机制。C#中的异常处理主要是通过使用try-catch-finally语句块来实现。try块用于包含可能引发异常的代码&#xff0c;catch块用于处理已捕获的异…

亚马逊云科技本地系统迁移上云(自定义系统上云)

本地使用VMWare安装系统&#xff0c;例如CentOS7.X、龙蜥8.X等 云端使用AWS MGN服务进行迁移操作 作者&#xff1a;指剑 日期&#xff1a;2023-11-30 业务实现过程 1.本地系统安装(重点) 对安装系统需要额外注意磁盘分区 安装系统&#xff0c;在磁盘分区需要注意&#xff0c;…

List系列集合

List系列集合特点&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 ArrayList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 LinkedList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 &#xff08;底层实现不同&#xff01;适合的场景不同&#xff01;…