次の基礎スタックを持つ ext4 パーティションがあります。
- sda1とsdb1はRAID1で一緒になり、md0になります。
- md0はLUKS暗号化されており、md0_cryptとなる。
- md0_cryptの上には、/home/mediaの下にマウントされた単一のLVMボリュームmv0_vg_mediaがあります。
実行すると、cp /home/media/hierarchy/photo.jpg /tmp
IO エラーが発生します (ただし、数万ファイルのうち 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_cnt
値0
(ゼロ)を含む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.