服务器数据恢复—如何应对双循环RAID5阵列的数据丢失问题?

本文主要是介绍服务器数据恢复—如何应对双循环RAID5阵列的数据丢失问题?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器存储数据恢复环境:
一台存储中有一组由7块硬盘组建的RAID5阵列,存储中还有另外3块盘是raid中掉线的硬盘(硬盘掉线了,管理员只是添加一块的新的硬盘做rebuild,并没有将掉线的硬盘拔掉)。整个RAID5阵列的存储空间划分了一个LUN。

服务器存储故障:
硬盘出现故障导致存储中阵列瘫痪。
和管理员沟通,据管理员说是磁盘阵列中某些硬盘出现故障导致存储不可用,初步判断RAID中有硬盘掉线了。

服务器存储数据恢复过程:
1、将所有硬盘编号后取出。硬件工程师检测所有硬盘是否存在硬件故障,检测后并没有发现有硬盘存在物理故障。应该是某些硬盘上出现逻辑坏道或者其他原因导致RAID崩溃。将所有硬盘以只读方式进行扇区级全盘镜像,镜像完成后按照编号将所有磁盘按照原样还原到故障存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有硬盘底层数据。打开镜像盘后发现每512字节多加了一个8字节的校验,也就是说每扇区变成520字节。于是北亚企安数据恢复工程师编写小程序将8字节的校验去掉,方便后期的数据恢复工作。
3、转换完成后开始分析RAID结构。由于多了3块以前的离线的旧盘,所以需要比较每块磁盘。其中会有两块磁盘前面的部分数据相同,这两块磁盘中会有一块磁盘是旧的,这样的磁盘会有3对。旧盘的数据量没有新盘多,需要排除旧盘。
4、由于操作系统层面采用的是NTFS文件系统,通过MFT就可以获取RAID结构。搞清楚RAID结构后发现这不是一个普通的RAID5,而是一个双循环RAID5。通过常用软件如winhax无法重组RAID。经过测试发现UFS可以重组这个RAID,重组RAID后发现数据不是最新的,北亚企安数据恢复工程师判断出现这种情况的原因是管理员没有及时发现RAID5阵列中第一块硬盘掉线的情况,没有及时添加新的硬盘做rebuild。一段时间后又有一块硬盘掉线了,导致整个RAID不可用。所以还需要找出一块旧的磁盘,才能生成最新的数据。
5、尝试每次踢掉阵列中一块硬盘,然后重组RAID,看最新的数据是否可用,直到重组RAID中最新数据可用时为止。然后导出数据验证。
6、经过数据恢复工程师验证没有发现问题后,交由用户方进行检测。经过用户方的仔细检测和核对,确认恢复数据完整有效,认可数据恢复结果。本次数据恢复工作完成。

这篇关于服务器数据恢复—如何应对双循环RAID5阵列的数据丢失问题?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf