使用 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 之前,必須先確定以下事項:
- 關閉受影響資料存放區上的所有虛擬機器,或將其遷移至其他資料存放區的所有虛擬機器。
- 關閉 vSphere 磁碟上元數據分析器在具有某些類型的損壞元數據的檔上運行的虛擬機,可能會使虛擬機及其數據永久不可用。因此,始終建議在環境中進行虛擬機的最新備份。
- 若為 VMFS-5/VMFS-6 資料存放區,會在所有 ESXi 7.x/8.x 主機上取消掛接資料存放區。
- 如果 VOMA 是針對可存取一或多個 ESXi 主機的磁碟區執行,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
- 如果 VOMA 是針對可存取一或多個 ESXi 主機的磁碟區執行,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 工具採用的命令選項包括以下內容。
| 命令選項 | 說明 |
|---|---|
-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
輸出中的裝置名稱和分割區欄可識別裝置。例如:
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 磁碟上元數據分析器 (VOMA) 檢查 VMFS 元數據一致性 (broadcom.com)
使用 VOMA 檢查元數據一致性 (vmware.com)
Affected Products
VMware ESXi 7.x, VMware ESXi 8.xArticle 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.