So ignorieren Sie einen bestimmten SMART-Fehler

So ignorieren Sie einen bestimmten SMART-Fehler

Ich bekomme jeden Tag eine E-Mail über denselben SMART-Fehler. Ich möchte den SMART-Daemon so konfigurieren, dass dieser spezielle Fehler ignoriert wird, aber nur das, da ich immer noch wissen möchte, ob sich etwas ändert oder verschlimmert.

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.

Als dies zum ersten Mal passierte, stieg die Anzahl der nicht lesbaren Sektoren langsam an. Daher habe ich ein Backup erstellt und viele der in diesem Thread beschriebenen Dinge ausprobiert: https://serverfault.com/questions/104417/wie-repariere-ich-einfach-einen-einzelnen-unlesbaren-block-auf-einer-linux-festplatte

Wie Sie der E-Mail entnehmen können, ist das schon 1,5 Jahre her, ich weiß also nicht mehr genau, was ich versucht habe und was nicht. Die Platte ist seitdem jedoch stabil und funktioniert, sodass ich keinen Grund sehe, etwas zu ändern. (Ja, ich erstelle regelmäßig Backups.)

Als Workaround fällt mir nur ein, alle E-Mails mit genau diesem Text zu ignorieren. Damit würde ich allerdings nur die Symptome behandeln und nicht die Ursache.

Bearbeiten:

Ich weiß, dass viele oder die meisten von Ihnen mir den Rat geben werden, „die Festplatte auszutauschen“, was im Allgemeinen der bestmögliche Rat auf eine Frage wie „Ich erhalte diesen Fehler. Was soll ich tun?“ ist.

Aber bitte,BitteIch akzeptiere, dass ich mir des Risikos bewusst bin und eine sehr spezifische Frage zum SMART-Daemon stelle. Ich habe in den Dokumenten nichts gefunden, das darauf hinweist, dass das, was ich möchte, möglich ist, aber ich wollte hier zuerst noch einmal nachsehen, bevor ich mit meiner Problemumgehung fortfahre.

Aktualisieren:

Vor etwa einer Woche fiel der Zähler wieder auf 1. Ich habe keine Ahnung, was das verursacht hat, ich habe an dieser Maschine keinerlei Wartungsarbeiten durchgeführt. Nach mehr als 2 Jahren waren 11 Sektoren gerade wieder in Ordnung. Das ist wirklich seltsam.

Antwort1

Sie müssen die Konfiguration /etc/smartd.conf ändern

Fügen Sie Ihrer Einstellung Argumente hinzu:

-t -I 197  

Es ignoriert das Attribut 197 - Ausstehende Sektoren

so (Beispiel):

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

Antwort2

Die einfachste Möglichkeit, die Meldung zu stoppen, ohne die Festplatte auszutauschen, besteht darin, die Festplatte zu zwingen, die Sektoren entweder als gut oder als fehlerhaft zu markieren, anstatt als „vielleicht möglicherweise fehlerhaft“, was „ausstehend“ bedeutet. Sie können dies tun, indem Sie einen vollständigen Lesevorgang der Festplatte erzwingen:

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

Dadurch wird jeder Sektor der Festplatte gelesen und Fehler werden ignoriert. Die Festplatte wird dadurch gezwungen, jeden ausstehenden Sektor erneut zu prüfen und Ihnen mitzuteilen, ob die Sektoren tatsächlich fehlerhaft sind oder nicht.

Beachten Sie, dass dadurch zwar die aktuell 11 ausstehenden Sektoren gelöscht werden, es jedochEntdecken Sie neue potenziell fehlerhafte Sektorenim Prozess (was zu einer ausstehenden Sektorenanzahl ungleich Null führt). Führen Sie diesen Vorgang erneut aus, bis keine ausstehenden Sektoren mehr vorhanden sind.

Antwort3

Hmm... Ich weiß nicht, wie du smartd neu konfigurieren kannst, aber ich weiß, dass du OMD[1] dazu bringen kannst, bestimmte SMART-Fehler zu ignorieren (das habe ich einmal mit einer stabilisierten neu zugewiesenen Sektorenanzahl gemacht). Vielleicht ist das auch eine Option für dich, wenn du mehr Parameter deiner Box überwachen willst als nur die SMART-Werte.

Antwort4

Es ist bekannt, dass einige Laufwerke diesen Fehler fälschlicherweise zurückgeben, z. B. SSDs der Crucial MX500-Serie. Eine Lösung besteht darin, eine benutzerdefinierte Laufwerk-DB-Datei mit folgendem Inhalt einzurichten /etc/smart_drivedb.h(ich musste sie bearbeiten, damit sie mit meiner Firmware-Nummer übereinstimmt):

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

Führen Sie nach dem Erstellen der Datei den service smartd restartUpdate-Vorgang für den SmartD-Dienst aus. Anschließend können Sie grep smartd /var/log/syslogsehen, dass dieser für das Laufwerk aktiviert ist.

Quelle:Smartmontools-Supportticket

verwandte Informationen