使用 vSphere On-disk Metadata Analyzer (VOMA) 检查 VMFS 元数据一致性
Сводка: VOMA 工具可用于对元数据执行文件系统检查。
Данная статья применяется к
Данная статья не применяется к
Эта статья не привязана к какому-либо конкретному продукту.
В этой статье указаны не все версии продуктов.
Симптомы
- 访问 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 $
Причина
以下情形适用于执行元数据检查:
- 环境遇到存储中断。
- 重建 RAID 卷或更换磁盘后
- vmkernel.log文件中存在元数据错误。
- 它无法访问任何其他主机上不存在的 VMFS 数据存储上的文件。
Разрешение
先决条件:
在运行 VOMA 之前,需要确保:
- 关闭受影响数据存储区上或迁移到另一个数据存储区的所有虚拟机。
- 如果 vSphere On-disk Metadata Analyzer 关闭在具有某些类型的损坏元数据的文件上运行的虚拟机,可能会使虚拟机及其数据永久不可用。因此,始终建议在环境中拥有虚拟机的当前备份。
- 对于 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 主机的卷运行 VOMA,则 VOMA 会生成类似于以下内容的消息:
要检查元数据一致性,请从 ESXi 主机的 CLI 运行 VOMA。VOMA 可用于检查和修复 VMFS 数据存储区或支持 VMFS 数据存储区的逻辑卷的细微不一致问题。
VOMA可以检查并修复以下项目。
| VOMA 函数 | 描述 |
|---|---|
Metadata check and fix |
元数据检查和修复的示例包括但不限于以下内容:
|
Affinity metadata check and fix |
要为 VMFS6 启用相关性检查,请使用 -a|--affinityChk 选项。相关性元数据检查和修复的几个示例包括:
|
Directory validation |
VOMA可以检测并纠正以下错误:
|
Lost and found files |
在文件系统检查期间,VOMA 可以查找文件系统中未在任何位置引用的文件。这些孤立文件有效且完整,但在系统上没有名称或目录条目。 如果 VOMA 在扫描过程中遇到孤立文件,它会在卷的根目录创建一个名为 lost+found 的目录来存储孤立文件。文件的名称使用“文件序列号”格式。 |
VOMA 工具采用的命令选项包括:
| Command 选项 | 描述 |
|---|---|
-m|--module |
可用模块包括:
|
-f|--func |
模块支持的功能:
|
-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)Checking Metadata Consistency with VOMA (vmware.com)查看原文查看
译文
Затронутые продукты
VMware ESXi 7.x, VMware ESXi 8.xСвойства статьи
Номер статьи: 000226655
Тип статьи: Solution
Последнее изменение: 28 Jan 2025
Версия: 2
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.