使用 vSphere On-disk Metadata Analyzer (VOMA) 可确定影响文件系统或基础逻辑卷的元数据损坏事件。

问题

在遇到与 VMFS 数据存储或虚拟闪存资源有关的问题时,您可以检查元数据一致性。例如,发生下列任一情况时,请执行元数据检查:
  • 出现存储故障。
  • 重新构建 RAID 或执行磁盘更换后。
  • 您在 vmkernel.log 文件中看到了如下所示的元数据错误:
    cpu11:268057)WARNING: HBX: 599: Volume 50fd60a3-3aae1ae2-3347-0017a4770402 ("<Datastore_name>") may be damaged on disk. Corrupt heartbeat detected at offset 3305472: [HB state 0 offset 6052837899185946624 gen 15439450 stampUS 5 $
  • 无法在 VMFS 上访问文件。
  • 您在 vCenter Server 的事件选项卡中看到正在报告数据存储的损坏问题。

解决方案

要检查元数据一致性,请从 ESXi 主机上的 CLI 中运行 VOMA。VOMA 可用于检查并修复 VMFS 数据存储或虚拟闪存资源的微小不一致问题。要解决 VOMA 报告的错误,请咨询 VMware 技术支持。

使用 VOMA 工具时,请遵循以下准则:
  • 确保所分析的 VMFS 数据存储未跨越多个数据区。只能对单数据区数据存储运行 VOMA。
  • 关闭所有正在运行的虚拟机的电源,或者将这些虚拟机迁移至另一数据存储。
以下示例演示了如何使用 VOMA 检查 VMFS 元数据一致性。
  1. 获取为想要检查的 VMFS 数据存储提供后备支持的设备的名称和分区编号。

    #esxcli storage vmfs extent list

    输出中的“Device Name”列和“Partition”列用于标识该设备。例如:
    Volume Name  XXXXXXXX  Device Name                             Partition  
    1TB_VMFS5    XXXXXXXX  naa.00000000000000000000000000000703    3
  2. 检查 VMFS 错误。

    提供为 VMFS 数据存储提供后备支持的设备分区的绝对路径,并为分区编号提供设备名称。例如:

    # voma -m vmfs -f check -d /vmfs/devices/disks/naa.00000000000000000000000000000703:3

    输出将列出可能的错误。例如,以下输出表示检测信号地址无效。

    XXXXXXXXXXXXXXXXXXXXXXX
    Phase 2: Checking VMFS heartbeat region
     ON-DISK ERROR: Invalid HB address
    Phase 3: Checking all file descriptors.
    Phase 4: Checking pathname and connectivity.
    Phase 5: Checking resource reference counts.
    
    Total Errors Found:           1

VOMA 工具附带的命令选项包括以下各项。

表 1. VOMA 命令选项
命令选项 描述
-m|--module 要运行的模块,包括:
vmfs 如果您未指定模块名称,则默认情况下使用此选项。

您可以检查 VMFS 文件系统,以及为虚拟闪存资源提供支持的文件系统。如果指定了此模块,也会对 LVM 执行最少量的检查。

lvm 检查为 VMFS 数据存储提供支持的逻辑卷。
ptbl 检查并验证 VMFS 分区,例如 MBR 或 GPT。如果不存在分区,请确定是否应存在分区。
-f|--func 要执行的功能,包括:
query 列出模块所支持的功能。
check 检查错误。
-d|--device 要检查的设备或磁盘。请务必提供为 VMFS 数据存储提供后备支持的设备分区的绝对路径。例如,/vmfs/devices/disks/naa.00000000000000000000000000:1。
-s|--logfile 指定日志文件以输出结果。
-v|--version 显示 VOMA 的版本。
-h|--help 显示 VOMA 命令的帮助消息。

有关更多详细信息,请参见 VMware 知识库文章 2036767