使用 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 数据存储或支持 VMFS 数据存储的逻辑卷的轻微不一致问题。
VOMA 可检查并修复以下各项。
VOMA 功能 | 描述 |
---|---|
元数据检查和修复 | 元数据检查和修复的示例包括但不限于以下内容:
|
关联性元数据检查和修复 | 要为 VMFS6 启用关联性检查,请使用 -a|--affinityChk 选项。 关联性元数据检查和修复示例如下所示:
|
目录验证 | VOMA 可以检测并更正以下错误:
VOMA 会根据损坏的性质只修复损坏的条目或完全重新构建哈希块、分配映射块和链接块。 |
丢失和找到的文件 | 在文件系统检查过程中,VOMA 可以查找文件系统的任意位置均未引用的文件。这些孤立的文件是有效、完整的,但在系统上没有名称或目录项。 如果 VOMA 在扫描过程中遇到孤立的文件,它将在卷的根目录中创建一个名为 lost+found 的目录,用于存储孤立的文件。文件的名称使用 Filesequence-number 格式。 |
VOMA 工具附带的命令选项包括以下各项。
命令选项 | 描述 | |
---|---|---|
-m|--module | 要运行的模块,包括: | |
vmfs | 如果您未指定模块名称,则默认情况下使用此选项。 您可以检查 VMFS 文件系统,以及为虚拟闪存资源提供支持的文件系统。如果指定了此模块,也会对 LVM 执行最少量的检查。 |
|
lvm | 检查为 VMFS 数据存储提供支持的逻辑卷。 | |
ptbl | 检查并验证 VMFS 分区,例如 MBR 或 GPT。如果不存在分区,请确定是否应存在分区。 | |
-f|--func | 要执行的功能,包括: | |
query | 列出模块所支持的功能。 | |
check | 检查错误。 | |
fix | 检查并修复错误。 | |
dump | 收集元数据转储。 | |
-a|--affinityChk | 为 VMFS6 包括关联性相关的检查和修复。 | |
-d|--device | 要检查的设备或磁盘。请务必提供为 VMFS 数据存储提供后备支持的设备分区的绝对路径。例如,/vmfs/devices/disks/naa.00000000000000000000000000:1。 | |
-s|--logfile | 指定日志文件以输出结果。 | |
-x|--extractDump | 使用 VOMA 提取收集的转储。 | |
-D|--dumpfile | 转储文件以保存收集的元数据转储。 | |
-v|--version | 显示 VOMA 的版本。 | |
-h|--help | 显示 VOMA 命令的帮助消息。 |
示例
voma -m vmfs -f check -d /vmfs/devices/disks/naa.xxxx:x
voma -m vmfs -f dump -d /vmfs/devices/disks/naa.xxxx:x -D dumpfilename