要存储虚拟磁盘,ESXi 可使用数据存储。数据存储是逻辑容器,它对虚拟机隐藏物理存储的特性,并提供一个统一的模型来存储虚拟机文件。块存储设备上部署的数据存储使用本机 vSphere 虚拟机文件系统 (Virtual Machine File System, VMFS) 格式。该格式是一种针对存储虚拟机而优化的特殊高性能文件系统格式。

使用 vSphere Client,可以在 ESXi 主机发现的基于块的存储设备上预先设置 VMFS 数据存储。

创建数据存储后,可以执行基本的管理操作,例如重命名、卸载或移除数据存储。您还可以执行更高级的任务,例如,扩展数据存储、管理重复的数据存储或收集数据存储诊断信息。

管理 VMFS 数据存储时使用的工作流通常包括以下操作。
操作 描述
1. 创建 vSphere VMFS 数据存储 ESXi 主机发现的基于块的存储设备设置 VMFS 数据存储。
2. 对数据存储执行基本管理操作 执行基本管理操作,例如重命名、卸载或移除数据存储。
3. 执行高级 VMFS 数据存储任务 执行更多高级任务,例如,扩展数据存储、管理重复的数据存储或收集数据存储诊断信息。
4. 浏览数据存储 使用 vSphere 环境中的数据存储文件浏览器管理数据存储的内容。您可以上载文件或文件夹,从数据存储下载文件,或者将文件夹或文件移动或复制到新位置。您还可以使用数据存储浏览器扩充精简虚拟磁盘。

VMFS 数据存储的版本

VMFS 文件系统自推出以来已发行多个版本。目前,ESXi 支持 VMFS5 和 VMFS6。

ESXi 对所有受支持的 VMFS 版本提供完全读取和写入支持。您可以在受支持的 VMFS 数据存储上创建虚拟机,并打开其电源。

表 1. 主机对 VMFS 版本的访问
VMFS ESXi
VMFS6 读取和写入
VMFS5 读取和写入
下表比较了 VMFS5 和 VMFS6 的主要特性。有关其他信息,请参见 《最高配置》
表 2. 比较 VMFS5 和 VMFS6
特性和功能 VMFS5 VMFS6
ESXi 主机 6.5 和更高版本的访问
ESXi 主机 6.0 和更早版本的访问
每个主机的数据存储 512 512
512n 存储设备 是(默认)
512e 存储设备 是。本地 512e 设备上不支持。 是(默认)
4Kn 存储设备
自动空间回收
通过 esxcli 命令进行手动空间回收。请参见手动回收 VMFS5 上累积的存储空间
从客户机操作系统回收空间 受限制
GPT 存储设备分区
MBR 存储设备分区

适用于之前从 VMFS3 升级的 VMFS5 数据存储。

每个 VMFS 数据区的存储设备大于 2 TB
支持具有大容量虚拟磁盘或磁盘大于 2 TB 的虚拟机
支持 1 KB 的小文件
支持 ATS 的存储设备默认使用“仅限 ATS”锁定机制。请参见vSphere VMFS 锁定机制
块大小 标准 1 MB 标准 1 MB
默认快照 虚拟磁盘的 VMFSsparse 小于 2 TB。

虚拟磁盘的 SEsparse 大于 2 TB。

SEsparse
虚拟磁盘模拟类型 512n 512n
vMotion
跨不同数据存储类型的 Storage vMotion
High Availability 和 Fault Tolerance
DRS 和 Storage DRS
RDM
使用 VMFS 数据存储时,请注意以下内容:
  • 数据存储数据区。跨区的 VMFS 数据存储必须仅使用同类存储设备,512n、512e 或 4Kn。跨区的数据存储无法在不同格式的设备之间扩展。
  • 块大小。VMFS 数据存储上的块大小定义最大文件大小和文件占用的空间量。VMFS5 和 VMFS6 数据存储支持 1 MB 的块大小。
  • Storage vMotion。Storage vMotion 支持跨 VMFS、vSANVirtual Volumes 数据存储执行迁移。vCenter Server 执行兼容性检查以验证跨不同类型的数据存储的 Storage vMotion。
  • Storage DRS。VMFS5 和 VMFS6 可以在同一数据存储集群中共存。然而,集群中的所有数据存储必须使用同类存储设备。请勿在同一数据存储集群中混用不同格式的设备。
  • 设备分区格式。任何新 VMFS5 或 VMFS6 数据存储都使用 GUID 分区表 (GUID Partition Table, GPT) 来格式化存储设备。利用 GPT 格式,可以创建大于 2 TB 的数据存储。如果 VMFS5 数据存储之前是从 VMFS3 升级而来,则它继续使用主引导记录 (MBR) 分区格式,这种格式是 VMFS3 的特征。仅当将数据存储扩展至大于 2TB 之后,才会转换为 GPT。

作为存储库的 VMFS 数据存储

ESXi 可以将基于 SCSI 的存储设备格式化为 VMFS 数据存储。VMFS 数据存储主要充当虚拟机的存储库。

注: 每个 LUN 始终只具有一个 VMFS 数据存储。

可以在同一个 VMFS 数据存储上存储多个虚拟机。封装在一组文件中的各个虚拟机都会占用单独的一个目录。对于虚拟机内的操作系统,VMFS 会保留内部文件系统语义,这样可以确保正确的应用程序行为以及在虚拟机中运行的应用程序的数据完整性。

当运行多个虚拟机时,VMFS 针对虚拟机文件提供特定的锁定机制。因此,在多个 ESXi 主机共享同一个 VMFS 数据存储的 SAN 环境中,虚拟机可以安全地操作。

除了虚拟机之外,VMFS 数据存储也可以存储其他文件,如虚拟机模板和 ISO 映像。

在主机间共享 VMFS 数据存储

作为一个集群文件系统,VMFS 允许多个 ESXi 主机同时访问同一个 VMFS 数据存储。

图 1. 在主机间共享 VMFS 数据存储
该图显示由多台服务器访问的单个 VMFS 数据存储。

有关可连接到单个 VMFS 数据存储的最大主机数目的信息,请参见《最高配置》文档。

为确保多个主机不会同时访问同一个虚拟机,VMFS提供磁盘锁定。有关 VMFS 使用的“仅限 ATS”和“ATS+SCSI”锁定机制的更多详细信息,请参见 vSphere VMFS 锁定机制。此外,还可以了解如何显示有关锁定机制的信息、如何从“ATS+SCSI”更改为“仅限 ATS”或如何降级到“ATS+SCSI”。

在多个主机之间共享 VMFS 卷可提供一些优势,例如以下优势:

  • 可以使用 VMware Distributed Resource Scheduling (DRS) 和 VMware High Availability (HA)。

    可以跨越不同的物理服务器分配虚拟机。这意味着,每个服务器上会运行一组虚拟机,这样一来,所有服务器就不会同时在同一个区域面临很高的需求。如果某台服务器发生故障,可以在另一台物理服务器上重新启动虚拟机。如果发生故障,每个虚拟机的磁盘锁定会被释放。有关 VMware DRS 的详细信息,请参见《vSphere 资源管理》文档。有关 VMware HA 的信息,请参见《vSphere 可用性》文档。

  • 可以使用 vMotion 将正在运行的虚拟机从一台物理服务器移动到另一台物理服务器。有关迁移虚拟机的信息,请参见《vCenter Server 和主机管理》文档。

要创建共享数据存储,可将数据存储挂载到要求数据存储访问的 ESXi 主机。请参见挂载数据存储

VMFS 元数据更新

VMFS 数据存储保存虚拟机文件、目录、符号链接、RDM 描述符文件等。数据存储还维护关于这些对象的所有映射信息的一致视图。这些映射信息称为元数据。

每次执行数据存储或虚拟机管理操作时,都会更新元数据。需要更新元数据的操作示例包括:

  • 创建、增加或锁定虚拟机文件
  • 更改文件的属性
  • 打开或关闭虚拟机电源
  • 创建或删除 VMFS 数据存储
  • 展开 VMFS 数据存储
  • 创建模板
  • 从模板部署虚拟机
  • 通过 vMotion 迁移虚拟机

在共享存储环境中执行元数据更改时,VMFS 使用特定的锁定机制保护其数据,并阻止多个主机同时向元数据执行写入操作。

VMFS 上的快照格式

生成快照时,将保留虚拟磁盘的状况,从而阻止客户机操作系统在该磁盘写入,并会创建增量磁盘或子磁盘。增量表示虚拟机磁盘的当前状况和上次生成快照时存在的状况之间的差异。在 VMFS 数据存储中,增量磁盘为稀疏磁盘。

稀疏磁盘使用写入时复制机制,在这种机制下,虚拟磁盘不包含任何数据,直到通过写入操作将数据复制到磁盘。此优化可节省存储空间。

根据数据存储的类型,增量磁盘使用不同的稀疏格式。

快照格式 VMFS5 VMFS6
VMFSsparse 适用于小于 2 TB 的虚拟磁盘。 不适用
SEsparse 适用于大于 2 TB 的虚拟磁盘。 适用于所有磁盘。
VMFSsparse
对于小于 2 TB 的虚拟磁盘,VMFS5 使用 VMFSsparse 格式。

VMFSsparse 在 VMFS 上实现。VMFSsparse 层处理向快照虚拟机发出的 I/O。从技术方面来讲,VMFSsparse 是一个重做日志,在刚生成虚拟机快照后最初是空的。在生成虚拟机快照后对整个 vmdk 重新写入新数据时,该重做日志将扩展到其基础 vmdk 的大小。该重做日志是 VMFS 数据存储中的一个文件。在创建快照之后,连接到虚拟机的基础 vmdk 会更改为新创建的稀疏 vmdk。

SEsparse
SEsparse 是 VMFS6 数据存储中所有增量磁盘的默认格式。在 VMFS5 中,SEsparse 用于大小为 2 TB 以及更大的虚拟磁盘。

SEsparse 格式与 VMFSsparse 类似,但具有一些增强功能。这种格式可以节省空间,并支持空间回收技术。通过空间回收,可标记客户机操作系统删除的块。系统将命令发送到 Hypervisor 中的 SEsparse 层以对这些块取消映射。取消映射可帮助在客户机操作系统删除该数据后回收 SEsparse 分配的空间。有关空间回收的详细信息,请参见vSphere 中的存储空间回收

快照迁移

利用快照可在不同的数据存储之间迁移虚拟机。下列注意事项适用:
  • 如果利用 VMFSsparse 快照将虚拟机迁移到 VMFS6,则快照格式会更改为 SEsparse。
  • 在将 vmdk 小于 2 TB 的虚拟机迁移到 VMFS5 时,快照格式会更改为 VMFSsparse。
  • 在同一层次结构中,不能混用 SEsparse 重做日志和 VMFSsparse 重做日志。

升级 VMFS 数据存储

您无法将 VMFS5 数据存储升级到 VMFS6。如果您的环境是 VMFS5 数据存储,请创建 VMFS6 数据存储,并将虚拟机从 VMFS5 数据存储迁移到 VMFS6。