使用 vSphere On-disk Metadata Analyzer (VOMA) 检查 VMFS 元数据一致性

Summary: VOMA 工具可用于对元数据执行文件系统检查。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

  • 访问 VMFS 数据存储区上的某些文件时
  • 无法修改或擦除 VMFS 数据存储区上的文件
  • 尝试读取 VMFS 数据存储上的文件时失败并显示错误

 

参数
无效尝试修改分区表时失败,并显示错误:

Error: Read-only file system during write on /dev/disks/naa.600601603b503400de93e0a87e9ce211
SetPtableGpt: Unable to commit to disk

在 /var/log/vmkernel 文件中,可以看到类似于以下内容的条目:

vmkernel: 0:00:20:51.964 cpu3:1085)WARNING: Swap: vm 1086: 2268: Failed to open swap file '/volumes/4730e995-faa64138-6e6f-001a640a8998/mule/mule-560e1410.vswp': Invalid metadata
vmkernel: 0:00:20:51.964 cpu3:1085)WARNING: Swap: vm 1086: 3586: Failed to initialize swap file '/volumes/4730e995-faa64138-6e6f-001a640a8998/mule/mule-560e1410.vswp': Invalid metadata
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 $

 

Cause

以下情形适用于执行元数据检查:

  • 环境遇到存储中断。
  • 重建 RAID 卷或更换磁盘后
  • vmkernel.log文件中存在元数据错误。
  • 它无法访问任何其他主机上不存在的 VMFS 数据存储上的文件。

 

Resolution

先决条件:
在运行 VOMA 之前,需要确保:

  1. 关闭受影响数据存储区上或迁移到另一个数据存储区的所有虚拟机。
    • 如果 vSphere On-disk Metadata Analyzer 关闭在具有某些类型的损坏元数据的文件上运行的虚拟机,可能会使虚拟机及其数据永久不可用。因此,始终建议在环境中拥有虚拟机的当前备份。
  2. 对于 VMFS-5/VMFS-6 数据存储区,将在所有 ESXi 7.x/8.x 主机上卸载数据存储区。
    • 如果针对有权访问一个或多个 ESXi 主机的卷运行 VOMA,则 VOMA 会生成类似于以下内容的消息:
      voma -m vmfs -d /vmfs/devices/disks/naa.00000000000000000000000000:
      Checking if device is actively being used by other hosts
      Found 1 actively heart beating hosts on device '/vmfs/devices/disks/naa.00000000000000000000000000:1'
      1): MAC Address xx:xx:xx:xx:xx:xx

要检查元数据一致性,请从 ESXi 主机的 CLI 运行 VOMA。VOMA 可用于检查和修复 VMFS 数据存储区或支持 VMFS 数据存储区的逻辑卷的细微不一致问题。

 

VOMA可以检查并修复以下项目。

VOMA 函数 描述
Metadata
check and fix
元数据检查和修复的示例包括但不限于以下内容:
  • 验证 VMFS 卷标头以实现基本元数据一致性
  • 检查 VMFS 资源文件的一致性
  • 检查所有文件的路径名和连接性
Affinity metadata
check and fix
要为 VMFS6 启用相关性检查,请使用 -a|--affinityChk 选项。
相关性元数据检查和修复的几个示例包括:
  • 资源类型和FS3_ResFileMetadata中的关联标记。
  • 验证 SFB RC 元 (FS3_ResourceClusterMDVMFS6) 中的关联标记。
  • 验证 RC 的 rcMeta 中的 affinityInfo 条目中的所有条目,包括溢出密钥,以确保不存在无效条目。检查是否缺少条目。
Directory validation
VOMA可以检测并纠正以下错误:
  • 目录哈希块损坏
  • Alloc 映射损坏
  • 链路数据块损坏
  • 目录条目块损坏
Lost and found files
在文件系统检查期间,VOMA 可以查找文件系统中未在任何位置引用的文件。这些孤立文件有效且完整,但在系统上没有名称或目录条目。
如果 VOMA 在扫描过程中遇到孤立文件,它会在卷的根目录创建一个名为 lost+found 的目录来存储孤立文件。文件的名称使用“文件序列号”格式。

VOMA 工具采用的命令选项包括:

Command 选项 描述
-m|--module
可用模块包括:
  • lvm
  • vmfs
  • ptbl
-f|--func
模块支持的功能:
  • 查询 — 支持函数的列表。
  • 检查 - 检查错误。
  • 修复 - 检查并修复。
  • Advfix — 检查并修复 VMFS 和 LVM 模块。
  • 转储 — 收集元数据转储。
-a|--affinityChk
包括针对 VMFS6 的相关性相关检查/修复。
-d|--device
要使用的设备和磁盘。
例如:
voma -m vmfs -f check -d /vmfs/devices/disks/naa.xxxx:x
-b|--blockSize
指示磁盘块大小。
-s|--logfile
指定要输出结果的日志文件的路径。
-x|--extractDump
使用 VOMA 提取收集的转储。
-D|--dumpfile
指示用于保存收集的元数据转储的转储文件。
-v|--version
显示 VOMA 的版本。
-h|--help
显示 VOMA 命令的帮助消息。
-Y
指示 VOMA 运行时不使用 PE 表解析地址。
-Z| --file
指示 VOMA 在解压的设备文件上运行。

 

程序:
获取支持要检查的 VMFS 数据存储区的设备的名称和分区号。

#esxcli storage vmfs extent list

输出中的 Device Name和 Partition列标识设备。例如:

Volume Name  .....  Device Name                             Partition  
1TB_VMFS6    .....  naa.xxxx                                   3

检查 VMFS 错误。
提供支持 VMFS 数据存储区的设备分区的绝对路径,并提供分区号和设备名称。例如:

# voma -m vmfs -f check -d /vmfs/devices/disks/naa.xxxx:x
The output lists possible errors. For example, the following output indicates that the heartbeat address is invalid.
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

 

参考文档:
使用 vSphere On-disk Metadata Analyzer (VOMA) 检查 VMFS 元数据一致性 (broadcom.com)此超链接会将您带往 Dell Technologies 之外的网站。Checking Metadata Consistency with VOMA (vmware.com)查看原文查看
译文此超链接会将您带往 Dell Technologies 之外的网站。

 

Affected Products

VMware ESXi 7.x, VMware ESXi 8.x
Article Properties
Article Number: 000226655
Article Type: Solution
Last Modified: 28 Jan 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.