服务器数据恢复-昆腾存储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.mfbz.cn/a/265777.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java 虚拟机中的内存结构

1 内存结构 1.1 程序计数器 1.1.1 定义 Program Counter Register 程序计数器(寄存器) 作用:是记住下一条 jvm 指令的执行地址 特点: 是线程私有的(每个线程独有自己的一份)不会存在内存溢出 1.1.2 作…

、写入Shellcode到注册表上线

其实本质就是将shellcode写入到注册表中,然后读取注册表中的shellcode,然后创建线程去执行shellcode。 如下图: 写入注册表shellcode 这里将shellcode写入到注册表中,在我们需要的时候再去读取然后执行。 这里用到如下两个Windows API函…

Zookeeper-应用实战

Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。 ZooKeeper官方的Java客户端API。 第三方的Java客户端API,比如Curator。 ZooKeeper官方的客户端API提供了基本的操作:创建会话、创建节点、读取节点、更新数据、…

Leetcode—415.字符串相加【简单】

2023每日刷题(六十八) Leetcode—415.字符串相加 实现代码 class Solution { public:string addStrings(string num1, string num2) {string ans;int len1 num1.size();int len2 num2.size();int i len1 - 1, j len2 - 1;int sum 0, c 0;while(i…

面试题 01.01. 判定字符是否唯一(优质解法)

链接:面试题 01.01. 判定字符是否唯一 代码: class Solution {public boolean isUnique(String astr) {//s[i]仅包含小写字母,数据范围小于 32 位,我们可以使用 int 变量的比特位来代替数组// 每个小写字符对应 bitMap 中的一个比…

DETR 【目标检测里程碑的任务】

paper with code - DETR 标题 End-to-End Object Detection with Transformers end-to-end 意味着去掉了NMS的操作(生成很多的预测框,nms 去掉冗余的预测框)。因为有了NMS ,所以调参,训练都会多了一道工序&#xff0c…

小程序本地文件读、写、追加数据操作,以及修改文件内容

小程序系统文件管理器 FileSystemManager 要操作/读取本地文件,首先需要创建文件或文件夹,然后再对文件进行读写操作; 首先创建文件 FileSystemManager.writeFile 可直接创建文件并写入内容 定义文件路径,此路径在读写操作时保持一致 const path = `${wx.env.USER_DATA…

在Jetpack Compose中使用ExoPlayer实现直播流和音频均衡器

在Jetpack Compose中使用ExoPlayer实现直播流和音频均衡器 背景 ExoPlayer与Media3的能力结合,为Android应用程序播放多媒体内容提供了强大的解决方案。在本教程中,我们将介绍如何设置带有Media3的ExoPlayer来支持使用M3U8 URL进行直播流。此外&#x…

html网页编写语言

html是一门语言,所有的网页都是用html这门语言编写出来的。 HTML(HyperText Markup Language):超文本标记语言。 超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片&…

Netty-1-编写网络应用程序的基本步骤

编写网络应用程序的基本步骤如下: 完成代码编写。复查代码。“临门一脚"。上线及反馈。 完成代码编写 编写网络应用程序的第一步是完成代码编写。 选择传输协议 对于普通的应用程序而言,经过需求分析、定义业务数据结构和实现业务逻辑之后,我…

研究论文 20231123-Genome Biology:零样本学习预测细基因表达顺式调控模式

Li, Yongge, et al. "CREaTor: zero-shot cis-regulatory pattern modeling with attention mechanisms." Genome Biology 24.1 (2023): 266. 2023年11月23日见刊 微信分享:Genome Biology | CREaTor: 零样本学习预测细胞类型特异的基因表达顺式调控模式…

算法与数据结构--哈夫曼树与哈夫曼编码

演示视频: 【1】数据结构——五分钟搞定哈夫曼树,会求WPL值,不会你打我_哔哩哔哩_bilibili 【2】哈夫曼树和哈夫曼编码_哔哩哔哩_bilibili 【3】哈夫曼树的构造的做题三步骤_哔哩哔哩_bilibili 求哈夫曼编码的步骤: 1.根据字符及…

HTML标签(下)

一、表格标签 1.1表格的主要作用 主要用于显示、展示数据 1.2表格的基本语法 <td>单元格中的文字</td> 如果是表头单元格的话&#xff0c;eg:姓名&#xff0c;年龄<th> 姓名</th>&#xff08;th是table head&#xff09;; 作用&#xff1a;表头会…

用Python处理PDF:拆分与合并PDF文档

PDF文档在信息共享和数据保存方面被广泛使用&#xff0c;处理PDF文档也成为常见需求。其中&#xff0c;合并和拆分PDF文档能够帮助我们更有效地管理PDF文档&#xff0c;使文档内容分布更合理。通过合并&#xff0c;可以将相关文档整合成一个文件&#xff0c;以便更好地组织和提…

深入了解C编译管道

文章目录 引言1. 预处理阶段2. 编译阶段3. 汇编阶段4. 链接阶段5.流程图结论 引言 C编译管道是软件开发中至关重要的工具&#xff0c;它负责将C语言源代码转换为可执行的机器代码。理解C编译管道的工作原理有助于提高代码的可读性、可维护性&#xff0c;并有助于优化生成的可执…

20231222给NanoPC-T4(RK3399)开发板的适配原厂Android10的挖掘机方案并跑通AP6398SV

20231222给NanoPC-T4(RK3399)开发板的适配原厂Android10的挖掘机方案并跑通AP6398SV 1、简略步骤&#xff1a;rootrootrootroot-X99-Turbo:~/3TB/3399-android10$ cat Rockchip_Android10.0_SDK_Release.tar.gz0* > Rockchip_Android10.0_SDK_Release.tar.gz rootrootrootro…

SUSE Linux服务器使用zypper安装nginx

SUSE Linux 的云服务器用户&#xff0c;不能yum,安装软件&#xff0c;可通过 zypper 快速安装软件。 使用 root 账号登录 openSUSE 操作系统的云服务器。 执行 zypper service-list 或 zypper sl 命令 列出软件源 安装软件包 执行 zypper search 或 zypper se 命令&#…

扫码展示多视频怎么做?视频的活码制作技巧

现在扫码看视频的应用场景越来越多&#xff0c;用这种方式不仅能够简单有效的低成本完成视频传播&#xff0c;而且也符合用户的习惯。那么当需要将视频制作二维码来展示内容时&#xff0c;多个视频文件生成二维码的制作方法是怎么操作的呢&#xff1f;下面教大家使用视频二维码…

运用ETL快速拉取吉客云平台订单信息

吉客云介绍 吉客云是一家中国的云计算服务提供商。它提供了包括云服务器、云数据库、云存储、云网络等各种云计算产品和解决方案&#xff0c;帮助企业和个人搭建高效、可靠、安全的云计算环境。 吉客云特点和优势&#xff1a; 大规模分布式架构&#xff1a;吉客云基于自主研发…

安装nodejs,配置环境变量并将npm设置淘宝镜像源

安装nodejs并将npm设置淘宝镜像源 1. 下载nodejs 个人不喜欢安装包&#xff0c;所以是下载zip包的方式。这里我下载的node 14解压包版本 下载地址如下&#xff1a;https://nodejs.org/dist/v14.15.1/node-v14.15.1-win-x64.zip 想要其他版本的小伙伴去https://nodejs.org/di…
最新文章