基于VVOL 的存储策略规划*
2021-02-22陈婷
陈 婷
(北京理工大学珠海学院,广东 珠海519000)
引言
在传统VMware 存储中,庞大数量的虚拟机都由单一LUN 控制,这让在虚拟卷(VM)粒度上的数据管理变得相当困难。例如,如果单一虚拟机占用资源,那么管理员将花大力气找出问题所在。LUN 粒度上还会带来这样的问题:一个LUN 上控制的所有VM 将获得统一的数据服务配置,像是快照、复制、克隆、加密和数据去重等等,不管它们是否需要。
虚拟卷改变了这样一种状况,存储能够预置给独立的虚拟机,而此虚拟机将被分配需要的服务。基于存储策略的管理功能将完成存储资源的合理分配任务,它将有效简化存储配置和日常虚拟机的管理。
本文主要通过探究传统的虚拟化解决方案中缺陷和不足,以及对虚拟卷VVols 技术相关技术的介绍,最终确定了软硬件配置、整体拓扑连接等基于VVOL 存储形式的整体构建方案。
1 相关技术简介
1.1 VVols
Virtual Volumes(VVols)是新的概念,可以根据虚拟机的需求进行动态地分配,用来帮助虚拟机和应用程序拥有更好的存储分配。在传统的基于VMware 的虚拟机存储架构中,虚拟机一般被表现为VMFS 文件系统(如vmdk)。而VVols 存储构建方案,与传统虚拟机方案相比,则去掉了原来的VMFS 文件系统这一抽象层,它是通过上层软件GUI 界面的存储容器Storage Container 技术给用户提供了一个一致统一的抽象层。那么对于虚拟卷上层对象,即虚拟机来说,该方案封装了底层存储的细节,使得用户不再需要知道数据到底存储在磁盘阵列的某个具体位置。从而实现存储的定义和使用相互分离的目的,也实现了存储虚拟化技术。
1.2 存储容器
Storage Container(SC)即存储池,相当于储存池,是底层存储容量的资源池,用来分配和约束存储容量。虚拟卷VVols 则存储在SC 上,当对位于某个存储池的虚拟卷进行操作时,实际操作的是该SC 对应的存储池所位于的底层磁盘阵列。
存储池是由软件GUI 界面的存储管理员,进行定义与创建,是一个虚拟存储结构。这样的话,在理论上,SC 支持实时、无限量的容量扩容和缩容。另外,SC 的创建较为灵活,还可以给包含不同配置和类型的整个磁盘阵列创建成一个SC,在创建虚拟机时就可以优先选用某些配置高的磁盘阵列。在VVols 存储方案中,也可以通过VASA Provider 界面给虚拟机指定磁盘策略(VM Storage Policy),比如金银铜存储策略,从而达到硬件存储资源的更合理的分配,以及创建虚拟存储池和磁盘阵列使用分离的目的。[1]
1.3 协议端点
Protocol Endpoints(简称PE)即协议端点,主要用于ESXi 主机与磁盘阵列两者之间的I/O 通信的数据传输交流的一种新机制。其类似于I/O 代理,是ESXi 主机和虚拟卷之间的I/O 连接通道。PE 是在上层软件GUI 界面建立的,可建立ESXi 主机->PE 点->磁盘阵列的FC/iscsi 连接。引入协议端点这个新概念,使得ESXi 主机原本获取信息是由存储阵列上的虚拟卷来得到,现在则可以通过PE 与虚拟卷VVols 之间进行通信来获取信息。
相较于传统方式,在基于SAN 的存储系统上,该系统的协议端点可当作一个个LUN 来处理;对应NFS 存储阵列,其上PE 可视作一个挂载点(Mount point),数据不会存储在PE 上,而是从ESXi 主机转移到在存储容器上的vSphere VVOL。
1.4 存储提供程序
VASA Vendor Provider,以下简称VASA Provider,即存储提供程序。其本质是在vSphere 环境中提供充当存储感知服务的软件。存储提供程序的主要功能在于,能够建立起客户服务器、EXSI 主机、以及底层磁盘阵列三者之间的联系。
VASA,指的是存储感知的vSphere API(编程接口)。该API 接口可为vSphere 提供底层的相关磁盘阵列的各种信息,包括功能特性(如快照、复制、扩容缩容、RFID 级别)和状态(磁盘容量、运行状况、故障排除等)等。
协议端点PE 是由上层客户GUI 界面建立并与EXSi服务器建立初次连接,而其提供的协议方式是由不同的EXSi 主机的选择来决定的,此后通过存储提供程序VP 实现vSphere Vcenter 界面来自动感知并获取不同EXSi 主机上的相应的PE,并将感知到的PE 与对应的EXSi 主机进行再次连接,实现上层服务器与底层磁盘阵列的I/O 数据的传输。
1.5 存储策略管理
VMware vSAN 提供了基于存储策略的存储管理SPBM(Storage Policy-Based Management)。通过存储策略的管理(SPBM),可以实现软件定义的存储实现策略驱动(Policy -driven)的自动化。
例如,在主机集群EXSi 上启用vSAN,通过主机EXSi与协议端点PE 的连接,可在集群界面自动感知在GUI 界面建立好的存储池SC,并在该界面为该存储池进行设置,分配相应的存储策略。该存储策略定义了虚拟机的存储要求,这些策略确定如何置备和分配数据存储内的虚拟机存储对象,以保证达到要求的服务级别。如图1 所示即为基于MascoSAN ISCSI DISK 的VVOL 存储策略选择。
2 传统存储策略部署
在当前磁盘存储市场上的主流存储解决方案主要为:直连式存储DAS、网络接入存储NAS 以及存储区域网络SAN。本文主要讨论两种非直连存储类型的存储部署方案。
图1 存储策略
2.1 存储区域网络SAN
SAN 指的是一种储存技术,其依托于网状通道(Fiber Channel,简称FC)技术,为客户端服务器与底层磁盘阵列提供专用的光纤通道网络。如图2 所示,其可允许多台客户端服务器访问同一磁盘阵列。[2]
图2 IPSAN 存储结构图
图3 FCSAN 存储结构图
如图2 所示,即为IPSAN 存储结构图,其利用IP 网络构建网络,使用TCP/IP 协议的ISCSI 协议封装构建的存储区域网络。如图3 则是FCSAN 存储结构图,与IPSAN不同之处在于后者是利用光纤线,通过高速FC 交换机组成的存储网络。
2.2 网络接入存储NAS
网络附属存储NAS 是一种特殊的专用数据存储服务器,其将存储设备连接到现有的网络上来提供数据和文件服务,可以实现跨平台文件共享功能。NAS 本身能够支持多种协议,如NFS、CIFS、FTP、HTTP 等,其是可以直接使用的文件系统,不需要直接面对块设备。[2]
如图4 所示的NAS 存储结构图中,传统存储策略即为从担任Servers 的磁盘阵列中获取信息,通过ISCSI/IP交换机,将信息传输给客户端。而NAS 存储则是直接通过交换机从云端网络获取信息,发送给客户端。相对于其他存储解决方案,NAS 具有易于部署、跨平台使用、整体性能高等优势。
图4 NAS 存储结构图
3 虚拟卷存储策略部署
相对于传统物理IT 架构中,使用磁盘阵列作为存储单位进行存储。基于VMware 的虚拟化IT 架构,以虚拟机为单位,体现为一个个独立的VMDK 文件。在其上的克隆、快照等操作都是以VMDK 为目标,但在策略配置上存储对象VMDK 和存储粒度LUN 不能很好的匹配,造成空间浪费。
VVOL 为了解决上述问题,即上层的VMDK 管理不知道底层的存储,存储管理不知道VMDK,提出新的存储概念——虚拟卷。从存储角度来看,将虚拟卷作为一个个LUN 来处理,虚拟机的操作和对应的策略配置都绑在对应的虚拟卷上。而在上层客户端,即软件GUI 界面看到的虚拟卷是一个普通文件VMDK、一个快照文件snapshot 和一个配置文件config。可以说,虚拟卷是一架横跨在虚拟机和存储间通信的一座桥梁,使得虚拟机成为存储管理和存储策略的基本单元。[4]
如图5 所示[4],即为基于VMware 的虚拟机存储方案,其方案即为底层的磁盘阵列,通过存储分块等方法,分成1024 级数数目的LUN,之后通过vSphere 构成存储策略,即将划分为一个个Ubuntu 虚拟机。之后在上层客户端软件界面对虚拟机进行各种操作,转化成对磁盘容量的操作。
图5 非VVOL 存储方案
图6 VVOL 存储方案
如图6 所示[4],则是基于VVOL 的存储方案,相较于图5 来说。该方案将Ubuntu 虚拟机转换成一个个虚拟卷,该卷可分为一个VMDK、一个快照或一个配置文件进行操作。在层客户端软件界面对虚拟机进行操作时,就会转换成相对应的卷进行操作,这样将存储的管理单元由LUN级别缩减到虚拟机级别,使得存储管理更灵活高效。
4 结束语
本文通过对传统存储方案、基于VMware 的虚拟机存储方案和基于VVOL 的存储方案进行对比。可以看出VVOL 存储方案有诸多优势,例如提供虚拟机粒度的灵活高效的管理;分流数据负载;提供基于策略的管理;兼容性好,可与传统数据存储库共存等。