使用 vSphere On-disk Metadata Analyzer (VOMA) 識別可影響檔案系統或基礎邏輯磁碟區的中繼資料損毀事件。
問題
當您碰到 VMFS 資料存放區或虛擬 Flash 資源的問題時,可以檢查中繼資料一致性。例如,如果發生下列其中一種情況,請執行中繼資料檢查:
- 出現儲存區中斷。
- 重建 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 資料存放區或虛擬 Flash 資源的次要不一致問題。若要解決 VOMA 報告的錯誤,請洽詢 VMware 支援。
使用 VOMA 工具時,請依照下列準則:
- 確定所分析的 VMFS 資料存放區未跨越多個範圍。只能對單範圍資料存放區執行 VOMA。
- 關閉所有執行中的虛擬機器電源,或者將這些虛擬機器移轉至其他資料存放區。
下列範例示範了如何使用 VOMA 檢查 VMFS 中繼資料一致性。
- 針對要檢查的 VMFS 資料存放區,取得支援該存放區之裝置的名稱和磁碟分割號碼。
#esxcli storage vmfs extent list
輸出中的 [Device Name] 和 [Partition] 資料行用於識別該裝置。例如:Volume Name XXXXXXXX Device Name Partition 1TB_VMFS5 XXXXXXXX naa.00000000000000000000000000000703 3
- 檢查 VMFS 錯誤。
提供支援 VMFS 資料存放區之裝置磁碟分割的絕對路徑,並為磁碟分割號碼提供裝置名稱。例如:
# voma -m vmfs -f check -d /vmfs/devices/disks/naa.00000000000000000000000000000703: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 工具使用的命令選項包括以下內容。
命令選項 | 說明 | |
---|---|---|
-m|--module | 要執行的模組包括: | |
vmfs | 如果您沒有指定模組的名稱,預設會使用此選項。 您可以檢查 VMFS 檔案系統以及支援虛擬 Flash 資源的檔案系統。如果指定此模組,則也會對 LVM 執行最少量的檢查。 |
|
lvm | 檢查支援 VMFS 資料存放區的邏輯磁碟區。 | |
ptbl | 檢查並驗證 VMFS 磁碟分割,例如 MBR 或 GPT。如果不存在任何磁碟分割,請確定這些磁碟分割是否應該存在。 | |
-f|--func | 要執行的功能包括: | |
query | 列出模組所支援的功能。 | |
check | 檢查錯誤。 | |
-d|--device | 要檢查的裝置或磁碟。請務必提供支援 VMFS 資料存放區之裝置磁碟分割的絕對路徑。例如,/vmfs/devices/disks/naa.00000000000000000000000000:1。 | |
-s|--logfile | 指定記錄檔,輸出結果。 | |
-v|--version | 顯示 VOMA 的版本。 | |
-h|--help | 顯示 VOMA 命令的說明訊息。 |
如需更多詳細資料,請參閱 VMware 知識庫文章 2036767。