本文演示的存储为SC4020的硬盘镜像文件


戴尔SC系列存储(原Compellent技术,也称康贝系列)是戴尔企业级存储解决方案的重要组成部分,专为满足不同规模企业的数据存储需求而设计。该系列产品继承了Compellent的先进技术,提供了先进的虚拟化架构和智能数据管理功能。

分布式特性
SC系列存储采用现代化架构设计,通过分布式组件实现高效的数据管理。
其操作系统SCOS(Storage Center Operating System)提供了统一的管理界面,能够跨多个存储设备进行集中管理,实现存储资源的灵活调配和扩展。

虚拟化分层特性
SC系列采用完全虚拟化的架构设计,实现了高效的精简配置(Thin Provisioning)。
这种虚拟化架构使存储资源能够被更灵活地分配和管理,显著提高了存储利用率。

该系列提供先进的自动分层功能(Auto-tiering),这是其虚拟化架构的核心组成部分,允许系统智能地将数据在不同性能层级的存储介质间自动迁移,优化整体性能。
这种技术被称为Data Progression,能够根据数据访问频率自动将活跃数据移动到更快的存储层(如SSD),而将较少访问的数据移至成本更低的存储层(如HDD)。

前言

什么情况下数据数据恢复?

当DELL的SC系列存储由于自然灾害、各种意外、硬盘故障、数据/LUN删除导致的数据丢失、存储崩溃等情况,在官方服务人员无法拉起存储的情况下,我们可以采用最原始的数据恢复方案,即,将该存储所有硬盘(包含SSD和HDD)取下,然后逆向硬盘扇区内的16进制结构,最终重组所有的条带/块,还原内置的虚拟空间,然后逆向虚拟空间内内置的虚拟化系统,最终提取出丢失的数据。


之前写过一个SC2020的案例,但是那个案例官方服务人员把存储给拉起来了,客户直接就能访问数据了,今天这篇文章的案例是由于多块硬盘损坏,其他数据恢复公司恢复损坏的硬盘后,可能由于一部分扇区数据彻底丢失(可能恰好损失在元数据上),导致官方服务人员也无法将存储拉起来,所以本文章采用最原始的数据恢复方案来解决这个文件,即取下所有硬盘,做成磁盘镜像文件,然后通过镜像文件来重组客户需要恢复的LUN。

一、数据恢复前的准备

该系列存储都喜欢使用BSD系统作为初始系统,然后在上面运行存储系统,因为我司只做扇区的16进制结构逆向,不太懂上层程序执行、写入这内的,故本文所有的关键词都是我司自己定义的。

本次案例我司直接让客户提供的硬盘镜像文件,并未让客户提供存储机器本身,故不展示存储照片信息。

1、多层虚拟空间定义:
暂定为3个空间层级,每个层级都有元数据(以下简称meta)去管理:
-----------------0层:采用分布式结构,管理SSD和HDD,一般打包在BSD系统内的.7z压缩包内的ELF包内
-----------------1层:基于0层,构建N+1或2+2或N+N的虚拟空间(等效RAID5、RAID10、RAID6)
-----------------2层:内置虚拟化层,该层使用一套类文件系统的结构来实现虚拟化
-----------------3层:用户层,用户基于2层空间来创建空间、LUN等来使用
2、元数据解密
-----------------一般大厂存储的元数据都被加密、加壳处理,我们首先需要获取key才能够进行元数据的处理操作

二.数据恢复过程演示

1.读取BSD系统内的0层元数据信息,

获取0层元数据,然后使用所有的磁盘镜像文件构建为2个或多个虚拟的分布式空间,这里我们定义为SSD空间和HDD空间。
在这里插入图片描述

2.构建1层虚拟空间

本次演示的SC4020存储在存储的管理界面使用的是2个层级,分别是SSD层,分为RAID10+RAID5组成,HDD层,由2层RAID5组成,这里的层级为上层,而本文主要是讲解底层16进制结构,故只做参考使用
在这里插入图片描述

通过解析后的0层元数据去访问1层meta,然后使用1层meta获取虚拟RAID的条带信息,这里本文是将1层meta导入到SQLserver数据库后进行展示的,
在这里插入图片描述
根据1层空间的元数据信息,我们将组成1层的虚拟空间,该空间为4个,对应客户的1组RAID10和三组RAID5,

3.逆向2层的虚拟化系统

这一层级类似于我们常规的文件系统,用户创建LUN空间的时候,相当于就是在这个文件系统内生成了一个动态大小的虚拟磁盘文件,然后用户可以把这个虚拟磁盘文件通过FC挂载给服务器使用,

通过对这一层的虚拟化系统的16进制结构进行分析,可以分析出2层的meta,这里的meta就是一个内置的微型文件系统,只不过这个文件系统是分块来管理的,属于分布式文件系统,由所有的1层虚拟空间组成:下面是整理出来的2层meta的块信息,红色部分代表缺失的,可能是由于多块硬盘部分扇区数据彻底丢失后造成的情况,分布在这些虚拟块上的数据就会丢失,在无法校验得出数据的情况,我们后续在导出LUN的时候优先使用00的空数据代替这部分扇区,
在这里插入图片描述

下面是我将客户需要恢复的LUN的排列结构导成txt后使用wps打开的结果:可以看到这个LUN横跨了SSD和HDD的空间,其中经常读取的数据是存放在SSD上的,也称为热数据,还有些配置高的SC存储,还有一层专供写入的SSD层,由于本次演示的客户的存储没有配置写入的SSD层,所以不做演示:
在这里插入图片描述

恢复结果展示:在这里插入图片描述

总结

以上就是针对SC系统存储,本文是SC4020进行拔出硬盘直接通过扇区数据进行重组客户数据的思路流程,后续我司会在空闲时间将代码编写为一套完整的数据恢复工具,有需要的可以关注一下。

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐