Що означають ці дискові помилки в syslog?


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, лише один жорсткий диск ... Не дивіться на мене ...


3
"Так, на нашому сервері моніторингу немає RAID, лише один жорсткий диск ... Не дивіться на мене ..." - не надто шукайте, якщо у вас є хороші резервні копії.
Janne Pikkarainen

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дасть вам більше інформації про стан накопичувача.


Я також бачив, що ця помилка виникає при простому прочитанні (з, скажімо, спроби cpфайлу). У такому випадку пошкодження файлу в секторі, який вийшов поганим, був досить серйозним, що навіть не міг реконструювати дані, тому помилка "перерозподілу" насправді сталася, перш ніж вона змогла навіть спробувати зберегти дані в іншому місці.
Рандалл

12

Приказка Лассі "arf! Arf arf! Arf!". Що німе, бо це не має нічого спільного з Тіммі чи колодязями. Ось чому ви не приймаєте поради щодо системних адміністрацій від собак.

Привід дає вам "Невідкриту помилку читання - автоматичне перерозподіл помилок", що в основному означає "Я намагався прочитати, не вдався, я спробував відновити (прочитайте сектор ще кілька разів, застосуйте деякий ECC та перемістіть дані до сектор, який не порушений), і він не працював ". Це, ймовірно, означає (як каже mgorven), що диск вже заповнений перерозподіленими секторами, тому що диск деякий час вмирає, але я також думаю, що це може означати, що він не зміг відновити сектор взагалі (неодноразові читання + ECC не вдалося отримати гарний блок даних).

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


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

3

Я знаю, що це старе, але про всяк випадок, коли хтось ще читає цю публікацію: "DD також спробує прочитати поламані сектори" - тут корисна gddrescue. Це не (гаразд, так, але лише один раз).


1

Зробіть зображення DD або копію rsync цього диска зараз ++, якщо у вас немає повної резервної копії, яка дозволяє зручно відновити це поле. І починайте шукати сумісний і працюючий замінний диск.

BTW, UDMA / 66, це десятирічний диск PATA?


2
DD також спробує прочитати розбиті сектори.
Геннес

3
Зазвичай не найкращим ефектом ... є вдосконалена версія під назвою ddrescue з кращим контролем над поведінкою помилок.
rackandboneman

Завжди є conv=noerror, але я не впевнений, наскільки добре це працює над тим, що потім стане зламаною файловою системою. Напевно, не гірше, ніж читання файлів даних за файлом, але, звичайно, не краще ...
CVn

0

Як уже згадувалося, це, ймовірно, означає, що ваш накопичувач наближається до кінця життя, але не обов'язково негайно - слід запустити fsckдиск і спробувати виправити помилки (див. Вікі smartmontools для поради щодо виправлення поганих блоків), і диск може бути в порядку для при цьому довше.

Але вам слід почати працювати smartd(що входить до складу smartmontoolsпакету) і слідкувати за його звітами та / або налаштовувати сповіщення електронною поштою. Також ви можете додавати власні сповіщення власного користування, створюючи сценарії (в /etc/smartmontools/run.d/), які викликаються smartd-runner.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.