如果 VMFS 数据存储出现问题,需要检查 VMFS 或为 VMFS 卷提供后备支持的逻辑卷的元数据一致性,可使用 VMware Ondisk Metadata Analyser (VOMA)。

问题

以下示例展示了可能需要执行元数据检查的情形:

  • 出现 SAN 故障。

  • 重新构建 RAID 或执行磁盘更换后。

  • vmkernel.log 文件中记录了元数据错误。

  • 无法访问 VMFS 数据存储上未由任何其他主机使用的文件。

结果

要检查元数据一致性,请从 5.1 或更高版本的 ESXi 主机上的 CLI 中运行 VOMA。VOMA 可以检查逻辑卷和 VMFS 的元数据一致性。您可以对 VMFS3 和 VMFS5 数据存储使用 VOMA。VOMA 将以只读模式运行,并且只用于确定问题。VOMA 不会修复所检测到的错误。要解决 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.600508e000000000b367477b3be3d703    3
  2. 运行 VOMA 以检查 VMFS 错误。

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

    # voma -m vmfs -f check -d /vmfs/devices/disks/naa.600508e000000000b367477b3be3d703: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

要运行的模块:vmfslvm。如果指定 vmfs,则也会对 LVM 执行最少量的检查。默认模块为 vmfs

-f | --func

要执行的功能:

query - 列出模块所支持的功能。

check - 检查错误。

-d|--device

要检查的设备或磁盘。请务必提供为 VMFS 数据存储提供后备支持的设备分区的绝对路径。例如,/vmfs/devices/disks/naa.00000000000000000000000000:1。

-s | --logfile

指定日志文件以输出结果。

-v | --version

显示 VOMA 的版本。

-h|--help

显示 VOMA 命令的帮助消息。