使用 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 資料存放區或支援 VMFS 資料存放區的邏輯磁碟區的次要不一致問題。
VOMA 可以檢查和修正下列項目。
VOMA 功能 |
說明 |
---|---|
中繼資料檢查和修正 |
中繼資料檢查和修正的範例包括但不限於:
|
相似性中繼資料檢查和修正 |
若要為 VMFS6 啟用相似性檢查,請使用 -a|--affinityChk 選項。 相似性中繼資料檢查和修正的幾個範例包括:
|
目錄驗證 |
VOMA 可偵測並更正下列錯誤:
根據損毀的本質,VOMA 可以僅修正損毀的項目,或完全重建雜湊區塊、配置對應區塊和連結區塊。 |
遺失和尋得的檔案 |
在檔案系統檢查期間,VOMA 可以找到在檔案系統中的任何位置均未參考的檔案。這些孤立檔案是有效且完整的,但在系統上沒有名稱或目錄項目。 如果 VOMA 在掃描期間遇到孤立檔案,則會在磁碟區的根目錄中建立名為 lost+found 的目錄,以儲存孤立檔案。檔案名稱採用 Filesequence-number 格式。 |
VOMA 工具使用的命令選項包括以下內容。
命令選項 |
說明 |
|
---|---|---|
-m|--module |
要執行的模組包括: |
|
vmfs |
如果您沒有指定模組的名稱,預設會使用此選項。 您可以檢查 VMFS 檔案系統以及支援虛擬 Flash 資源的檔案系統。如果指定此模組,則也會對 LVM 執行最少量的檢查。 |
|
lvm |
檢查支援 VMFS 資料存放區的邏輯磁碟區。 |
|
ptbl |
檢查並驗證 VMFS 磁碟分割,例如 MBR 或 GPT。如果不存在任何磁碟分割,請確定這些磁碟分割是否應該存在。 |
|
-f|--func |
要執行的功能包括: |
|
query |
列出模組所支援的功能。 |
|
check |
檢查錯誤。 |
|
fix |
檢查和修正錯誤。 |
|
dump |
收集中繼資料傾印。 |
|
-a|--affinityChk |
包含 VMFS6 的相似性相關檢查和修正。 |
|
-d|--device |
指示要檢查的裝置或磁碟。請務必提供支援 VMFS 資料存放區之裝置磁碟分割的絕對路徑。如果資料存放區跨越多個裝置,請提供主要範圍的 UUID。 例如,voma -m vmfs -f check -d /vmfs/devices/disks/naa.xxxx:x 如果使用 -x|--extractDump 命令,請輸入多個裝置路徑,並使用磁碟分割辨識符號 (以逗號分隔)。輸入的裝置路徑數目等於跨越的裝置數目。 |
|
-b|--blockSize |
指示磁碟區塊大小。 |
|
-s|--logfile |
指定記錄檔的路徑,以輸出結果。 |
|
-x|--extractDump |
使用 VOMA 擷取收集的傾印。 |
|
-D|--dumpfile |
指示傾印檔案,以儲存收集的中繼資料傾印。 |
|
-v|--version |
顯示 VOMA 的版本。 |
|
-h|--help |
顯示 VOMA 命令的說明訊息。 |
|
-Y |
指示您執行 VOMA,而不使用 PE 資料表進行位址解析。 |
|
-Z| --file |
指示在解壓縮的裝置檔案上執行 VOMA。 |
範例
從跨距磁碟區收集中繼資料傾印:
voma -m vmfs -f dump -d head_extent -D dump_filename
將收集的傾印重新擷取到跨距磁碟區的裝置中:
voma -x dump_filename -d head_extent,extent_2,extent_3...extent_n