IO エラーですが、badblocks と fsck は正常です

IO エラーですが、badblocks と fsck は正常です

次の基礎スタックを持つ ext4 パーティションがあります。

  • sda1とsdb1はRAID1で一緒になり、md0になります。
  • md0はLUKS暗号化されており、md0_cryptとなる。
  • md0_cryptの上には、/home/mediaの下にマウントされた単一のLVMボリュームmv0_vg_mediaがあります。

実行すると、cp /home/media/hierarchy/photo.jpg /tmpIO エラーが発生します (ただし、数万ファイルのうち 20 ファイル程度のみです)。

しかし、問題をデバッグしようとすると、

  • IO エラーが発生すると、dmesg と syslog の両方がクリーンな状態になります。(編集: 説明: これは、読み取りエラーが発生しているときにオプションでログがアクティブであっても、dmesg または syslog にディスク関連の出力が記録されないことを意味します--follow。)
  • sda と sdb の badblocks ではエラーは発生しません
  • fsck を/dev/mapper/md0_vg_mediaオンにすると、「より狭くすることができます。無視されます。」という警告のみが出力されますが、エラーは出力されず、自動修正オプションでは何も修正されません。

困惑しています。これらのファイルを削除して再同期することもできますが、実際に何が問題なのかわからない場合は、それは良い考えではありません。

これをさらにデバッグするにはどうすればいいでしょうか?

編集:

コメントとさらなる調査から、私は以下のアプローチを試しましたが(無駄でした)、次のような結果になりました。

  • mdadm --examine /dev/sda(sdb の場合も同様) 次を返します:/dev/sda: MBR Magic : aa55 Partition[0] : 3907029167 sectors at 1 (type ee)
  • mdadm --examine-badblocks /dev/sda(sdb の場合も同様) 次を返します:mdadm: mbr metadata does not support badblocks
  • cat /sys/block/md0/md/mismatch_cnt0(ゼロ)を含む
  • echo 'check' > /sys/block/md0/md/sync_actionチェックを実行しますが、エラーは表示されません。Dmesg には 2 つのエントリがあります:[734796.807172] md: data-check of RAID array md0そしてそのすぐ下には:[754370.977181] md: md0: data-check done.

関連情報