服务器数据恢复—LeftHand存储中raid5阵列多块磁盘离线的数据恢复案例

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

LeftHand存储支持RAID5、RAID6、RAID10磁盘阵列,同时还支持卷快照,卷动态扩容等。下面简单聊一下LeftHand存储的结构和一个LeftHand p4500存储中磁盘阵列数据恢复案例。
服务端:

客户端:

LeftHand存储结构:
Lefthand存储有物理磁盘、逻辑磁盘、逻辑卷三个级别,多个物理磁盘组成一个逻辑磁盘,也就是RAID磁盘阵列。在RAID之上,将不同RAID组成一个大空间,将大空间中不同的区域组成一个卷。

Lefthand存储中的卷是由不同RAID中的多个不连续的片段组成,存放用户的数据,记录这些片段的MAP存放在RAID前面的一部分空间。RAID是Lefthand存储能识别的最小单元,大多数情况下LeftHand存储采用的是RAID5阵列或RAID6阵列。Lefthand存储中记录的数据是不连续的。如果是采用的是RAID5阵列或RAID6阵列,那么物理磁盘中还包括校验数据。

LeftHand P4500存储数据恢复案例
一台LeftHand P4500存储因raid故障导致存储不可用,为raid更换磁盘强制上线后,存储仍然不可用。
该存储中的磁盘阵列:

1、将故障存储中所有磁盘编号后取出,由硬件工程师对所有硬盘进行检测,没有发现有硬盘存在硬件故障。将所有磁盘以只读方式进行扇区级全盘镜像,镜像完成后将所有磁盘按照编号还原到故障存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有硬盘底层数据。经过分析发现RAID是一个双循环RAID5阵列,第一组RAID正常,第二组RAID中多块磁盘掉线。
3、北亚企安数据恢复工程师使用穷举+校验的方法分析出最早掉线的磁盘并踢出,然后根据分析底层数据获取到的raid结构信息重组raid。
*穷举法:假设其中某一块磁盘是最早掉线的,踢掉此盘,重组RAID然后生成全部数据。将数据挂载到P4500上,看数据是否正确。如果数据不正确,再假设另一块盘是掉线的,以此循环。虽然这种方案可行,由于每次重组RAID生成数据的数据时间太长,并且准确性较低。
*穷举+校验:和穷举法一样,假设某个磁盘是最早掉线的,踢掉磁盘后重组RAID,但不是生成全部的数据,而是只生成前面几个G的数据。因为P4500存放的数据的索引表位图位于RAID的前几个G的数据中,只需要查看这个索引表位图的信息是否正确就可以判断此RAID是否正确。如果正确则生成此RAID的数据即可。
4、将生成的数据和第一组完好的RAID一同挂载到P4500上,启动存储,上层卷可用,检查最新文件正常。
5、交由用户方检测,经过用户方仔细检测,确认恢复出来的数据完整可用,认可数据恢复结果。

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



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

相关文章

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage