巅峰战队|彻底理解VMware vSphere 下的虚拟卷-vVols

本文简要介绍一下在vSphere 6.7/7.0中vVol的相关内容 。 随着虚拟化技术的发展 , 新的概念不断被引入 。 特别是VMWare的产品更是新概念不断 , 让人眼花缭乱 。
vVol是的全称是Virtual Volume , 也就是虚拟卷 。 但是vVol并非传统意义上卷的概念 , 它更多的是一个对SAN和NAS进行虚拟化集成与管理的框架 。 该框架式提供了一个更加有效的对虚拟化环境进行管理的模型 , 同时将数据中心以基础设施为中心转换为以应用为中心 。 从而使得虚拟化技术更好的为应用服务 。
vVol通过一种基于策略驱动的自动化方法来简化操作 。 这使得更加灵活的满足虚拟机对存储的消费 , 同时可以实现按需实时动态调整 。 它通过对硬件资源及以虚拟卷为粒度的基于磁盘阵列的数据服务的更精细的控制来简化向应用交付存储服务级别操作 。 这里的存储服务级别是指不同性能的存储资源 。
如下图所示 , 通过vVol将多台不同性能的SAN或者NAS设备虚拟化为一个称为Datastore的资源池 。 而虚拟机所需资源都是从该池分配 。
巅峰战队|彻底理解VMware vSphere 下的虚拟卷-vVols基于vVol ,WMware提供了一个虚拟机及其磁盘粒度的视图 , 而非LUN , 使其变成了一个存储系统管理单元 。 vVol封装了虚拟磁盘和其他虚拟卷文件 , 并且将其存储在存储系统上 。
vVol概述vVol是从存储阵列导出的VMDK粒度的存储实体 。 vVol通过一个很小的协议终端(Protocal end-point , 简称PE)集合导出到ESXi主机 。 PE是物理存储结构的一部分 , 其按需的建立起虚拟卷到期望vVol之间的数据通路 。 存储系统在vVol上提供数据服务 。 结果是这些数据服务就是新的vVol 。 相对于数据路径 , 数据服务、配置和虚拟卷的管理等则是带外的 。 为了管理方便 , 多个vVol可以被打包为一个称为存储容器(SC)的逻辑项 。
vVol和存储容器形成了虚拟存储结构 , PE是物理存储结构的一部分 。 这点大家需要区分清楚 。
通过使用一系列的称为存储感知的vSphere API(VASA) , 存储系统可以感知vVol和其相关的虚拟机 。 通过VASA , vSphere和底层的存储系统建立了两路带外通信链路 。 通过该通信链路vSphere可以执行数据服务操作并将某些虚拟机的操作卸载到存储系统端完成 。 例如快照和克隆等 , 可以从虚拟卷端转移到存储端来执行 。
对于带内通信 , vSphere仍然通过标准的SCSI和NFS协议 。 于是 , vVol可以支持任意类型的存储系统 , 包括iSCSI、FC、FCoE和NFS等 。

  • vVols 代表一个虚拟卷的虚拟磁盘 , 它是一个128位的GUID标识的抽象对象 , 并被存储系统硬件管理 。
  • 模型从数据存储的空间管理转变为磁盘阵列的抽象对象的管理 。
  • 存储硬件可以完全控制虚拟磁盘的内容、布局和管理 。
VMware的很多合作伙伴在其阵列中添加了多vVol的支持 。 为了端到端的支持 , HBA卡驱动需要实现对基于vVol设备的支持 。 这需要为SCSI驱动提供一个新的API , 该API用于获得二级LUNID(SLLID) 。
巅峰战队|彻底理解VMware vSphere 下的虚拟卷-vVolsvVol 核心组件简述vVol包含5个主要的组件 , 分别是vVol设备 , 协议终端(PE) , 存储容器(SC) , VASA提供者和阵列 。 所有这些组件被VSphere栈的不同组件所管理或者使用 。 比如Virtual Center(VSSA , SPBM) , ESXi(Hostd , VVolD , VVol FDS 驱动) 。 关于vVol的整体特性 , 我们概述如下: