Message
function_name: journal block not found at offset logical_block# on device_name
Arguments
- function_name
- 呼び出した関数名、"journal_bmap"
- logical_block#
- ジャーナルファイルシステムで持っている論理ブロック番号
- device_name
- デバイス名
Description
ジャーナルファイルシステムで持っている論理ブロック番号を物理ブロック番号に変換できなかった。 ファイルの中のブロック数を見つける関数、bmapでinodeやblock番号が見つけられなかった。
Category
Action
まず、ディスクに障害が出ている調べ、障害が考えられない場合にはシステムログなどから停止の状況を調査し修復を考える。 該当のディスクにエラーが出ていないかシステムログを調べる。RAIDカードを使っている場合は、RAIDカードが故障している事例も報告されているので、エラーが出ていないか調べる。 エラーが出ていた場合は、必要なら交換を行う。
システムログをチェックしてハードウェア障害の可能性が低い場合、 ジャーナル情報を書き込んでいる途中にシステムを落としてしまったりして、不整合がおき、そのためファイルが破損しているなどの可能性がある。ジャーナルファイルシステムは、突然の停止などでもファイルの整合性を保つためのものであるから、 一般には不整合は生じない。inodeの情報がdirty pageに残った状態での突然の停止などで事例がある。正常なShutdown以外のイベントが無かったか調べてみる。この場合はfsckで検証と修復を行い、様子を見ることもできるが、不整合自体は生じたので、データの検証を行うか、正常な状態の時のバックアップデータで回復することも検討に値する。
ファイルシステムは、破損しているのでmke2fs -j などで作り直すのが 確実である。
Misc
fsckでチェック後、しばらく使えたが書き込み不可となり再び使えなくなった事例がある。これは、ジャーナルファイルシステムではジャーナルが書き込めないとread onlyモードとして再マウントするため、書き込みができなくなるからである。
Example
journal_bmap: journal block not found at offset 1015 on sda1
