Что означают эти ошибки на диске в системном журнале?

13

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

Jul 11 23:52:30 monit kernel: [   25.255908] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Jul 11 23:52:30 monit kernel: [   25.256170] ata1.00: BMDMA stat 0x24
Jul 11 23:52:30 monit kernel: [   25.256278] ata1.00: failed command: READ DMA
Jul 11 23:52:30 monit kernel: [   25.256410] ata1.00: cmd c8/00:c0:20:68:35/00:00:00:00:00/e0 tag 0 dma 98304 in
Jul 11 23:52:30 monit kernel: [   25.256416]          res 51/40:9f:41:68:35/00:00:00:00:00/e0 Emask 0x9 (media error)
Jul 11 23:52:30 monit kernel: [   25.256809] ata1.00: status: { DRDY ERR }
Jul 11 23:52:30 monit kernel: [   25.256933] ata1.00: error: { UNC }
Jul 11 23:52:30 monit kernel: [   25.304388] ata1.00: configured for UDMA/66
Jul 11 23:52:30 monit kernel: [   25.304430] ata1: EH complete

. . . 

Jul 11 23:52:30 monit kernel: [   25.552451] sd 0:0:0:0: [sda] Unhandled sense code
Jul 11 23:52:30 monit kernel: [   25.552462] sd 0:0:0:0: [sda]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jul 11 23:52:30 monit kernel: [   25.552475] sd 0:0:0:0: [sda]  Sense Key : Medium Error [current] [descriptor]
Jul 11 23:52:30 monit kernel: [   25.552490] Descriptor sense data with sense descriptors (in hex):
Jul 11 23:52:30 monit kernel: [   25.552498]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
Jul 11 23:52:30 monit kernel: [   25.552529]         00 35 68 41 
Jul 11 23:52:30 monit kernel: [   25.552543] sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
Jul 11 23:52:30 monit kernel: [   25.552559] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 35 68 20 00 00 c0 00
Jul 11 23:52:30 monit kernel: [   25.552587] end_request: I/O error, dev sda, sector 3500097
Jul 11 23:52:30 monit kernel: [   25.556607] ata1: EH complete

Я уже знаю, что мне нужно заменить жесткий диск (Стоимость данных> Стоимость жесткого диска), но я хочу знать, что на самом деле с ним не так.

Да, на нашем сервере мониторинга нет RAID, только один жесткий диск ... Не смотрите на меня ...

Soviero
источник
3
«Да, на нашем сервере мониторинга нет RAID, только один жесткий диск ... Не смотрите на меня ...» - не слишком много, если у вас хорошие резервные копии.
Янне Пиккарайнен,
2
Я надеюсь, у вас есть хорошие резервные копии. Вы, вероятно, будете нуждаться в них. Если сервер мониторинга так важен, стоимость замены жесткого диска хотя бы на RAID 1 должна быть легко оправдана.
Майкл Хэмптон
1
Даже если у вас нет RAID, вы должны отслеживать SMART-данные для всех ваших дисков.
Джеймс Янгман

Ответы:

16
sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed

Похоже, что на диске есть поврежденные сектора, и он не может перераспределить их (возможно, потому, что на нем нет свободных секторов). Вывод smartctl -a /dev/sdaдаст вам больше информации о состоянии диска.

mgorven
источник
Я также видел эту ошибку, возникающую при простом чтении (например, при попытке получить cpдоступ к файлу). В этом случае поврежденный файл в секторе был достаточно серьезным, и он даже не смог восстановить данные, поэтому сбой «перераспределения» действительно произошел до того, как он смог попытаться сохранить данные в другом месте.
Рэндалл
12

Лэсси говорит "арф! Арф арф! Арф!" Что глупо, потому что это не имеет никакого отношения к Тимми или Уэллсу. Вот почему вы не принимаете советов сисадмина от собак.

Накопитель выдает «Неизлеченную ошибку чтения - сбой автоматического перераспределения», что в основном означает «Я пытался прочитать, у меня не получилось, я попытался восстановить (еще несколько раз прочитал сектор, применил ECC и переместил данные в сектор, который не сломан), и он не работал ". Это, вероятно, означает (как говорит mgorven), что диск уже переполнен перераспределенными секторами, потому что диск некоторое время умирал, но я также думаю, что это может означать, что он вообще не смог восстановить сектор (повторное чтение + ECC не удалось получить красивый блок данных).

В любом случае, да, драйв очень, очень кактусный. Ваши данные тоже не выглядят здоровыми.

ombble
источник
1
Правильно - данные SMART могут также сказать, сколько секторов уже было перераспределено.
Джеймс Янгман
3

Я знаю, что это старо, но на всякий случай кто-то еще читает этот пост: «DD также попытается прочитать поврежденный сектор (ы)» - здесь полезен gddrescue. Это не (хорошо, это делает, но только один раз).

Вольфганг Ноихль
источник
1

Сделайте образ dd или rsync копию этого диска сейчас ++, если у вас нет полной резервной копии, позволяющей удобно восстановить этот ящик. И начните искать совместимый и работающий запасной диск.

Кстати, UDMA / 66, это десятилетний диск PATA?

rackandboneman
источник
2
DD также попытается прочитать поврежденный сектор (ы).
Хеннес
3
Обычно не для лучшего эффекта ... есть расширенная версия ddrescue с лучшим контролем над поведением ошибок.
сторожевик
Всегда есть conv=noerror, но я не уверен, насколько хорошо это работает на том, что потом станет испорченной файловой системой. Вероятно, не хуже, чем чтение файла данных за файлом, но, конечно, не лучше ...
CVn
0

Как уже упоминалось, это, вероятно, означает, что ваш диск подходит к концу, но не обязательно сразу - вы должны запустить fsckна диске и попытаться исправить ошибки (см. Вики Smartmontools для получения рекомендаций по исправлению поврежденных блоков), и диск может быть в порядке для пока дольше.

Но вы должны начать работать smartd(что входит в smartmontoolsпакет) и следить за его отчетами и / или настраивать почтовые уведомления. Также вы можете добавлять свои собственные уведомления, создавая скрипты (in /etc/smartmontools/run.d/), которые вызываются smartd-runner.

Пирз
источник