FusionCompute存储虚拟化

存储虚拟化相关概念及技术

FC中存储的基本概念

存储资源:存储资源表示物理存储设备,例如IP-SAN、FC -SAN、NAS等
存储设备:存储设备表示存储资源中的管理单元,类似LUN、 FusionStorage存储池、NAS共享目录等
数据存储:数据存储表示虚拟化平台中可管理、操作的存储逻辑单元

FC存储虚拟化架构

在这里插入图片描述
从下往上看,SAN和本地存储等块设备连接到服务器上后,经过设备驱动层和通用块层,对主机呈现一个磁盘设备。
创建文件系统的过程,就是主机对存储设备格式化的过程。对于虚拟化来说,文件系统提供了文件级的抽象操作,虚拟机磁盘就是放在文件系统中的文件。
从上往下看,虚拟机磁盘在使用时,由磁盘驱动挂载给虚拟机,并通过QEMU管理起来。当用户执行读写操作时,前端驱动会截获并转发给QEMU进程,并转换为用户态驱动的读写操作,最后写入磁盘文件中。

VIMS虚拟集群存储文件系统

VIMS是一种高性能的集群文件系统,让多个虚拟机共同访问一个整合的集群式存储池。
VIMS可以跨越多个存储服务器实现虚拟化。(存储热迁移、DRS、HA等可以实现)

VIMS分布式锁

一个VIMS卷同时被多个CNA节点挂载,因此每个CNA节点都可以访问VIMS卷上的文件。为保证多节点读写同一文件的数据一致性,VIMS需要实现分布式文件锁。
大致原理:
例如两个节点同时需要访问VIMS卷上的文件,那么VIMS节点号较小的节点1就会成为master(资源管理者),可以对卷上的文件进行读写。节点2就会放弃去访问,直到master对该卷上的文件访问完毕后,节点2再进行访问。

VIMS心跳

在这里插入图片描述
VIMS存在两种心跳,磁盘心跳和网络心跳
磁盘心跳用于检测主机是否可以正常读写共享存储
网络心跳用于检测主机间网络通信是否正常

FC磁盘技术

存储虚拟化中,我们知道所有的用户存储都是以文件的形式呈现的。
常见的磁盘文件类型
普通磁盘:普通磁盘创建时大小与虚拟磁盘大小相同,并将文件所有位置填0,占用空间较大,置备时间较长。适用于对IOPS要求较高的场景
普通延迟置零磁盘:普通延迟置零卷创建时大小与虚拟磁盘大小相同,但不会进行填0操作,占用空间较大,置备时间较普通卷短。再首次写入前做写0操作。
精简磁盘:精简磁盘创建时大小为0,精简磁盘创建时含少量元数据信息,大小一般为几十K,创建时间均非常短。随着用户写入数据,精简磁盘的大小与实际占用空间将逐步增加。
差分磁盘:基于已有的父盘来创建,存放相对于父盘的差异数据。差分盘不能脱离父盘存在,如果父盘修改,则差分盘失效。

从数据安全性角度看
持久化-持久化磁盘即数据可以永久保存,快照中不包含该磁盘,修改信息会立刻并永久写入磁盘
非持久化-非持久化磁盘即数据不永久保存,当写入数据时,产生一个差分盘用于存放虚拟机运行过程中改写的数据。当虚拟机关机时,将差分盘中的数据删除。

存储虚拟化功能原理

快照

快照-保存虚拟机当前状态信息,包括磁盘内容、内存、寄存器数据。通常用于在执行高危操作之前。
FC支持普通快照、一致性快照(快照创建时会将虚拟机当前未保存的缓存数据先保存,再创建快照)和内存快照(快照创建时会保存虚拟机当前内存中的数据)。

快照原理

创建快照-创建快照会创建一个差分磁盘文件,该磁盘文件与源磁盘文件存放同一目录下。源磁盘文件会转为只读,新写入的数据存放在差分磁盘文件中。

回滚快照-删除差分盘文件中的数据

删除快照-系统会整合源磁盘和差分盘中的数据,形成新的磁盘文件。

链接克隆

多台不同的链接克隆虚拟机共用一个系统母盘,另外为每个虚拟机创建一个差分盘,将每个差分盘挂载给独立的虚拟机使用。通常应用于需要大量发放拥有相同数据的虚拟机,且对性能要求不高的场景。

在这里插入图片描述
链接克隆一个母卷可以链接多个差分卷形成多个虚拟机磁盘。但是对母卷性能要求高。

存储热迁移

FusionSphere当中对虚拟机磁盘提供了冷迁移和热迁移两种方案
冷迁移指在虚拟机关机状态下进行,将磁盘文件从一个存储移动到另外一个存储
热迁移指在业务不中断的情况下,进行磁盘文件的迁移。
热迁移涉及到写时重定向技术:
在目的数据存储端创建一个差分盘。虚拟机在运行过程中产生的业务数据写入到差分盘当中,而原磁盘文件变为只读模式。
同时将源卷当中的数据块以此读出并合并到目的端的差分盘当中
最后去除目的端快照对源卷的依赖,将差分盘修改为动态盘,使它可以独立运行。完成迁移。
在这里插入图片描述

存储资源裸设备映射(RDM)

RDM绕过了Hypervisor,将虚拟机下发的SCSI指令直接透传,使虚拟机可以直接操控物理设备。
适用于需要高性能存储的应用。
兼容SAN存储。
(不支持链接克隆、存储瘦分配、磁盘在线/离线扩容 、存储增量快照 、iCache 、存储热迁移、存储QoS、磁盘备份、虚拟机转为模板等)

存储扩容

FC提供虚拟卷(磁盘)扩容和数据存储扩容
对于磁盘扩容是支持现在状态下扩容的,对于普通的磁盘,会将数据区域进行扩容并做写零操作。对于普通延时置零的盘,会将数据区域扩容并预先占住空间。对于精简的盘,仅做数据区域的扩容。
对数据存储进行扩容有两种实现方式,一种是通过添加另外的物理卷到的数据存储中,另一种是通过对物理卷进行扩容然后再扩容数据存储。

数据存储扩容的原理

在扩容的时候,将新增的存储空间映射到节点的虚拟块设备上,然后完成虚拟块设备的扩容,再将新增的存储空间分段添加到文件系统当中(更新文件系统中的元数据),这样节点数据存储的扩容就完成了。
(由于虚拟块设备的信息都是保存在节点内存中,则当其它节点发现数据存储空间有变化时,则需要更新虚拟块设备信息,完成扩容虚拟块设备)
在这里插入图片描述

发布了6 篇原创文章 · 获赞 13 · 访问量 1433

猜你喜欢

转载自blog.csdn.net/f791473571/article/details/104620928