Ошибка ввода-вывода, но badblocks и fsck работают нормально

Ошибка ввода-вывода, но 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я получаю ошибку ввода-вывода (но только для 20 файлов из нескольких десятков тысяч).

Однако, когда я пытаюсь устранить проблему:

  • И dmesg, и syslog остаются чистыми при возникновении ошибки ввода-вывода. (ПРАВКА: уточнение: это означает, что в dmesg или syslog не регистрируется никакой информации, связанной с диском, даже если журнал активен с --followопцией во время возникновения ошибок чтения.)
  • Badblocks на sda и sdb не выявляют никаких ошибок
  • 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 есть две записи: [734796.807172] md: data-check of RAID array md0и затем сразу ниже:[754370.977181] md: md0: data-check done.

Связанный контент