IO 錯誤,但 badblocks 和 fsck 很滿意

IO 錯誤,但 badblocks 和 fsck 很滿意

我有一個 ext4 分區,具有以下底層堆疊:

  • sda1 和 sdb1 一起組成 RAID1,產生 md0
  • md0 經過 LUKS 加密,產生 md0_crypt
  • md0_crypt 上方是單一 LVM 磁碟區 mv0_vg_media,安裝在 /home/media 下

執行時,cp /home/media/hierarchy/photo.jpg /tmp我收到 IO 錯誤(但僅針對大約 20 個文件,數萬個文件中)。

然而,當我嘗試調試問題時:

  • 當 IO 錯誤發生時,dmesg 和 syslog 都保持乾淨。 (編輯:澄清:這意味著 dmesg 或 syslog 中沒有記錄任何與磁碟相關的輸出,即使--follow在發生讀取錯誤時日誌通過選項處於活動狀態。)
  • sda 和 sdb 上的壞塊不會顯示任何錯誤
  • fsck on/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 有兩個條目:[734796.807172] md: data-check of RAID array md0緊接著是下面的:[754370.977181] md: md0: data-check done.

相關內容