vsan 数据恢复环境:
一套 VMware vSAN 超交融基础架构,全闪存,开启压缩重删。共 11 台服务器节点。每台服务器节点上配置 1 块 PCIE 固态硬盘和 8 -10 块 SSD 固态硬盘。
每个服务器节点上创立 1 个磁盘组,每个磁盘组将 1 个 PCIE 固态硬盘辨认为 2 个硬盘作为缓存盘,将 8 -10 个 SSD 固态硬盘作为容量盘,独特组成 vSAN 存储空间,用来存储虚拟机文件。
vsan 故障 & 检测:
vSAN 中一台服务器节点的 PCIE 缓存盘产生故障,导致 vSAN 逻辑架构呈现故障,2 台虚拟机磁盘组件呈现问题,虚拟机无奈失常应用。
将 11 台节点服务器中的所有磁盘编号后取出,以只读形式做全盘镜像备份,备份实现后将磁盘依照编号还原到原节点服务器中,后续的数据分析和数据恢复操作都基于镜像文件,防止对原始磁盘数据造成二次毁坏。
扫描 & 剖析全副镜像文件,发现因为版本更新和开启了压缩重删机制,底层构造差别较大。
针对这种状况的数据恢复,难点在于压缩和重删的算法,因为须要大量数据碰撞测试和大量代码来测试压缩和重删算法。
vsan 数据恢复过程:
1、基于镜像文件剖析底层数据。依据底层记录的磁盘 ID 等信息,将节点、磁盘组、缓存盘、容量盘等信息及对应关系进行整顿记录。
2、尝试在底层搜寻 & 剖析组件信息,后果发现组件信息被压缩,无奈进行剖析。
3、测试压缩和重删。因该 vSAN 集群开启了压缩重删机制,底层数据结构产生很大的变动。北亚企安数据恢复工程师搭建雷同版本的环境,在搭建好的环境中通过大量数据碰撞测试来钻研压缩重删的算法和存储构造。
4、通过大量数据碰撞测试钻研压缩重删算法,因为不确定该 vSAN 集群的采纳了何种压缩算法,所以北亚企安数据恢复工程师只能通过大量法则数据进行逆向推理确定其压缩算法,而后解压缩。
压缩块:
解压后:
5、解析重删位图。通过大量数据测试确定压缩位图地位、记录形式、位图索引块大小等,从而获取位图索引形式,解析重删位图。
6、因为 VSAN 中所有文件都是以对象的形式存在,每个对象会被宰割为多个组件。北亚企安数据恢复工程师编写程序扫描组件信息,依据组件中的 runlist 找到每个数据块和该块在组件的逻辑地位,而后编写程序提取残缺组件。
7、依据组件信息中的形容信息将组件依照形容信息中记录的 RAID 级别和各个组件在对象中的逻辑地位进行组合,拼接出残缺的对象,即残缺的 vmdk 文件。因为每个组件可能会有局部数据留在缓存盘上,并没有写入到容量盘中,所以北亚企安数据恢复工程师编写程序将缓存盘上的数据刷新到对应的组件或对象中。
8、因为本案例中虚构磁盘应用 Windows 下 DFS 分布式文件系统并且开启重删机制,无奈间接提取数据。新建 DFS 环境,将合并实现的虚构磁盘挂载到该环境下,挂载后可间接拜访数据。
9、由用户方对数据进行检测,通过检测确认复原进去的数据残缺可用。本次数据恢复工作实现。