Cómo ignorar un error SMART específico

Cómo ignorar un error SMART específico

Recibo un correo electrónico sobre el mismo error SMART todos los días. Me gustaría configurar el demonio SMART para ignorar este error específico, pero solo esto, ya que todavía quiero hacerlo si algo cambia o empeora.

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.

Cuando esto sucedió por primera vez, la cantidad de sectores ilegibles aumentaba lentamente, así que hice una copia de seguridad e intenté muchas de las cosas que se describen en este hilo: https://serverfault.com/questions/104417/how-do-i-easily-repair-a-single-unreadable-block-on-a-linux-disk

Como puede ver en el correo electrónico, esto fue hace 1,5 años, así que no recuerdo exactamente qué probé y qué no. Sin embargo, el disco permanece estable y funcionando desde entonces, por lo que no veo ningún motivo para cambiar nada. (Sí, creo copias de seguridad con regularidad).

Sólo se me ocurre una solución, que sería ignorar todos los correos electrónicos que contengan exactamente este texto, pero esto sólo sería tratar los síntomas, no la causa.

Editar:

Sé que muchos o la mayoría de ustedes me darán el consejo de "reemplazar el disco", que en general es el mejor consejo posible para una pregunta como "Recibo este error, ¿qué debo hacer?"

Pero por favor,por favorAcepto que soy consciente del riesgo y hago una pregunta muy específica sobre el demonio SMART. No encontré nada en los documentos que indique que es posible hacer lo que quiero, pero primero quería verificar aquí antes de seguir con mi solución.

Actualizar:

Hace aproximadamente una semana, el contador volvió a bajar a 1. No tengo idea de qué causó esto, no realicé ningún trabajo de mantenimiento en esa máquina. Después de más de dos años, 11 sectores volvieron a estar bien. Esto es muy extraño.

Respuesta1

necesitas cambiar la configuración /etc/smartd.conf

agregue argumentos a su configuración:

-t -I 197  

Ignora el atributo 197 - Sectores pendientes

así (Ejemplo):

/dev/ad0 -H -l error -l selftest -t -I 197

Respuesta2

La forma más sencilla de hacer que el mensaje se detenga sin reemplazar el disco es forzar al disco a marcar los sectores como buenos o malos en lugar de "tal vez posiblemente malos", que es lo que significa "pendiente". Puedes hacer esto forzando una lectura completa del disco:

sudo dd if=/dev/sdb of=/dev/null bs=64K conv=noerror

Esto leerá cada sector del disco e ignorará los errores, lo que obligará al disco a volver a verificar cada sector pendiente y le dirá si los sectores son realmente defectuosos o no.

Tenga en cuenta que, si bien esto borrará los 11 sectores pendientes actuales, es posible quedescubrir nuevos sectores potencialmente malosen el proceso (lo que resulta en un recuento de sectores pendientes distinto de cero). Ejecute esto nuevamente hasta que no haya más sectores pendientes.

Respuesta3

Hmm... No sé cómo puedes reconfigurar smartd, pero sé que puedes hacer que OMD[1] ignore ciertos errores SMART (una vez hice esto con un recuento estabilizado de sectores reasignados). Quizás esta también sea una opción para usted si desea monitorear más parámetros de su caja además de las lecturas SMART.

Respuesta4

Se sabe que algunas unidades devuelven este error de forma incorrecta, como las SSD de la serie Crucial MX500. Una solución es configurar un archivo db de unidad personalizado que /etc/smart_drivedb.hcontenga lo siguiente (tuve que editarlo para que coincida con mi número de firmware):

  { "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"
  }

Después de crear el archivo, ejecute service smartd restartpara actualizar el servicio smartd. Luego podrá grep smartd /var/log/syslogver que está habilitado para la unidad.

Fuente:Ticket de soporte de Smartmontools

información relacionada