了解 vSphere Virtual Volumes 功能的基本概念和不同组件。

虚拟卷对象

虚拟卷用于封装虚拟机文件、虚拟磁盘及其衍生内容。

虚拟卷存储在通过以太网或 SAN 连接到 ESXi 主机的存储系统本机内部。虚拟卷由存储系统导出为对象,并完全通过存储端的硬件进行管理。通常,唯一的 GUID 可标识虚拟卷。系统不会预置备虚拟卷,而是在执行虚拟机管理操作时自动创建虚拟卷。这些操作包括虚拟机创建、克隆和快照。ESXivCenter Server 会将一个或多个虚拟卷关联到虚拟机。

虚拟卷的类型

系统将为构成虚拟机的核心元素创建以下类型的虚拟卷:
数据 vVol
直接与每个虚拟磁盘 .vmdk 文件对应的数据虚拟卷。作为传统数据存储上的虚拟磁盘文件,虚拟卷将作为 SCSI 或 NVMe 磁盘提供给虚拟机。数据 vVol 可以厚置备,也可以精简置备。
配置 vVol
配置虚拟卷或主目录,它代表一个小目录,其中包含虚拟机的元数据文件。此类文件包括 .vmx 文件、虚拟磁盘的描述符文件、日志文件等等。配置虚拟卷将使用文件系统进行格式化。 ESXi 使用 SCSI 或 NVMe 协议连接到存储时,配置虚拟卷将使用 VMFS 进行格式化。使用 NFS 协议,配置虚拟卷将显示为 NFS 目录。它通常精简置备。
从 vSphere 7.0 Update 2 开始,合作伙伴可以将配置 vVol 增加到 4 GB.如果您的 Virtual Volumes 合作伙伴和您的环境支持此操作,请与合作伙伴一起实施。
vSphere 8.0 Update 2 支持对驻留在通过 SCSI 或 NVMe 协议访问的 Virtual Volumes 数据存储上的配置 vVol 进行空间回收。有关详细信息,请参见 回收 vSphere Virtual Volumes 数据存储上的空间
交换 vVol
首次打开虚拟机电源时创建。该虚拟卷用于保存内存中无法保留的虚拟机内存页副本。它的大小由虚拟机的内存大小决定。它默认为厚置备。
快照 vVol
用于保存快照的虚拟机内存内容的虚拟内存卷。厚置备。
有关详细信息,请参见 vSphere Virtual Volumes 快照
其他
用于特定功能的虚拟卷。例如,系统会为基于内容的读缓存 (CBRC) 创建一个摘要虚拟卷。

通常,虚拟机至少会创建三个虚拟卷:数据 vVol、配置 vVol 和交换 vVol。最大虚拟卷数量取决于虚拟机上驻留的虚拟磁盘数和快照数。

通过为不同虚拟机组件使用不同虚拟卷,可在最佳粒度级别应用和操作存储策略。例如,与虚拟机引导磁盘的虚拟卷相比,包含虚拟磁盘的虚拟卷具有一组更丰富的服务。

磁盘置备

Virtual Volumes 功能支持精简置备虚拟磁盘和厚置备虚拟磁盘的概念。但是,从 I/O 角度而言,通过阵列实现和管理精简置备或厚置备对 ESXi 主机来说是透明的。ESXi 会将与精简置备相关的任何功能卸载到存储阵列。

您可以在创建虚拟机时为虚拟磁盘选择精简置备或厚置备类型。如果磁盘为精简置备类型并驻留在 Virtual Volumes 数据存储上,则您以后无法通过扩充磁盘来更改其类型。

共享磁盘

您可以将共享磁盘放置到对 Virtual Volumes 支持 SCSI 永久预留的 Virtual Volumes 存储上。您可以使用此磁盘作为仲裁磁盘,并消除 MSCS 集群中的 RDM。有关详细信息,请参见《vSphere 资源管理》文档。

Virtual Volumes 存储提供程序

Virtual Volumes 存储提供程序也称为 VASA 提供程序,是一款在 vSphere 环境中充当存储感知服务的软件组件。该提供程序可调节一端的 vCenter ServerESXi 主机与另一端的存储系统之间的带外通信。

存储提供程序通过 VMware APIs for Storage Awareness (VASA) 实现,并用于管理 Virtual Volumes 存储的各个方面。

存储提供程序可提供来自基础存储容器的信息。在 vCenter ServervSphere Client 中都可以查看存储容器功能。反过来,存储提供程序会将虚拟机存储要求传达给存储层,您可以采用存储策略的形式定义这些要求。此集成过程可确保在存储层中创建的虚拟卷符合策略中概述的要求。

通常,供应商负责提供可与 vSphere 集成的存储提供程序,并为 Virtual Volumes 提供支持。每个存储提供程序必须经过 VMware 的认证并进行正确部署。有关部署 Virtual Volumes 存储提供程序以及将其升级到与当前 ESXi 版本兼容的版本的信息,请联系存储供应商。

部署存储提供程序后,必须将其注册到 vCenter Server。请参见为 Virtual Volumes 注册存储提供程序。要升级存储提供程序或可执行的其他操作,请参见管理 vSphere Virtual Volumes 的存储提供程序

Virtual Volumes 存储容器

与基于传统块或文件的存储不同,Virtual Volumes 功能不需要存储端的预配置存储。相反,Virtual Volumes 需要使用存储容器。存储容器是原始存储容量池,或者说是存储系统可提供给虚拟卷的存储容量的聚合。

存储容器是逻辑存储结构的一部分,并且是基础硬件的逻辑单元。存储容器将根据管理需求对虚拟卷进行逻辑分组。例如,存储容器可包含为多租户部署中的租户或企业部署中的部门创建的所有虚拟卷。每个存储容器作为一个虚拟卷存储,且虚拟卷将在存储容器容量外进行分配。

通常,存储端的存储管理员将定义存储容器。存储容器的数量、存储容量和大小取决于供应商特定的实施。每个存储系统至少需要一个容器。

注: 单个存储容器无法跨越不同的物理阵列。

注册与存储系统关联的存储提供程序后,vCenter Server 会发现所有已配置的存储容器及其存储功能配置文件、协议端点和其他属性。单个存储容器可导出多个功能配置文件。因此,具有不同需求和不同存储策略设置的虚拟机可以作为同一存储容器的一部分。

最初,所有发现的存储容器不会连接到任何特定主机,且您无法在 vSphere Client 中查看这些存储容器。要挂载存储容器,必须将其映射到 Virtual Volumes 数据存储。

静态协议端点

通过 SCSI 或 NFS 传输,ESXi 主机使用称为协议端点的逻辑 I/O 代理与虚拟卷进行通信。ESXi 使用协议端点按需建立从虚拟机到其各自虚拟卷的数据路径。

注: 本节中的信息仅适用于使用 SCSI 或 NFS 传输的静态协议端点。有关 NVMe 协议端点的详细信息,请参见 vSphere 中的 NVMe 和 Virtual Volumes

每个虚拟卷都会绑定到特定的协议端点。当主机上的虚拟机执行 I/O 操作时,协议端点会将 I/O 定向到相应的虚拟卷。一般来说,存储系统只需要几个协议端点。一个协议端点可以连接到数百或数千个虚拟卷。

在存储端,存储管理员可为每个存储容器配置一个或多个协议端点。协议端点是物理存储架构的一部分。存储系统通过存储提供程序导出协议端点以及关联的存储容器。将存储容器映射到 Virtual Volumes 数据存储后,ESXi 主机会发现协议端点,并且这些协议端点会显示在 vSphere Client 中。在存储重新扫描期间也可发现协议端点。多个主机可以发现和挂载协议端点。

vSphere Client 中,可用的协议端点列表类似于主机存储设备列表。不同的存储传输可用于向 ESXi 公开协议端点。如果使用基于 SCSI 的传输,则协议端点表示由基于 T10 的 LUN WWN 定义的代理 LUN。对于 NFS 协议,协议端点是挂载点,例如 IP 地址和共享名称。您可以在基于 SCSI 的协议端点上配置多路径,但不能在基于 NFS 的协议端点上执行此操作。无论使用何种协议,存储阵列都可以提供多个协议端点以实现可用性。

协议端点按阵列管理。ESXivCenter Server 假设针对阵列报告的所有协议端点都与该阵列上的所有容器关联。例如,如果某个阵列有两个容器和三个协议端点,ESXi 会假设这两个容器上的虚拟卷可以绑定到全部三个协议点。

有关在 vSphere Client 中查看静态协议端点的信息,请参见查看和管理静态协议端点

绑定和解除绑定 Virtual Volumes

虚拟卷在创建时是被动实体,不会立即就可供进行 I/O 操作。要访问虚拟卷,ESXivCenter Server 会发送绑定请求。

存储系统使用变为虚拟卷访问点的协议端点 ID 进行响应。协议端点接受发送到虚拟卷的所有 I/O 请求。ESXi 发送虚拟卷解除绑定请求之前,此绑定一直存在。

对于相同虚拟卷上的后续绑定请求,存储系统会返回不同的协议端点 ID。

使用 NVMe 协议时,绑定虚拟卷响应会提供 NVMe 子系统 NQN 和命名空间虚拟卷对象的命名空间 ID (nsid)。ESXi 主机使用此信息并将其解析为子系统中的 ANA 组。如果与此 ANA 组相对应的虚拟协议端点 (vPE) 不存在,则会创建 vPE。vPE 用于将所有 I/O 请求定向到 Virtual Volumes

从多个 ESXi 主机接收发送到虚拟卷的并行绑定请求时,存储系统会向每个请求 ESXi 主机返回相同或不同的端点绑定。也就是说,存储系统会通过不同端点将不同并行主机绑定到相同虚拟卷。

解除绑定操作会移除虚拟卷的 I/O 访问点。存储系统可能会立即解除绑定协议端点中的虚拟卷,也可能在延迟一段时候或采取其他一些操作之后解除绑定。解除绑定后,才能删除绑定的虚拟卷。

Virtual Volumes 数据存储

Virtual Volumes 数据存储表示 vCenter ServervSphere Client 中的存储容器。

vCenter Server 发现存储系统导出的存储容器后,您必须将它们挂载为 Virtual Volumes 数据存储。Virtual Volumes 数据存储不按传统方法进行格式化,例如,VMFS 数据存储。您仍需创建此类数据存储,因为所有 vSphere 功能(包括 FT、HA、DRS 等)均需要数据存储构造才能正常运行。

可以在 vSphere Client 中使用数据存储创建向导将存储容器映射到 Virtual Volumes 数据存储。您创建的 Virtual Volumes 数据存储直接对应于特定的存储容器。

从 vSphere 管理员角度而言,Virtual Volumes 数据存储类似于任何其他数据存储且用于保存虚拟机。与其他数据存储一样,Virtual Volumes 数据存储可供浏览并按虚拟机名称列出虚拟卷。与传统数据存储一样,Virtual Volumes 数据存储支持卸载和挂载操作。但是,升级和调整大小等操作不适用于 Virtual Volumes 数据存储。存储管理员在 vSphere 之外配置 Virtual Volumes 数据存储容量。

您可以将 Virtual Volumes 数据存储与传统 VMFS 和 NFS 数据存储以及 vSAN 配合使用。
注: 虚拟卷的大小必须是 1 MB 的倍数,最小大小为 1 MB。因此,在 Virtual Volumes 数据存储中置备的所有虚拟磁盘必须为 1 MB 的偶数倍。如果迁移到 Virtual Volumes 数据存储的虚拟磁盘大小不是 1 MB 的偶数倍,请将磁盘大小扩展到最接近的 1 MB 的偶数倍。

要创建 Virtual Volumes 数据存储,请参见在 vSphere 环境中创建 Virtual Volumes 数据存储

Virtual Volumes 和虚拟机存储策略

Virtual Volumes 数据存储中运行的虚拟机需要具有虚拟机存储策略。

虚拟机存储策略是一组包含虚拟机放置和服务质量要求的规则。该策略将在 Virtual Volumes 存储内强制实施虚拟机的适当位置放置,并保证存储可满足虚拟机的需求。

使用“虚拟机存储策略”界面创建 Virtual Volumes 存储策略。将新策略分配给虚拟机时,该策略将强制 Virtual Volumes 存储满足相关要求。

Virtual Volumes 默认存储策略

对于 Virtual Volumes,VMware 提供不包含规则或存储要求的默认存储策略,称为 Virtual Volumes 无要求策略。如果没有为 Virtual Volumes 数据存储上的虚拟机指定其他策略,则向虚拟机对象应用此策略。使用“无要求”策略时,存储阵列可决定虚拟机对象的最佳放置。

VMware 提供的默认“无要求”策略具有以下特性:

  • 无法删除、编辑或克隆此策略。
  • 此策略仅与 Virtual Volumes 数据存储兼容。
  • 您可以为 Virtual Volumes 创建虚拟机存储策略,并将其指定为默认策略。

Virtual Volumes 和存储协议

Virtual Volumes 存储系统提供可在物理存储架构上发现的协议端点。ESXi 主机使用协议端点连接到存储上的虚拟卷。协议端点的操作取决于向 ESXi 主机公开端点的存储协议。

Virtual Volumes 支持 NFS 版本 3 和 4.1、iSCSI、光纤通道、FCoE、NVMe over Fibre Channel 和 NVMe over TCP。

不管使用何种存储协议,协议端点均会提供同时访问 SAN 和 NAS 存储的统一权限。虚拟卷类似于其他传统数据存储上的文件,可以作为 SCSI 或 NVMe 磁盘提供给虚拟机。

注:

存储容器专用于 SAN (SCSI 或 NVMe) 或 NAS,不能在这些协议类型之间共享。阵列可以提供一个具有 SCSI 协议端点的存储容器和另一个具有 NFS 协议端点的容器。容器不能同时使用 SCSI、NVMe 和 NFS 存储访问协议。

Virtual Volumes 和基于 SCSI 的传输

在磁盘阵列上,Virtual Volumes 支持光纤通道、FCoE 和 iSCSI 协议。

如果使用基于 SCSI 的协议,则协议端点表示由基于 T10 的 LUN WWN 定义的代理 LUN。

和任何基于块的 LUN 一样,协议端点是使用标准 LUN 发现命令发现的。ESXi 主机定期重新扫描新设备,并异步发现基于块的协议端点。可以从多个路径访问协议端点。这些路径上的流量遵从已知的路径选择策略,这对 LUN 来说是典型的行为。

在基于 SCSI 的磁盘阵列上,在创建虚拟机时,ESXi 会创建虚拟卷,并将其格式化为 VMFS。该小容量虚拟卷存储所有虚拟机元数据文件,称为配置 vVol。配置 vVol 用作 vSphere 的虚拟机存储定位符。

磁盘阵列上的 Virtual Volumes 支持的 SCSI 命令集与 VMFS 相同,并使用 ATS 锁定机制。

对 iSCSI 端点支持 CHAP

Virtual Volumes 对 iSCSI 目标支持质询握手访问协议 (CHAP)。借助此支持,ESXi 主机可与 Virtual Volumes 存储提供程序(也称为 VASA 提供程序)共享 CHAP 启动器凭据,且 Virtual Volumes 存储提供程序能够发出系统事件,通知 vCenter Server 有关对存储阵列上的 CHAP 目标凭据所做的更改。

每个 ESXi 主机可以具有多个 HBA,并且每个 HBA 都可以配置属性。其中一个属性是 HBA 必须使用的身份验证方法。身份验证是可选项,但如果实施,则必须同时受启动器和目标支持。CHAP 是一种可在启动器和目标之间双向使用的身份验证方法。

有关不同 CHAP 身份验证方法的详细信息,请参见选择 CHAP 身份验证方法。要在 ESXi 主机上配置 CHAP,请参见为 ESXi 主机上的 iSCSI 或 iSER 存储适配器配置 CHAP 参数

Virtual Volumes 和 NFS 传输

对于 NAS 存储,协议端点是 ESXi 主机使用 IP 地址或 DNS 名称和共享名称挂载的 NFS 共享。Virtual Volumes 支持使用 NFS 版本 3 和 4.1 访问 NAS 存储。同时支持 IPv4 地址和 IPv6 格式。

无论使用哪个版本,存储阵列都可以提供多个协议端点以实现可用性。

此外,NFS 版本 4.1 引入了支持负载均衡和多路径的中继机制。

NAS 设备上的 Virtual Volumes 支持的 NFS 远程过程调用 (RPC) 与 ESXi 主机在连接到 NFS 挂载点时使用的 RPC 相同。

在 NAS 设备上,配置 vVol 是与配置 vVolID 对应的目录子树。配置 vVol 必须支持 NFS 所必需的目录和其他操作。

Virtual Volumes 和 NVMe

Virtual Volumes 支持 NVMe 协议,包括 NVMe over Fibre Channel 和 NVMe over TCP。虚拟卷对象映射到 NVMe 子系统中的命名空间。NVMe 子系统中的 ANA 组被视为 ESXi 主机上的虚拟协议端点。

虚拟协议端点用于在 ANA 组状态更改时进行路径状态管理。ESXi 主机会按需动态发现 ANA 组。这意味着,仅当 ESXi 主机需要对 NVMe 子系统中的命名空间虚拟卷进行 I/O 访问时,才会创建虚拟协议端点。NVMe 上的 Config-vVol 类似于使用 VMFS 格式化的 SCSI。它们还用于存储虚拟机元数据文件。

要在 ESXi 主机上配置具有 Virtual Volumes 的 NVMe,请参见 vSphere 中的 NVMe 和 Virtual Volumes

Virtual Volumes 架构

架构图提供 Virtual Volumes 功能的所有组件如何互相交互的概览。

下图描述了 Virtual Volumes 的不同组件如何进行交互。

有关 Virtual Volumes 架构的信息,请观看视频。