服务器数据恢复—infortrend存储中RAID6数据恢复案例

2024-09-03 19:04

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

服务器存储数据恢复环境:
一台infortrend存储中有一组由12块硬盘组建的RAID6阵列。RAID6阵列空间划分了一个LUN,映射到WINDOWS SERVER系统上。WINDOWS SERVER系统上划分了一个GPT分区。


    
服务器存储故障:
存储在运行过程中突然无法访问。管理员查看后发现raid6阵列中有3块盘离线。管理员通过非常规手段上线存储并开始rebuild,但通过主机访问时发现分区打不开,存储中所有数据均无法访问。咨询一些专业人士后基本上确认存储中的数据已经破坏。为避免情况进一步恶化,管理员中止rebuild,将存储关机后寻求当地一家数据恢复公司的帮助。经过该公司的全力恢复后,发现还是有大量数据丢失以及大量的文件无法打开。 
RAID6支持2块硬盘同时掉线,但当2块以上的磁盘下线后,RAID6阵列便无法正常工作了。RAID6阵列中离线的3块盘一般不会同时下线,而是每间隔一段时间就有一块盘离线。这种情况下,如果将较早掉线的盘上线,就会与在线的盘进行RAID6算法同步,导致数据混乱,无法正常读取。
本案例中的情况就是如此。所幸是本案例中rebuild时间较短,在这段时间内同步的数据量不是很大。本案例中所涉及存储中数据文件非常多,且作为素材库,文件系统前面部分的空间存放老旧数据的可能性非常大;另外因为文件数量很多,所以较新文件的目录及节点索引应该都位于磁盘后部,所以同步操作可能对存储中整体数据的影响不大,破坏程度有限。

服务器存储数据恢复过程:
1、将故障存储中所有磁盘编号后取出,由硬件工程师进行检测,经过检测没有发现有硬盘存在硬件故障。以只读方式对所有硬盘做扇区级完整镜像。镜像完成后将所有磁盘按照编号还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析存储中所使用的的RAID6算法。北亚企安数据恢复工程师按照分析出来的RAID6算法对12块硬盘做C(12,2)共66种可能的缺2盘的情况组合,找到正确的缺盘情况组合。
3、搭建虚拟RAID平台,按分析出的缺盘状态、盘序、块大小、校验方向、RAID6算法进行附加。
4、对RAID做GPT分区结构解释,然后进行文件系统解释,确定算法的正确性。如不正确,调整算法,直到找到正确结构。
5、将提取出来的数据迁移到用户准备好的环境中。

Tips:
故障发生后,应在关机状态下插拔硬盘,同时对硬盘原位置进行标注。在硬盘离开存储后,不要再对存储加电。确保所有操作尽可能可回溯。  
 

这篇关于服务器数据恢复—infortrend存储中RAID6数据恢复案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分