在共享存储环境中,当多台 ESXi 主机访问同一 VMFS 数据存储时,将使用锁定机制。锁定机制可防止多台主机同时写入元数据并确保不会发生数据损坏。VMFS 支持“仅限 ATS”和“ATS+SCSI”锁定。了解如何显示有关锁定机制的信息、如何从“ATS+SCSI”更改为“仅限 ATS”或如何降级到“ATS+SCSI”。

要了解有关 VMFS 作为集群文件系统的更多信息,请参见 vSphere VMFS数据存储概念和操作

根据 VMFS 数据存储的配置和底层存储的类型,VMFS 数据存储可能会使用不同类型的锁定机制。它可能会以独占方式使用原子测试并设置锁定机制(仅限 ATS),也可能会结合使用 ATS 和 SCSI 预留 (ATS+SCSI)。

“仅限 ATS”机制

对于支持基于 T10 标准的 VAAI 规格的存储设备,VMFS 可提供 ATS 锁定,也称为硬件辅助锁定。ATS 算法支持按磁盘扇区进行离散锁定。如果基础存储支持,则所有新格式化的 VMFS5 和 VMFS6 数据存储都将使用“仅限 ATS”机制,绝不会使用 SCSI 预留。

在创建使用 ATS 的多数据区的数据存储时,vCenter Server 会筛选出非 ATS 设备。通过此筛选,您可以仅使用支持 ATS 原语的设备。

在某些情况下,您可能需要更改 VMFS5 或 VMFS6 数据存储的默认锁定机制。有关信息,请参见将锁定机制更改为 ATS+SCSI

注: 如果运行的是 VMware vSAN 环境或具有仅限 ATS 的 VMFS 卷,请勿取消激活 ATS。取消激活 ATS 可能会导致中断,因为没有可用的锁定机制。有关详细信息,请参见 VMware 知识库文章

ATS+SCSI 机制

支持 ATS+SCSI 机制的 VMFS 数据存储将配置为使用 ATS 并尽可能尝试使用该机制。如果 ATS 失败,则 VMFS 数据存储将恢复为 SCSI 预留。与 ATS 锁定不同,SCSI 预留在执行需要元数据保护的操作时锁定整个存储设备。操作完成后,VMFS 会释放预留,并且可继续执行其他操作。

使用 ATS+SCSI 机制的数据存储包括从 VMFS3 升级的 VMFS5 数据存储。此外,存储设备上不支持 ATS 的新 VMFS5 或 VMFS6 数据存储将使用 ATS+SCSI 机制。

如果 VMFS 数据存储恢复为 SCSI 预留,则您可能会注意到因过多 SCSI 预留而导致的性能降低。

显示 VMFS 锁定信息

使用 esxcli 命令可获取有关 VMFS 数据存储使用的锁定机制的信息。

前提条件

安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。

过程

  • 要显示与 VMFS 锁定机制相关的信息,请运行以下命令:
    esxcli storage vmfs lockmode list

结果

下表列出了该命令的输出可能包括的项目。
表 1. VMFS 锁定信息
字段 描述
锁定模式 表示数据存储的锁定配置。
ATS 数据存储配置为使用“仅限 ATS”锁定模式。
ATS+SCSI 数据存储配置为使用 ATS 模式。如果 ATS 失败或不受支持,数据存储可以恢复至 SCSI。
ATS upgrade pending 数据存储正在联机升级到“仅限 ATS”模式。
ATS downgrade pending 数据存储正在联机降级到 ATS+SCSI 模式。
ATS 兼容 表示数据存储是否可以配置为“仅限 ATS”模式。
ATS 升级模式 表示数据存储支持的升级类型。
None 数据存储与“仅限 ATS”不兼容。
Online 数据存储在其升级到“仅限 ATS”模式的过程中可以使用。
Offline 数据存储在其升级到“仅限 ATS”模式的过程中无法使用。
ATS 不兼容原因 如果数据存储与“仅限 ATS”不兼容,该项会指明不兼容的原因。

VMFS 的“仅限 ATS”锁定机制

如果 VMFS 数据存储使用 ATS+SCSI 锁定机制,则可以更改为“仅限 ATS”锁定。

通常,此前从 VMFS3 升级的 VMFS5 数据存储继续使用 ATS+SCSI 锁定机制。如果在启用 ATS 的硬件上部署数据存储,则这些数据存储符合升级到“仅限 ATS”锁定的条件。根据您的 vSphere 环境,可以使用以下升级模式之一:
  • 联机升级到“仅限 ATS”机制适合于大多数单数据区 VMFS5 数据存储。当您在其中一个主机上执行联机升级时,其他主机可以继续使用数据存储。
  • 脱机升级到“仅限 ATS”必须用于跨越多个物理数据区的 VMFS5 数据存储。由多个数据区组成的数据存储不符合联机升级的条件。这些数据存储要求在收到升级请求时没有主机主动使用数据存储。

准备升级到“仅限 ATS”锁定

要为联机或脱机升级到“仅限 ATS”锁定做好环境准备,您必须执行多个步骤。

过程

  1. 将访问 VMFS5 数据存储的所有主机升级到最新版本的 vSphere。
  2. 通过运行 esxcli storage vmfs lockmode list 命令来确定数据存储是否符合升级其当前锁定机制的条件。
    以下示例输出表明数据存储符合升级条件,同时还显示当前锁定机制及适用于数据存储的升级模式。
    Locking Mode  ATS Compatible  ATS Upgrade Modes
    ------------  --------------  -----------------
    ATS+SCSI           true       Online or Offline
    
  3. 根据适用于数据存储的升级模式,执行以下操作之一:
    升级模式 操作
    联机 验证所有主机与 VMFS 数据存储的存储连接是否一致。
    脱机 验证所有主机是否均未使用数据存储。

将锁定机制升级到“仅限 ATS”类型

如果 VMFS 数据存储为“仅限 ATS”兼容,则可以将其锁定机制从 ATS+SCSI 升级至“仅限 ATS”。

未跨越多个数据区的大多数数据存储符合联机升级的条件。在其中一个 ESXi 主机上执行联机升级时,其他主机可以继续使用数据存储。只有在所有主机已关闭数据存储后,才能完成联机升级。

前提条件

如果打算通过将数据存储置于维护模式来完成锁定机制升级,请停用 Storage DRS。此必备条件仅适用于联机升级。

过程

  1. 通过运行以下命令执行锁定机制升级:
    esxcli storage vmfs lockmode set -a|--ats -l|--volume-label= VMFS label -u|--volume-uuid= VMFS UUID
  2. 对于联机升级,请执行额外的步骤。
    1. 关闭对数据存储具有访问权限的所有主机上的数据存储,以便主机可以识别更改。
      可使用下列方法之一:
      • 卸载并挂载数据存储。
      • 将数据存储置于维护模式并退出维护模式。
    2. 要验证数据存储的锁定模式状态是否已更改为“仅限 ATS”,请运行以下命令:
      esxcli storage vmfs lockmode list
    3. 如果锁定模式显示任何其他状态(例如 ATS UPGRADE PENDING),请通过运行以下命令检查尚未处理升级的主机:
      esxcli storage vmfs host list

将锁定机制更改为 ATS+SCSI

在支持原子测试和设置 (ATS) 锁定的设备上创建 VMFS5 数据存储时,该数据存储会使用“仅限 ATS”锁定机制。在某些情况下,可能需要将“仅限 ATS”锁定降级到 ATS+SCSI。

您可能需要切换到 ATS + SCSI 锁定机制,例如,在存储设备已降级,或者固件更新失败且设备不再支持 ATS 等情况下。

降级过程与“仅限 ATS”升级过程很相似。与升级一样,根据您的存储配置,可以在联机或脱机模式下执行降级。

注: 如果运行的是 VMware vSAN 环境或具有仅限 ATS 的 VMFS 卷,请勿取消激活 ATS。取消激活 ATS 可能会导致中断,因为没有可用的锁定机制。有关详细信息,请参见 VMware 知识库文章

过程

  1. 通过运行以下命令将锁定机制更改为 ATS+SCSI:
    esxcli storage vmfs lockmode set -s|--scsi -l|--volume-label= VMFS label -u|--volume-uuid= VMFS UUID
  2. 对于联机模式,在对数据存储具有访问权限的所有主机上关闭数据存储,以便主机可以识别更改。