Я получаю письмо об одной и той же ошибке SMART каждый день. Я хотел бы настроить демон SMART так, чтобы он игнорировал эту конкретную ошибку, но только ее, так как я все еще хочу, чтобы было что-то, если что-то изменится или станет хуже.
This email was generated by the smartd daemon running on: host name: jon DNS domain: [Unknown] NIS domain: (none) The following warning/error was logged by the smartd daemon: Device: /dev/sdb [SAT], 11 Currently unreadable (pending) sectors For details see host's SYSLOG. You can also use the smartctl utility for further investigation. The original email about this issue was sent at Sun Nov 25 02:30:45 2012 CET Another email message will be sent in 24 hours if the problem persists.
Когда это произошло впервые, количество нечитаемых секторов медленно увеличивалось, поэтому сделал резервную копию и попробовал многие вещи, описанные в этой теме: https://serverfault.com/questions/104417/how-do-i-easily-repair-a-single-unreadable-block-on-a-linux-disk
Как вы видите из письма, это было 1,5 года назад, так что я точно не помню, что я пробовал, а что нет. Однако диск с тех пор остается стабильным и рабочим, так что я не вижу смысла что-либо менять. (Да, я регулярно создаю резервные копии.)
Я могу придумать только один способ обойти эту проблему: игнорировать все письма, содержащие именно этот текст, но это будет лишь лечением симптомов, а не причины.
Редактировать:
Я знаю, что многие или большинство из вас дадут мне совет «заменить диск», что, в общем-то, является наилучшим возможным советом для вопроса типа «Я получаю эту ошибку. Что мне делать?»
Но, пожалуйста,пожалуйстаПризнаю, что я осознаю риск и задаю очень конкретный вопрос относительно демона SMART. Я не нашел в документах ничего, что указывало бы на возможность сделать то, что я хочу, но я хотел сначала дважды проверить, прежде чем использовать свой обходной путь.
Обновлять:
Около недели назад счетчик снова упал до 1. Я понятия не имею, что вызвало это, я вообще не проводил никаких работ по техническому обслуживанию этой машины. Спустя более 2 лет 11 секторов снова стали в порядке. Это действительно странно.
решение1
вам нужно изменить конфигурацию /etc/smartd.conf
добавьте аргументы к вашей настройке:
-t -I 197
Игнорирует атрибут 197 — Ожидающие сектора
как это (пример):
/dev/ad0 -H -l error -l selftest -t -I 197
решение2
Самый простой способ остановить сообщение без замены диска — заставить диск либо пометить сектора как хорошие, либо плохие вместо «возможно, возможно плохие», что и означает «ожидание». Вы можете сделать это, принудительно выполнив полное чтение диска:
sudo dd if=/dev/sdb of=/dev/null bs=64K conv=noerror
Это позволит прочитать каждый сектор диска и проигнорировать ошибки, заставив диск повторно проверить каждый ожидающий сектор и сообщить, действительно ли сектора плохие или нет.
Обратите внимание, что хотя это очистит текущие 11 ожидающих секторов, это можетобнаружить новые потенциально плохие секторав процессе (что приводит к ненулевому количеству ожидающих секторов). Запустите это снова, пока не останется больше ожидающих секторов.
решение3
Хм... Я не знаю, как можно перенастроить smartd, но я знаю, что можно заставить OMD[1] игнорировать некоторые ошибки SMART (я однажды сделал это со стабилизированным перераспределенным счетчиком секторов). Возможно, это также вариант для вас, если вы хотите отслеживать больше параметров вашего ящика, чем просто показания SMART.
решение4
Известно, что некоторые диски возвращают эту ошибку ошибочно, например, SSD-накопители Crucial серии MX500. Одним из решений является настройка пользовательского файла базы данных диска, /etc/smart_drivedb.h
содержащего следующее (мне пришлось отредактировать его, чтобы он соответствовал номеру моей прошивки):
{ "Crucial/Micron MX500 SSDs",
"CT(250|500|1000|2000)MX500SSD[14]", // tested with CT500MX500SSD1/M3CR023
"M3CR032", // Firmware with bogus attribute 197
"This firmware returns bogus raw values in attribute 197",
//"-v 1,raw48,Raw_Read_Error_Rate "
"-v 5,raw48,Reallocate_NAND_Blk_Cnt "
//"-v 9,raw24(raw8),Power_On_Hours "
//"-v 12,raw48,Power_Cycle_Count "
"-v 171,raw48,Program_Fail_Count "
"-v 172,raw48,Erase_Fail_Count "
"-v 173,raw48,Ave_Block-Erase_Count "
"-v 174,raw48,Unexpect_Power_Loss_Ct "
"-v 180,raw48,Unused_Reserve_NAND_Blk "
"-v 183,raw48,SATA_Interfac_Downshift "
"-v 184,raw48,Error_Correction_Count "
//"-v 187,raw48,Reported_Uncorrect "
//"-v 194,tempminmax,Temperature_Celsius "
//"-v 196,raw16(raw16),Reallocated_Event_Count "
"-v 197,raw48,Bogus_Current_Pend_Sect " // Randomly flips 0 <> 1
//"-v 198,raw48,Offline_Uncorrectable "
//"-v 199,raw48,UDMA_CRC_Error_Count "
"-v 202,raw48,Percent_Lifetime_Remain "
"-v 206,raw48,Write_Error_Rate "
"-v 210,raw48,Success_RAIN_Recov_Cnt "
"-v 246,raw48,Total_LBAs_Written "
"-v 247,raw48,Host_Program_Page_Count "
"-v 248,raw48,FTL_Program_Page_Count"
}
После создания файла запустите service smartd restart
обновление службы smartd. Затем вы увидите, grep smartd /var/log/syslog
что она включена для диска.