Spotted dirty metadata bufferエラーの対応方法

fsckが実施できない

ディスク障害が起き、ディスク交換を行ってスナップショットから復元しても、ファイルシステムの論理的整合性が保たれない状態が続きました。対応として起動時にfsckを実行しようと下記のコマンドでファイルを準備しました。

$ touch /forcefsck

Liuuxではルートパーティションに/forcefsckというファイルが存在すると、起動時に自動的にfsckを実行します。しかし、起動中にSpotted dirty metadata bufferというエラーが出てfsckが実行されませんでした。

kernel: EXT4-fs (xvda): mounted filesystem with ordered data mode. Opts: (null)
kernel: EXT4-fs error (device xvda): ext4_mb_generate_buddy:757: group 1650, block bitmap and bg descriptor inconsi
stent: 9657 vs 9506 free clusters
kernel: JBD2: Spotted dirty metadata buffer (dev = xvda, blocknr = 0). There's a risk of filesystem corruption in c
ase of system crash.

Rescue modeで起動してfsckを実行

自動的なfsckが実行できなかったため、サーバー起動時のブートローダー選択でレスキューモードを選択して起動させました。起動したところで以下のコマンドを実行して手動でfsckを実施しました。

# fsck -t ext4 /dev/xvda

これでディスクの論理的整合性が保たれて起動できるようになりました。