刘洁 何俊林 汪晓飞
【摘要】虚拟卷VVols技术是软件定义存储SDS重要组成部分之一,本文主要通过探究传统的虚拟化解决方案中缺陷和不足,以及对于虚拟卷VVols技术相关组件的研究,从而更加深入了解虚拟卷VVols技术如何解决传统解决方案的缺陷。
【关键词】VMware;VVol(Virtual Volume);SDS(Software Define Storage)
一、引言
面对传统存储管理模式的缺陷和挑战,例如存储容量难以横向扩展、异构厂商设备的互不兼容等问题,VMware公司提供了虚拟卷VVols的解决方案。虚拟卷VVols(Virtual Volumes)是VMware公司的软件定义存储SDS框架的一部分。VVols通过将存储资源,I/O资源抽象化和池化以及基于存储策略的管理(SPBM)等技术,使得vSphere管理员在存储上创建虚拟机及其相关操作更方便灵活,更易于管理和实现。
二、传统VMware存储技术的缺陷
在VMware公司的虚拟卷VVols技术使用之前,也就是目前常用的部署虚拟机的流程大致如下:
(1)虚拟机管理员预先向存储管理员讨论虚拟机的基础存储要求(比如容量,内存和性能,还有数据保护、冗余、快照之类的数据服务)。
(2)存储管理员在相应磁盘阵列上创建满足虚拟机需求的存储池。
(3)存储管理员将该存储池按照LUNs(块存储,VMFS)或NFS方式划分,并将其提供给ESXi主机。
(4)存储管理员使用诸如vCenter或vSphere Web Client等VMware管理工具,在提供的存储上部署并管理V虚拟机。
显然,当前在存储上部署虚拟机的流程复杂且耗时。部署一个虚拟机需要存储管理团队中不同角色之间紧密协同合作。
此外,以上过程还存在缺陷:
(1)无法预先知道需要配置多少。存储管理员往往出于未来使用量增加的考虑,会预先多配置容量,从而导致配置过剩和性能浪费。
(2)需要在LUN级别上进行操作。一个存储池中存放了很多虚拟机,vSphere管理员很难对某个特定虚拟机进行特定配置和操作。
(3)虚拟机相关信息的文件是直接与底层存储进行关联的,耦合度太高。
三、虚拟卷VVols技术
随着软件定义存储SDS技术的发展,人们对于存储使用要求有了进一步的提升。除了需要解决上述传统的VMware存储技术的缺陷以外,还要面对异构的存储设备、需要提供统一的存储资源池和跨设备提供数据服务等问题。
虚拟卷VVols是VMware公司软件定义存储SDS框架的重要组成部分之一。根据VMware官方介绍:“Virtual Volumes践行 VMware SDS愿景的核心原则,以求在虚拟化环境中实现能从根本上提高效率的存储运维模式,从而集中关注虚拟机而不是物理基础架构。”,虚拟卷VVols可以从根本上提高存储使用的效率。
虚拟卷VVols通过以下几个组件构成:(1)VVols;(2)存储容器Storage Containers (SC);(3)协议端点Protocol Endpoints (PE);(4)vSphere存储感知Sphere API for Storage Awareness(VASA);(5)存储策略的管理Storage Policy Based Management (SPBM)。
以下对核心组件构成进行说明:
1.VVols
Virtual Volumes(VVols)是创建并存储在磁盘阵列上的新型虚拟机对象。传统的架构中,虚拟机在存储上的表现形式是VMFS文件系统(如vmdk)。VVols架构则去掉了原来的VMFS文件系统这一抽象层,取而代之是通过存储容器Storage Container技术向用户提供了一个一致统一的抽象层。这样,向上一层用户(即虚拟机)封装了底层存储的细节,用户不再需要知道数据到底存储在什么地方。从而实现存储的定义和使用相互分离的目的,达到软件定义存储SDS中的存储高度横向可扩展性的目的。
2.存储容器
虚拟卷VVols则存储在存储容器(SC)上。存储容器SC是由存储管理员定义和创建的,是纯逻辑存储结构。SC有点类似于储存池的概念,是底层存储容量的资源池,用来分配和约束存储容量。同时,由于SC是逻辑实体结构,这样理论上,SC支持实时、无中止的容量扩展和收缩。
通过SC可以有效整合异构磁盘组成的阵列,对外提供一个统一的存储资源池。
SC还可以提供更大程度的灵活性,除了可以按照传统的方式,即为某种类型或配置的存储池创建特定SC,我们还可以给包含不同配置和类型的整个磁盘阵列创建一个SC。事实上,传统的方式并不是最优化的方案,因为我们可以在更上层使用基于策略的方式给虚拟机指定磁盘策略(VM Storage Policy),从而达到硬件存储資源的创建和使用分离的目的。
3.协议端点
存储容器SC虚拟化了存储阵列,让虚拟机的相关数据文件通过虚拟卷VVols的方式存储在存储容器SC上,不过还需要解决vSphere(即ESXi Host主机)与存储阵列的I/O数据传输方式的问题。协议端点PE(Protocol Endpoints)组就是解决ESXi主机与存储阵列之间I/O数据传输交流的新机制。PE类似于I/O代理,是ESXi主机和虚拟卷之间的I/O连接通道,通过在存储阵列上添加并实现PE,ESXi主机不直接从存储上的虚拟卷VVols获取数据,而是通过PE组件与虚拟卷VVols进行通信。与传统方式进行类比,对于块设备阵列,那么上面的PE可以看成一个特殊的LUN;对应NFS阵列,那么PE就可以看成一个挂载点(Mount point)。
PE兼容目前的主流的SAN/NAS标准协议,比如iSCSI、NFSv3、Fiber Channel (FC)和Fiber Channel over Ethernet (FCoE)。
4.vSphere存储感知
存储设备上协议端点PE提供的协议方式由存储厂商决定并实现,然后,通过vSphere API for Storage Awareness(VASA)组件实现vSphere自动感知相应的PE,并选择相应的PE实现I/O数据的传输通信。
其中,存储感知(VASA)组件Sphere 5.0引入的一组API,是存储提供者和存储使用者之间新的一套标准交流方式。在没有VASA之前,想要确认物理LUN的特征属性,如ID、容量、精简配置、去重、分层、RAID等等存储端的信息,是无法直观的从vSphere获得的。使用VASA后,就可以让vSphere直接获取存储阵列的相关信息,这样方便存储管理员管理存储资源,以及根据存储资源准确做出决策。
5.存储策略管理
通过存储策略的管理(SPBM),可以实现软件定义的存储实现策略驱动(Policy -driven)的自动化。通过SPBM,可以定义不同存储的需求(容量、性能和可用性等)策略供存储使用者调用,实现存储服务的定义和使用分离的目的,支持大规模地自动执行调配存储,并能动态实时监控各个虚拟机的存储服务级别。
在实际VVols架构中,SPBM 流程大致如下:vSphere管理工具定义了虚拟机的存储策略(VM Storage Polices)后,会通过VASA与存储端检查指定的策略和用户的级别(如金、银、铜)是否符合规范。然后,在不同级别的用户在使用存储来创建虚拟机时,会自动根据各自的策略在底层存储阵列上分配相应的存储空间和性能指标。
由此可见,通过策略驱动的自動化功能实现的动态控制使您能够灵活地控制虚拟机的存储使用量,从而最终加快新应用调配速度并简化变更管理,虚拟机管理员不再需要依赖存储管理员来完成基础架构变更请求。虚拟机管理员可以灵活地更改策略,而所需的基础架构也可自动更改配置。快速根据业务的变化及时做出调整。
四、结论
通过VMware的新架构虚拟卷VVols技术的实现,可以达到避免传统部署虚拟机的缺陷,可以对虚拟机的资源消耗的控制可以更精确,同时通过SPBM等策略使得部署虚拟机更方便耗时更少,虚拟机管理员可以为特定虚拟机提供更加精准、灵活的存储数据服务级别。
作者简介
刘洁,本科在读;何俊林,讲师,成都师范学院计算机科学学院教师; 汪晓飞,副教授,成都师范学院计算机科学学院教师;*为通讯作者.