vSphere Ondisk 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 では、次の項目を確認および修正できます。

表 1. VOMA の機能
VOMA の機能 説明
メタデータの確認および修正 メタデータの確認と修正の例には、次のものがあります(ただし、これらに限定されません)。
  • 基本的なメタデータの整合性のための VMFS ボリューム ヘッダーの検証。
  • VMFS リソース ファイル(システム ファイル)の整合性の確認。
  • すべてのファイルのパス名と接続の確認。
アフィニティ メタデータの確認および修正

VMFS6 のアフィニティ チェックを有効にするには、-a|--affinityChk オプションを使用します。

アフィニティ メタデータの確認と修正のいくつかの例を次に示します。
  • リソース タイプおよび FS3_ResFileMetadata のアフィニティ フラグ。
  • SFB RC メタ (FS3_ResourceClusterMDVMFS6) のアフィニティ フラグの検証。
  • 無効なエントリが含まれていないことを確認するための、RC の rcMeta の affinityInfo エントリに含まれる、オーバーフロー キーを含むすべてのエントリの検証。見つからないエントリの確認。
ディレクトリの検証 VOMA では、次のエラーを検出および修正できます。
  • ディレクトリ ハッシュ ブロックの破損。
  • 割り当てマップの破損。
  • リンク ブロックの破損。
  • ディレクトリ エントリ ブロックの破損。

破損の性質に基づき、VOMA は、破損したエントリのみを修正するか、ハッシュ ブロック、割り当てマップ ブロック、およびリンク ブロックの全体を再構築できます。

実体のないファイル

VOMA は、ファイルシステム チェック時に、ファイルシステム内のどこからも参照されていないファイルを検出できます。これらの実体のないファイルは有効で欠落もありませんが、システム上では名前もディレクトリ エントリもありません。

VOMA は、スキャン中に実体のないファイルを検出すると、ボリュームのルートに lost+found という名前のディレクトリを作成し、そこに実体のないファイルを保存します。ファイルの名前では、Filesequence-number の形式が使用されます。

VOMA ツールで指定できるコマンド オプションを次に示します。

表 2. VOMA コマンド オプション
コマンド オプション 説明
-m|--module 実行するモジュールには次のようなものがあります。
vmfs モジュールの名前を指定しない場合は、このオプションがデフォルトで使用されます。

VMFS ファイル システムと、仮想フラッシュ リソースをバッキングするファイル システムを確認することができます。このモジュールを指定すると、LVM の最小確認も同様に行われます。

lvm VMFS データストアをバッキングする論理ボリュームを確認します。
ptbl MBR、GPT などの VMFS パーティションを確認して検証します。パーティションが存在しない場合は、パーティションが必要かどうかを判断します。
-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