【服务器数据恢复】昆腾存储中raid5磁盘阵列数据恢复案例

服务器数据恢复环境&故障:
10个磁盘柜,每个磁盘柜配24块硬盘。9个磁盘柜用于存储数据,1个磁盘柜用于存储元数据。
元数据存储中24块硬盘,组建了9组RAID1阵列+1组RAID10阵列,4个全局热备硬盘。
数据存储中,组建了36组6硬RAID5,36组RAID5阵列划分为2个存储系统。其中1个存储系统中的一组RAID5中有2块硬盘先后出现故障离线,RAID5阵列不可用,存储系统崩溃。
存储及文件系统架构:

注:Meta_LUN(元数据卷)    Data_LUN(用户数据卷)

服务器数据恢复过程:
1、将故障RAID5中的6块盘编号标记后从磁盘柜中取出。经过硬件工程师检测,所有磁盘都可以正常读取。以只读方式对6块硬盘进行扇区级全盘镜像。对磁盘柜中没有出现故障的RAID阵列进行存储层面的备份。
备份示意图:

在镜像过程中发现故障RAID5阵列中的1块故障离线硬盘存在大量的坏道区域,无法继续备份。在用户方的授权下,将故障盘进行开盘更换固件并使用专业工具进行修复,修复完成后该硬盘可以继续备份,但坏道仍然存在。
部分镜像文件:

2、基于镜像文件对故障RAID5阵列所有磁盘中的底层数据进行分析,获取到重组RAID需要的相关信息,利用获取到的RAID信息虚拟重组RAID阵列,并将该RAID阵列中的LUN恢复成镜像文件。在分析过程中发现,存在大量坏道的硬盘为后离线的硬盘。
3、登陆昆腾存储的管理界面,读取StorNext文件系统中与卷相关的信息。

4、分析StorNext文件系统中的Meta卷和Data卷。每一个完整的Data卷都是由多组RAID中的LUN组成的,通过分析这些LUN获取到LUN之间组合的算法规律,虚拟重组出完整的Data卷。

5、分析Meta卷,分析Meta卷中的节点信息、目录项信息、Meta卷和Data卷之间的对应关系。针对一个Meta卷管理多个Data卷的情况,研究Meta卷到Data卷的索引算法。
文件节点:

目录块:

6、通过分析研究获取到了恢复数据所需要的全部信息,北亚企安数据恢复工程师编写程序扫描Meta卷中的节点信息和目录项信息,同时通过对目录项和节点解析获取到完整的文件系统目录结构。解析每一个节点中的指针信息,将这些信息记录在数据库中。
文件信息:

7、北亚企安数据恢复工程师编写文件提取程序读取数据库,根据解析出来的信息以及两个Data卷之间的聚合算法提取数据。
8、对提取出来的数据进行随机抽样检测,没有发现问题。将全部文件提取到本地,由用户方进行检测。经过仔细检测后,用户方认可数据恢复结果。本次数据恢复工作完成。

】StorNext文件系统数据恢复案例

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

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

相关文章

Java基于springboot的个人理财系统

基于springboot的个人理财系统 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了个人理财系统的开发全过程。通过分析个人理财系统管理的不足,创建了一个计算机管理个人理财系统的方案。文章介绍了个…

多人音视频实时通讯架构

直播中的协议与格式 在直播系统中,协议和格式的选择对于传输效率、画面质量和用户体验都至关重要。以下是直播中常见的协议与格式: 协议 RTSP (Real Time Streaming Protocol) RTSP是一个网络流媒体协议,常用于视频监控和IPTV等场景。它本身…

考研机试C++题目精选

更多内容会在godownio.github.io更新 算法练习(C代码) 考研上机或C语言代码笔试准备,暨大机试原题letcode牛客中南大等高校机试 快速幂算法 题目:输入一个整数 n ,求 n^n 的个位数是多少。 快速幂算法:…

面经分享|面了好未来NLP算法岗(实习),经历坎坷但值了!

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 今天我分…

【复试2.293.1】c语言——基础杂项

1.define定义常量类似全局变量,引用是直接拼到代码中去。 2.关于e 3.参数传递 形参直接接收的是数组的起始地址 4.数组越界乱码问题 5.scanf读字符串的时候会自动在末尾放0(结束符 6.scanf是读取输入缓冲区的数据,是一种拿走操作。读取若有…

文本多分类

还在用BERT做文本分类?分享一套基于预训练模型ERNIR3.0的文本多分类全流程实例【文本分类】_ernir 文本分类-CSDN博客 /usr/bin/python3 -m pip install --upgrade pip python3-c"import platform;print(platform.architecture()[0]);print(platform.machine…

C语言实现航班管理

航班管理系统&#xff0c;用C语言实现&#xff0c;可以作为课程设计&#xff0c;代码如下&#xff1a; #include<iostream> #include<fstream> #include<vector> #include<string> #include<stdlib.h> using namespace std; //信息基类 clas…

Linux第67步_linux字符设备驱动_注册和注销

1、字符设备注册与注销的函数原型” /*字符设备注册的函数原型*/ static inline int register_chrdev(unsigned int major,\ const char *name, \ const struct file_operations *fops) /* major:主设备号&#xff0c;Limnux下每个设备都有一个设备号&#xff0c;设备号分…

【六袆 - React】Next.js:React 开发框架;Next.js开发框架的特点

Next.js&#xff1a;React 开发框架 Next.js的特点 1.直观的、基于页面的路由系统&#xff08;并支持动态路由&#xff09; Next.js 提供了基于文件系统的路由&#xff0c;意味着你可以通过创建页面文件来定义路由。 伪代码示例&#xff1a; // pages/index.js export defa…

【GStreamer】basic-tutorial-2:创建、链接GstElement,修改其属性、状态

【目录】郭老二博文之:图像视频汇总 1、示例注释 #include <gst/gst.h>int main (int argc, char *argv[]) {GstElement *pipeline,

MYSQL--JDBC优化

一.JDBC优化: 优化前提: 有时候我们并不清楚某些表当中一共有多少列,以及这些列的数据类型,这个时候我们就需要提前通过一些方法提前了解到这些数据,从而更好的进行输出 具体语句: package cn.jdbc;import java.sql.*;public class JDBCDEmo1 {public static void main(String…

C语言中的动态内存管理技巧:实现灵活的内存分配和释放

概念 在C语言中&#xff0c;动态内存管理是实现灵活内存分配和释放的关键。合理地管理动态内存可以提高程序的效率和扩展性。本文将介绍C语言中常用的动态内存管理方法和技巧&#xff0c;帮助读者优化内存分配和释放的过程。 常用的动态内存管理方法 内存分配&#xff1a;C语…

【数学建模获奖经验】2023第八届数维杯数学建模:华中科技大学本科组创新奖获奖分享

2024年第九届数维杯大学生数学建模挑战赛将于&#xff1a;2024年5月10日08:00-5月13日09:00举行&#xff0c;近期同学们都开始陆续进入了备赛阶段&#xff0c;今天我们就一起来看看上一届优秀的创新奖选手都有什么获奖感言吧~希望能帮到更多热爱数学建模的同学。据说点赞的大佬…

elment-ui table表格排序后 清除排序箭头/恢复默认排序 的高亮样式

问题描述&#xff1a; 1.默认排序是按照名称升序排列&#xff08;图一&#xff09; 2.在选择了筛选项以及其他排序方式之后&#xff0c;箭头高亮是这样的&#xff08;图二&#xff09; 3.当我点击清空按钮后&#xff0c;类型清空了&#xff0c;并且传给后端的排序方式是名称/升…

探索色彩搭配的奥秘:如何选择适合产品的理想配色方案

title: 探索色彩搭配的奥秘&#xff1a;如何选择适合产品的理想配色方案 date: 2024/3/1 20:47:45 updated: 2024/3/1 20:47:45 tags: 色彩搭配品牌形象用户体验情感连接信息传达视觉层次色调选择 引言 友善的色彩搭配和色调选择是现代产品设计中不可忽视的关键因素。通过正确…

Linux yum安装pgsql出现Bad GPG signature错误

官方文档&#xff1a;https://www.postgresql.org/download/linux/redhat/ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo yum install -y postgresql12-server sudo /usr/pgsql-12/bin/…

Rust使用calamine读取excel文件,Rust使用rust_xlsxwriter写入excel文件

Rust使用calamine读取已存在的test.xlsx文件全部数据&#xff0c;还读取指定单元格数据&#xff1b;Rust使用rust_xlsxwriter创建新的output.xlsx文件&#xff0c;并写入数据到指定单元格&#xff0c;然后再保存工作簿。 Cargo.toml main.rs /*rust读取excel文件*/ use cala…

Pytest-parametrize实现测试用例与测试数据分离

Pytest自动化框架&#xff0c;实现自动化测试用例与测试数据分离方法&#xff1a; 1.测试用例数据准备&#xff0c;使用yaml文件编辑&#xff0c;如下述teladress.yaml 2.通过pytest框架装饰器pytest.mark.parametrize实现测试数据传参 示例&#xff1a; 测试用例文件&…

Tomcat 架构

一、Http工作原理 HTTP协议是浏览器与服务器之间的数据传送协议。作为应用层协议&#xff0c;HTTP是基于TCP/IP协议来传递数据的&#xff08;HTML文件、图片、查询结果等&#xff09;&#xff0c;HTTP协议不涉及数据包&#xff08;Packet&#xff09;传输&#xff0c;主要规定了…

c语言之字符串的输入和输出

c语言在输出字符串时&#xff0c;用格式符‘%s"&#xff0c;代码比较简洁 如果说数组长度大于字符串长度&#xff0c;也只输出\0前的内容 字符串默认后面有\0. 如果字符串有多个\0&#xff0c;会默认在第一个\0结束 #include<stdio.h> int main() {int i;char a…