服务器数据恢复-昆腾存储StorNext文件系统下raid5数据恢复案例

服务器数据恢复环境:
昆腾某型号存储,StorNext文件存储系统。
共有9个分别配置了24块磁盘的磁盘柜,其中8个磁盘柜存放普通数据,1个磁盘柜存放元数据。
存放元数据的磁盘柜中的24块磁盘组建了8组RAID1阵列和1组4盘RAID10阵列,还有4个全局热备硬盘。
存放普通数据的磁盘柜中的192块磁盘共组建了32组6盘RAID5阵列,32组RAID5阵列分为2个存储系统。

服务器故障:
存放普通数据的其中一个存储系统中的一组RAID5阵列有2块硬盘先后出现故障离线,该RAID5阵列不可用,从而导致该阵列所在的存储系统崩溃,无法使用。
昆腾存储及StorNext文件系统架构:

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

服务器数据恢复过程:
1、将磁盘柜中出现故障的raid5阵列中的所有磁盘编号后取出,由硬件工程师进行检测,除了发现其中一块离线硬盘存在大量的坏道,没有发现其他磁盘存在明显的硬件故障。将完好的硬盘以只读方式进行扇区级的全盘镜像,镜像完成后将所有磁盘按照编号还原到原磁盘柜中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
针对存在大量的坏道的磁盘,由硬件工程师开盘更换固件,更换固件能正常读取后使用专业工具进行修复,虽然坏道仍然存在,但是可以备份。
部分镜像文件:

2、基于镜像文件对故障RAID5阵列底层数据进行分析,获取到该RAID5相关信息,利用获取到的信息虚拟重组RAID5阵列,重组完成后将RAID5阵列中的LUN恢复成镜像文件。在分析过程中,发现损坏较严重的硬盘为后离线的硬盘,就是此硬盘存在大量坏道。
3、登录昆腾存储设备的管理界面,获取到StorNext文件系统中和卷相关的一些基本信息。

4、分析StorNext文件系统中的Meta卷和Data卷,经过分析发现该StorNext文件系统包含2个Data卷,每一个完整的Data卷是由多组RAID阵列中的LUN组成的,通过分析这些LUN,北亚企安数据恢复工程师研究出LUN之间组合的算法规律,然后虚拟重组出完整的Data卷。

5、分析Meta卷中的节点信息、目录项信息、Meta卷和Data卷之间的对应关系,针对一个Meta卷管理多个Data卷的情况,北亚企安数据恢复工程师研究出Meta卷到Data卷的索引算法。
文件节点:

目录块:

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

7、北亚企安数据恢复工程师编写文件提取程序读取数据库,根据解析出的信息以及两个Data卷之间的聚合算法提取数据。
8、随机抽样检测提取出来的数据,没有发现任何问题。由用户方工程师对恢复出来的数据进行验证,验证完成后用户方认可恢复结果。
9、将恢复出来的数据迁移到用户方准备好的环境中,再次验证没有问题。本次数据恢复工作完成。

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

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

相关文章

CTF学习笔记

笔记下载:https://download.csdn.net/download/qq_48257021/88650265 1.网卡连接模式 1.1桥接模式:(自由) 将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网…

final前置关键字(和常量)

final 什么是final注意 常量使用常量记录系统配置信息的优势、执行原理 什么是final final关键字是最终的意思,可以修饰(类、方法、变量)修饰类:该类被称为最终类,不可以再被继承;修饰方法:该方…

Leetcode—43.字符串相乘【中等】

2023每日刷题(六十八) Leetcode—43.字符串相乘 算法思想 实现代码 class Solution { public:string multiply(string num1, string num2) {int len1 num1.size(), len2 num2.size();string ans;int end1 len1 - 1, end2 len2 - 1;int arr[len1 l…

使用PE信息查看工具和Dependency Walker工具排查因为库版本不对导致程序启动报错问题

目录 1、问题说明 2、问题分析思路 3、问题分析过程 3.1、使用Dependency Walker打开软件主程序,查看库与库的依赖关系,查看出问题的库 3.2、使用PE工具查看dll库的时间戳 3.3、解决办法 4、最后 VC常用功能开发汇总(专栏文章列表&…

webSocket原理及其案例

常见的消息推送方式 1:轮询方式 浏览器以指定的时间间隔向服务器发出HTTP请求,服务器实现试试返回数据给浏览器 缺点:数据有延时、服务器压力较大。 2:长轮询 浏览器发出ajax(异步)请求,服…

【LeetCode刷题笔记】前缀树

208. 实现 Trie (前缀树) 解题思路: 1. 前缀树 Map实现 ,使用一个 Map<Character, Trie> 来存储 每个字符 对应的 若干子节点 ,在构造函数中初始化 根节点 root 为 当前对象实例 , 在 插入

技术分享 | 接口测试请求超时怎么办?

​ &#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试…

【基础知识】大数据组件HBase简述

HBase是一个开源的、面向列&#xff08;Column-Oriented&#xff09;、适合存储海量非结构化数据或半结构化数据的、具备高可靠性、高性能、可灵活扩展伸缩的、支持实时数据读写的分布式存储系统。 只是面向列&#xff0c;不是列式存储 mysql vs hbase vs clickhouse HMaster …

Qt/C++视频监控Onvif工具/组播搜索/显示监控画面/图片参数调节/OSD管理/祖传原创

一、前言 能够写出简单易用而又不失功能强大的组件&#xff0c;一直是我的追求&#xff0c;简单主要体现在易用性&#xff0c;不能搞一些繁琐的流程和一些极难使用的API接口&#xff0c;或者一些看不懂的很难以理解的函数名称&#xff0c;一定是要越简单越好。功能强大主要体现…

【SpringMVC】REST(Representation State Transfer)ful开发

REST全称Representation State Transfer&#xff0c;表现形式状态转换 文章目录 1. 为什么提出了REST&#xff1f;2. RESTful入门案例案例代码修改请求方式修改成RESTful风格&#xff0c;并以POST方式提交 RESTful格式下传参RESTful入门案例总结RequestBody&#xff0c;Reques…

工业互联网:常用的MQTT客户端与Broker

背景 作为物联网终端数据上云协议事实上的标准&#xff0c;当涉及到 MQTT &#xff08;Message Queuing Telemetry Transport&#xff09;协议时&#xff0c;目前有许多不同的 Broker 和客户端工具可供选择。本文简要罗列下常见的 Broker 和客户端工具&#xff0c;以及可供测试…

锐捷ssh配置

配置实例 ssh-Server ssh-Server(config)#enable service ssh-server // 启用ssh服务 ssh-Server(config)#username admin privilege 15 password Test123456 // 设置ssh登陆的账户密码 ssh-Server(config)#line vty 0 4 ssh-Server(config-line)#transport input ssh …