VSAN 是基于 vSphere 内核开发的可扩展分布式存储架构,在 vSphere 集群主机中安装硬盘与闪存构建存储层,经管理控制形成共享存储层。
其数据存储为对象存储,以文件系统形式呈现给 vSphere 主机,从启用 VSAN 集群的主机加载卷,形成单一、各节点可见的分布式共享数据存储。它简化了存储配置,虚拟机只有一个来自集群各主机存储空间、通过磁盘组配置的分布式数据存储,可存储所有虚拟机文件。
虽数据存储较安全,但闪存盘或容量盘故障时,数据转移过程可能出现其他故障。下面介绍北亚数据恢复中心近期成功恢复的 VSAN 存储数据案例。
VSAN数据恢复环境:
数台某品牌服务器组建VSAN集群。每台服务器节点上有两个磁盘组,每个磁盘组有1块SSD硬盘+5块SAS硬盘,SSD做闪存,SAS做容量盘。
VSAN故障:
其中一个服务器节点上的一个磁盘组中的容量盘出现故障离线。容量盘出现故障的时候VSAN正在重构迁移数据,这个时候机房停电导致数据迁移没有完成。来电的时候,另外一个磁盘组中也有两块硬盘出现故障离线,VSAN存储出现故障。VSAN的管理控制台可以登录,但是所有的虚拟机都无法访问了。
VSAN数据恢复过程:
将四个服务器节点上的所有硬盘以只读方式做全盘镜像(包括那几块因故障离线的硬盘。镜像完成后,将所有硬盘按照原样还原到节点服务器上。
基于基于镜像文件分析底层数据存储结构,确认虚拟机所在硬盘的分布信息。北亚企安数据恢复工程师在分析底层数据存储结构的时候,开发相应的程序测试数据分布信息的准确性。
单独分析每个节点上的两个磁盘组,搞清楚磁盘组内的闪存硬盘和容量盘之间的对应关系。每块硬盘都有一个唯一标识进行磁盘间的对应,根据硬盘的ID信息,判读磁盘组里的硬盘ID信息。
1、获取每块硬盘的磁盘UUID及磁盘组UUID。
2、依据磁盘组中容量盘组件信息获取其详情。
3、从组件信息的MAP位置提取组件位图。
4、由组件位图提取组件数据与缓存数据。
5、按组件描述信息确定所属对象及顺序,合并组件成对象。
6、从对象中提取数据。
可以将VSAN对象看成一个卷,也可以理解成是一个逻辑卷。每个存在于数据存储上的VSAN对象都是由多个组件构成,这些组件分布于集群主机上配置的磁盘组中。在恢复数据的过程中,组件的信息提取是关键。因为组件是每个对象的重要组成部分,本次故障组件损坏的很少,恢复出来的虚拟机都能正常启动。