Назад | Перейти на главную страницу

xfs не работает с ошибками на dmesg

У меня странная ошибка на Linux-сервере с xfs, и я не знаю, как ее отладить и исправить.

Ниже приведен отрывок из dmesg:

Info fld=0x17
end_request: I/O error, dev sde, sector 34412208504
sd 7:0:0:0: SCSI error: return code = 0x08000002
sde: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sde, sector 35840057200
sd 7:0:0:0: SCSI error: return code = 0x08000002
sde: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sde, sector 35799212408
sd 7:0:0:0: SCSI error: return code = 0x08000002
sde: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sde, sector 39444095352
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sdf, sector 32974487928
device-mapper: multipath: Failing path 8:80.
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sdf, sector 32973734264
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sdf, sector 22213009752
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sdf, sector 32940065144
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sdf, sector 32974552944
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
   <<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23

Info fld=0x17
end_request: I/O error, dev sdf, sector 17956282744
Buffer I/O error on device dm-3, logical block 9666270717
lost page write due to I/O error on dm-3
I/O error in filesystem ("dm-3") meta-data dev dm-3 block 0xe7ffb01c2       ("xlog_iodone") error 5 buf count 12800
Buffer I/O error on device dm-3, logical block 4028959741
lost page write due to I/O error on dm-3
xfs_force_shutdown(dm-3,0x2) called from line 956 of file fs/xfs/xfs_log.c.  Return address = 0xffffffff883bec58
Filesystem "dm-3": Log I/O Error Detected.  Shutting down filesystem: dm-3
Please umount the filesystem, and rectify the problem(s)

Как я могу это отладить?

Спасибо.

Я знаю, что это очень старый пост, но, поскольку ответ неверен, я думаю, что будущим посетителям будет полезно опубликовать правильный ответ ...

Сообщение об ошибке, сообщаемое OP, само по себе не имеет ничего общего с XFS, а скорее является результатом неисправного диска / кабеля. Изучая запись об ошибке:

end_request: ошибка ввода-вывода, dev sde, сектор 39444095352

Система не может получить данные, расположенные на sde по адресу LBA 39444095352. Обычно это означает плохой блок на диске.

sd 7: 0: 0: 1: ошибка SCSI: код возврата = 0x08000002
sdf: Current: sense key: прерванная команда
поставщик ASC = 0xc0 ASCQ = 0x23ASC = 0xc0 ASCQ = 0x23

Команда SCSI была прервана из-за тайм-аута (вызванного плохим блоком), и диск возвращает конкретный код поставщика, более подробно объясняющий ошибку.

Выпуск smartctl --all показывает различный внутренний счетчик диска. Атрибуты с ID 5 (Reallocated_Sector_Ct), 197 (Current_Pending_Sector) и 198 (Offline_Uncorrectable) представляют особый интерес, потому что они показывают нечитаемую / переназначенную ситуацию с дисковыми блоками.

Что делать в этом случае? Самый безопасный и предпочтительный подход заключается в резервном копировании всего читаемого содержимого на другой, безопасный диск (возможно, используя что-то устойчивое к ошибкам диска, например ddrescue)

Если такой подход невозможен, остаются две возможности:

  1. перезагрузитесь с живым дистрибутивом и выполните badblocks -n <dev> (здесь для страницы руководства): он запустит неразрушающий тест чтения / записи, который должен запустить процедуру переназначения поврежденных блоков на диске
  2. вручную перезаписать поврежденные плохие блоки, выдав что-то похожее на dd if=/dev/zero of=/dev/sde bs=512 count=1 seek=39444095352

Обратите внимание, что два вышеуказанных подхода (особенно второй) воля вызвать потерю данных, так как затронутый нечитаемый сектор будет перезаписан.

После завершения восстановления / перезаписи вы должны запустить полную проверку файловой системы, в этом случае выдав xfs_repair /dev/sde

Вы можете использовать xfs_db команда для отладки XFS файловая система. Пожалуйста, используйте следующий синтаксис:

xfs_db [device with XFS installed]