一、存储虚拟化概念
存储设备的能力、接口协议等差异性很大,存储虚拟化技术可以将不同存储设备进行格式化,将各种存储资源转化为统一管理的数据存储资源,可以用来存储虚拟机磁盘、虚拟机配置信息、快照等信息。用户对存储的管理更加同质化。
虚拟机磁盘、快照等内存均以文件的形式存放在数据存储上,所有业务操作均可以转化成对文件的操作,操作更加直观、便捷。
存储虚拟化可以解决传统DAS、NAS存储架构中单点故障的问题,可以保证存储的可用性和连续性。
实现存储虚拟化,最核心问题就是如何实现从逻辑地址到物理地址的转换
二、存储虚拟化的分类
根据SAN中存储虚拟化实现方式的不同,可以划分为三个层次:主机级、存储设备级和存储网络级。
(1)主机级
主机的虚拟化将虚拟化层放在SAN中的应用服务器上,通过改造操作系统的文件系统层或者设备层来完成卷逻辑地址到物理地址的转换,这种方式实现起来比较简单,但是存在单点故障和安装调试复杂的缺点。
⑵存储设备级
即将存储虚拟化实现在实际的物理存储设备上面,例如磁盘阵列。这样的做法的特点是兼容性高,屏蔽各种操作系统的细节,但是在跨盘阵的分布式虚拟化的设计上有局限性。
(3)存储网络级
特点为充分利用网络资源,在实现过程中,既能使用户感觉不到虚拟化的存在,而且操作上屏蔽各种细节,符合存储网格的发展趋势,同时具有很高的扩展性、灵活性。
- 存储虚拟化可分为“带内”和“带外”两种基本类型。两者最显著的特点是管理路径和生产路径是否重叠,如果重叠,会发生争用带宽的问题,使得生产系统的效率降低。带内虚拟技术是在数据读写的过程中,在主机到存储设备的路径上实现存储虚拟化;而带外虚拟技术,是在数据读写之前,就已经做好了虚拟工作,而且实现虚拟的部分并不在主机到存储设备的访问路径上,所以带内虚拟技术可以基于主机、网络、设备和网络实现,而带外虚拟技术则只能是基于存储网络实现。
三、存储模型
存储虚拟化是将存储设备抽象为数据存储,虚拟机在数据存储中作为一组文件存储在自己的目录中。
数据存储是逻辑容器,类似于文件系统,它将各个存储设备的特性隐藏起来,并提供一个统一的模型来存储虚拟机文件。
- 一个存储资源可以有多个存储设备
- 一个数据存储和一个存储设备对应
- 数据存储承载了具体的虚拟机业务,例如创建磁盘等
FusionCompute可使用的存储资源来自主机本地磁盘或专用的存储设备。专用的存储设备与主机之间应通过网线或光纤连通。
例如:将一个SAN设备【存储资源】分配的一个LUN【存储设备】接入到FusionCompute环境成为一个数据存储【数据存储】,可以在该数据存储上创建运行业务的虚拟机,对外提供服务。
华为云计算存储模型
存储资源
- FusionCompute的存储资源包括:
IP SAN、FC SAN、Advanced SAN、本地磁盘、FusionStorage和NAS
。IP SAN是通过iscsi链路和主机建立连接。
。FC SAN是通过光纤通道和主机连接的,主机连接SAN设备后可以扫描存储设备(LUN) 。
。Advanced SAN是通过SMI-S接口扫描、管理磁盘的。
- Advanced SAN是一种特殊的IP-SAN,兼容华为OceanStor 系列存储。
- Advanced SAN与VIMS不同的是,在创建虚拟机磁盘时创建的是LUN,并与虚拟机进行绑定。作为虚拟机的磁盘使用
- Advanced SAN在Advanced SAN V3存储中创建的磁盘,物理设备需要一部分空间用以保存元数据,从而会带来一些空间损耗。
- SMI-S (Storage Management Interface Specification 存储管理接口标准)是SNIA开发的一种标准管理接口,旨在减轻多厂商SAN(存储区域网络)环境的管理负担。SMI-S 为各种网络组件提供了一个通用管理接口,减小了SAN管理的复杂性。
。FusionStorage是通过其管理结点提供的接口管理存储的。
- FusionStorage是华为Server SAN产品;Server SAN是利用存储软件和服务器构建起来的SAN存储技术。
。NAS通过NFS协议扫描和挂载共享目录。
- 主机访问存储资源:
。先需要添加存储资源。
。再选定主机并关联存储资源。
存储资源使用对比
- 存储卸载:指将部分存储操作(模板部署、删除清零等操作)下移到存储侧进行,这样做可以不浪费主机侧资源,同时也可以提升操作效率。
- 虚拟化:对于LUN或者本地磁盘,在不支持虚拟化的场景不能支持快照,链接克隆等高级功能,但是所创建的卷具有很好的性能。虚拟化后的数据存储,支持各种高级功能,卷格式也支持多种,但是性能低于非虚拟化的存储设备。
存储设备
- FusionCompute的存储设备有五种:LUN 、本地磁盘、Advanced SAN存储池、FusionStorage存储池和NAS共享目录。
- LUN在使用前需要在存储侧或者交换机侧进行配置。该配置根据不同的厂家会不一样,具体需要参照存储或交换机配置。
- 存储设备需要通过主机探测的方式进行扫描来发现
主机需要链接存储资源后才能扫描存储资源所包含的存储设备。
每个主机都能发现各自的存储设备,也能发现共享的存储设备。
数据存储
- 数据存储是在存储设备上创建的逻辑管理单元:
- 数据存储需要创建在指定的存储设备上,且一个存储设备只能创建一个数据存储。
- 数据存储和主机关联,为主机提供资源,数据存储可以关联到多个主机,一个主机也可以使用多个数据存储。
- 数据存储的使用:
存储设备必须被添加为数据存储才能被使用。
数据存储可用于存放虚拟机磁盘、快照文件。
数据存储的大小依赖于存储设备的大小。
计算集群有共享存储设备时,基于该存储设备建立的数据存储被关联给计算集群中的每个主机。
数据存储是FusionCompute对存储资源上的存储单元进行的统一封装。存储资源封装成数据存储并与主机关联后,就能够进一步创建出若干虚拟磁盘,供虚拟机使用。
能够封装为数据存储的存储单元包括:
SAN存储(包括iSCSI或光纤通道的SAN存储)上划分的LUN。
Advanced SAN存储。
NAS存储上划分的文件系统。
FusionStorage上的存储池。
主机的本地硬盘。
主机的本地内存盘。
四、虚拟化存储连接
1.FC SAN存储场景
2.IP SAN存储场景
3.NAS存储场景
虚拟化的存储栈
文件系统
- 文件系统作用在于提供文件操作接口,屏蔽存储设备的差异,为虚拟化卷文件提供存放空间。
- 当前FusionCompute所使用的文件系统为:VIMS、EXT4、NFS。
- 计算集群共享存储设备上的文件系统即为:VIMS文件系统或NFS文件系统。
- 未加入计算集群的主机,且仅有本地磁盘;该主机的文件系统使用Ext4文件系统。
五、存储虚拟化特性
1.精简磁盘和空间回收
功能特性
- 支持创建精简磁盘,可以随着用户使用而自动分配空间。
- 膨胀的精简磁盘不会随着用户删除数据而缩小,使用空间回收工具可以将用户删除的数据空间释放到数据存储。
适用场景
- 精简磁盘可应用于局点运行初期,用户磁盘使用率低的情况。能够降低初始存储投资及维护成本。存储设备只保存有效数据,不保存预留空间,可以提高存储资源利用率。
- 空间回收可以提高精简磁盘的使用/分配比,提高存储利用率。
2.快照原理和应用
快照功能特性
- 快照记录了虚拟机在某一时间点的内容和状态。
- 通过恢复虚拟机快照使虚拟机多次快速恢复到这一时间点。
- 快照包含磁盘内容、虚拟机配置信息、内存数据。
- 多次快照之间保存差量数据,节约存储空间。
适用场景
- 虚拟机用户在执行一些重大、高危操作前,例如系统补丁,升级,破坏性测试前执行快照,可以用于故障时的快速还原。
- 用户触发的创建快照和恢复快照操作。
2.1存储虚拟化的快照
创建快照时会生成一个新的差分卷,虚拟机会挂载这个差分卷作为磁盘文件,虚拟机的读请求会重定向到源卷中。
创建快照采用了ROW(Redirect on write)技术,快照后的写操作会进行重定向,所有的写IO都被重定向到新卷中。所有旧数据均保留在只读的源卷中。
2.2快照链
磁盘做多个快照后,会产生一个快照链。
虚拟机卷始终挂载在快照链的最末端。
用户对一个虚拟机进行多次快照操作,可以形成快照链;一个虚拟机生成快照的数量不能超过32个,也是快照链的最大长度。
用户可以将虚拟机从当前状态恢复到快照链中的某个状态。
快照链中任意一个快照都可以删除而不影响其余快照。
3.链接克隆
链接克隆功能特性
- 链接克隆技术是一种通过将源卷和差分卷组合映射为一个链接克隆卷,提供给虚拟机使用的技术。
- 一个链接克隆模板可以创建多个链接克隆差分卷,对应创建多个链接克隆虚拟机。
- 新创建的差分卷占用空间很小,随着虚拟机的使用,空间会逐渐膨胀。
适用场景
- 能够快速、批量部署虚拟机。
- 对于类似的虚拟机,公用的数据可以放在模板中,提高存储利用率。
4.虚拟机虚拟磁盘文件迁移(存储热迁移)
虚拟机虚拟磁盘文件迁移功能特性
- 存储虚拟化支持将虚拟机的磁盘从一个数据存储迁移到另一个数据存储。
- 可以将虚拟机的所有磁盘整体迁移,也可以单个磁盘分别迁移。
- 虚拟机的快照可以一起迁移。
- 虚拟机开启或者关闭时都可以迁移。
适用场景
- 将数据存储的所有卷迁移后,可以对数据存储进行减容。
- 可以调整数据存储之间的负荷。
六、存储虚拟化常用功能
1.数据存储扩容原理
在存储端对现有的LUN扩容或添加新LUN之后,在FusionCompute端可以将现有的数据存储进行扩容。数据存储扩容的空间来自于:
- 原有LUN扩容的新空间
- 新LUN(图中所示方式)
新增的存储空间以线性映射的方式追加至虚拟块设备末尾。
由于虚拟块设备的信息都是保存在节点内存中,则当其它节点发现数据存储空间有变化时,会自动更新虚拟块设备信息,完成扩容虚拟块设备
1.2虚拟机磁盘扩容
虚拟机磁盘扩容功能特性
- 可以在不影响虚拟机磁盘现有数据的情况下,将虚拟机磁盘容量扩大。
- 支持系统磁盘和用户磁盘的扩容,但分区合并需要操作系统支持(XP和WIN7支持用户分区扩容)或第三方工具。
- 部分操作系统支持进行在线磁盘扩容。
适用场景
- 初始磁盘分配空间时,可以按需分配,后续不够了可以进行扩容,提高存储设备利用率。
注意点:
- 虚拟化存储支持以磁盘扩容的方式,增加虚拟机存储空间。
- 非虚拟化存储场景下,只能通过增加独立的磁盘来实现。
当磁盘所属的数据存储类型为虚拟化本地硬盘、虚拟化SAN存储、NAS存储或FusionStorage时,才能增加磁盘容量。
当磁盘所属的数据存储类型为NAS存储,且磁盘的配置模式为普通时,不支持在线增加磁盘容量。
当磁盘所属的数据存储类型为FusionStorage时,在线增加磁盘容量需关闭虚拟机后再启动虚拟机生效。
当磁盘所属的数据存储类型为虚拟化本地硬盘、虚拟化SAN存储、NAS存储时,在线增加磁盘容量如下操作系统可直接生效,其余操作系统需重启虚拟机生效。
- Windows Server 2003
- Windows Server 2008
- Windows XP
- Windows 7
2.磁盘裸设备映射
- 存储直通技术
- (又称裸设备映射,RDM)为虚拟机提供了一种机制来直接访问物理存储子系统(IPSAN或FCSAN)上的LUN,VM的业务能够直接访问存储设备或直接对存储设备下发控制命令。
- 技术特点
虚拟机直接通过SCSI命令操作裸存储设备。
兼容FC光纤存储和IP SAN存储。
通过使用裸设备映射,可以让虚拟机识别SCSI磁盘,实现在虚拟机内部下发SCSI命令,交给主机然后透传给存储设备进行处理,最后将应答返回。
适用场景
集群系统软件,降低大量使用物理服务器的成本比如Oracle RAC或MSCS 。
3.设置虚拟机磁盘IO上限
- 单个LUN提供最大的BPS和IOPS是由物理设备所决定的,主要包括硬盘类型,raid组包含盘数等。
- 特性功能:
- 支持查询虚拟机各磁盘实时的IO数据。
- 支持设置磁盘的最大BPS(每秒读写字节数)和最大IOPS(每秒处理IO个数)。
- 所有存储类型的虚拟机,都能设置IO上限值,该设置在pvdriver运行时生效。
- 适用场景:
- 设置非重要虚拟机磁盘的IO上限,保证在这些虚拟机业务量大时,不会影响到重要的虚拟机业务
如果您对本文有疑问,可以添加小老虎的微信,共同探讨哦,另外,有想领取太阁课程学习资料的小伙伴,想咨询太阁课程价格的小伙伴,你们都可以扫码添加小老虎微信,跟小老虎聊一聊,大家共同努力,出发吧,就是现在!
标签:存储,快照,一文,虚拟化,虚拟机,存储设备,磁盘 From: https://blog.51cto.com/u_15628937/5727056