今天给大家介绍一的是一款常见存储设备-Vsan的结构原理,相对而言技术性文字较多。VSAN是一种以vSphere内核作为基础开发出来的一款可以扩展使用的分布式存储架构。这款存储在vSphere集群主机中安硬盘及闪存构建出VSAN存储层,通过存储进行管理与控制,最终形成一个共享存储层。
伴随着计算机网络的快速发展,vsan的存储结构也在不断的更新换代过程中,传统的存储管理机制中的底层存储不了解虚拟化和文件系统,新一代的存储管理机制将更新为基于对象存储系统、虚拟数据存储、分布式存储。下图为vsan的存储结构及存储管理机制示意图。
VSAN存储结构解析;存储数据恢复的成功案例分享_第1张图片
VSAN数据存储是一个对象存储,以文件系统的形式呈现给vSphere主机,这个对象存储服务会从启用VSAN集群中的每台主机上加载卷。将他们展现为单一的、在所有节点上可见的分布式共享数据存储,VSAN简化了存储配置,对于虚拟机来说,只有一个数据存储,这个分布式数据存储来自VSAN集群中每一台vSphere主机上的存储空间,通过磁盘组进行配置,在单独的存储实体中存储所有的虚拟机文件,这种数据存储的方式相对来说已经很安全了,但是在出现闪存盘或者是容量盘出现故障的时候,数据会往其他的节点转移,在转移的时候过程中,也有可能出现其他的故障,下面为大家介绍近期恢复成功的一个vsan存储数据恢复案例。
出现故障是四台dell的服务器组成的VSAN集群,每台服务器上两个磁盘组,一个磁盘组是一个SSD硬盘带5块SAS硬盘,SSD做闪存,SAS做容量盘,其中一个节点上的一个磁盘组中的容量盘出现故障离线,这个时候VSAN进行数据重构迁移,在很不赶巧的时候,这个时候由于停电导致数据迁移没有完成,在来电的时候,其中另外一个磁盘组中的容量盘也由两块故障离线了,导致整个数据存储出现故障,VSAN的管理控制台可以登陆,但是所有的虚拟机都无法访问了。
先把四个节点的所有硬盘都做个只读的镜像,包含SSD闪存盘和SAS容量盘,还有三块因故障离线的硬盘,备份完成之后,把所有的原盘都还原到服务器上,开始对镜像文件来进行分析底层数据存储结构,来确认虚拟机所在硬盘的分布信息,因为现有的虚拟化程序没有针对VSAN的架构来恢复虚拟机的,北亚的工程师在分析底层数据存储结构的时候,也在做相应的程序开发,来测试数据分布信息的准确性。
单独分析每个节点上的两个磁盘组,看下磁盘组内的闪存硬盘和容量盘之间的对应关系,每块硬盘都有一个唯一标识进行磁盘间的对应,根据硬盘的ID信息,判读磁盘组里面的硬盘ID信息。
1、在每块硬盘上获取磁盘的UUID和磁盘组的UUID
2、根据每个磁盘组中的容量盘的组件信息获取此容量盘的组件信息
3、根据组件信息中记录的组件的MAP位置提取组件位图。
4、根据组件的位图提取组件数据和缓存数据
5、根据组件的描述信息获取组件所属对象及组件顺序,并把组件合并成对象
6、根据对象,提取数据。
对象也可以看成一个卷,也可以理解成是一个逻辑卷,每个存在于数据存储上的VSAN对象都是由多个组件构成,这些组件分布于集群主机上配置的磁盘组中,在恢复的过程中,组件的信息提取是关键的步骤,因为组件是每个对象的重要组成部分,本次故障组件损坏的很少,恢复出来的虚拟机都能正常启动,这次故障解决在分析组件位图和磁盘对应关系用来比较长的时间,但是最后把所有的技术难题都解决了,恢复出来的虚拟机都正常启动,圆满解决了VSAN出现故障导致数据丢失的恢复。