Gibt es ein gutes Laufwerk-Foltertest-Tool?


17

Ich habe in letzter Zeit seltsame und seltene Dateisystembeschädigungen gehabt, von denen ich vermute, dass die Schuld an meiner SSD liegt. Ich bin auf der Suche nach einem guten Laufwerk-Foltertest-Tool. Etwas, das auf die gesamte Festplatte schreiben und sie dann erneut lesen kann, um nach fliegenden Schreibvorgängen, beschädigten Blöcken, Blöcken, die auf ältere Versionen zurückgesetzt wurden, und anderen Fehlern zu suchen. Das wäre viel mehr als das, was es badblockstut. Gibt es so ein Tool?

Hinweis Ich bin nicht für ein Performance - Benchmark suchen und überprüfte bereits den SMART - Status; sagt gesund und keine schlechten Blöcke gemeldet.


1
Hast du versucht? iozone.org
Positron

1
Übrigens haben Sie nicht angegeben, welches Betriebssystem / welche Systemhardware Sie verwenden. Es wurde berichtet, dass SSDs auf einigen Mac OS X-Boxen beschädigt sind, wenn sie so konfiguriert sind, dass die Festplatte häufig heruntergefahren wird, um Strom zu sparen. Dies führt zu Korruption. Ich würde mir vorstellen, dass dies auch bei anderen Betriebssystem- / Hardware-Kombinationen der Fall ist, wenn das Laufwerk über eine an eine SSD ausgegebene Abschaltung der Festplatte in den Energiesparmodus versetzt wird. Ich würde die Konfiguration Ihres Systems überprüfen, bevor ich Ihre SSD mit einem Laufwerkstest verbrenne.
Wing Tang Wong

1
@WingTangWong, wow. Ich bin bereit, dass viele SSDs kaputt gehen, wenn sie die Energie verlieren, aber wann werden sie gebeten, schlafen zu gehen? Das ist eine Buggy-Fahrt. Ich werde ein Auge darauf haben. Ich benutze Linux und habe es nicht im Ruhezustand, außer vielleicht, wenn ich das System aussetze ...
psusi

Antworten:


10

Könnte übertrieben sein, aber es gibt Phoronix Test Suite . Es gibt auch bonnie++so gut wie hdparm.

Ich benutze normalerweise hdparmzum Beispiel:

% hdparm -Tt /dev/hdb
/dev/hdb:
 Timing buffer-cache reads:   128 MB in  1.25 seconds =102.40 MB/sec
 Timing buffered disk reads:  64 MB in 16.70 seconds =  3.83 MB/sec

Ich würde keinen hdparmFoltertest nennen, aber es gibt Ihnen eine ungefähre Vorstellung von der Gesamtleistung der Laufwerke.

Ermitteln des Zustands eines Laufwerks

Nachdem Sie das Laufwerk gequält haben, können Sie mit diesem Befehl den allgemeinen Zustand des Laufwerks überprüfen:

% sudo udisks --dump | grep -A 24 Updates
 Attribute       Current|Worst|Threshold  Status   Value       Type     Updates
===============================================================================
 raw-read-error-rate         103| 99| 34   good    5854752     Pre-fail Online 
 spin-up-time                100| 99|  0    n/a    0           Pre-fail Online 
 start-stop-count             98| 98| 20   good    2785        Old-age  Online 
 reallocated-sector-count    100|100| 36   good    0 sectors   Pre-fail Online 
 seek-error-rate              72| 60| 30   good    25872884688 Pre-fail Online 
 power-on-hours               89| 89|  0    n/a    424.4 days  Old-age  Online 
 spin-retry-count            100|100| 97   good    0           Pre-fail Online 
 power-cycle-count            98| 98| 20   good    2753        Old-age  Online 
 attribute-184               100|100| 99   good    0           Old-age  Online 
 reported-uncorrect          100|100|  0    n/a    0 sectors   Old-age  Online 
 attribute-188               100| 96|  0    n/a    0           Old-age  Online 
 high-fly-writes             100|100|  0    n/a    0           Old-age  Online 
 airflow-temperature-celsius  58| 42| 45 FAIL_PAST 42C / 108F  Old-age  Online 
 g-sense-error-rate          100|100|  0    n/a    124         Old-age  Online 
 power-off-retract-count     100|100|  0    n/a    15          Old-age  Online 
 load-cycle-count              1|  1|  0    n/a    248327      Old-age  Online 
 temperature-celsius-2        42| 58|  0    n/a    42C / 108F  Old-age  Online 
 hardware-ecc-recovered       45| 38|  0    n/a    5854752     Old-age  Online 
 reallocated-event-count      89| 89| 30   good    14877766723263 Pre-fail Online 
 current-pending-sector      100|100|  0    n/a    0 sectors   Old-age  Online 
 offline-uncorrectable       100|100|  0    n/a    0 sectors   Old-age  Offline
 udma-crc-error-count        200|200|  0    n/a    0           Old-age  Online 
 attribute-254               100|100|  0    n/a    0           Old-age  Online 

Tools für Festplattenintegrität / -wartung

Wir haben gute Erfolge mit den folgenden 2 Tools erzielt, in denen ich arbeite. HDAT2 & Spinrite . Das letztere ist ein kommerzielles Tool, das erstere, HDAT2, ist ein Open Source-Projekt.

Hier sind ein paar Screenshots von HDAT2:

ss # 1 HDAT2

ss # 2 HDAT2

Sie müssen Ihr System in beiden Fällen neu starten, damit es offline ist, während Sie diese Vorgänge ausführen. Beide Laufwerke haben jedoch Laufwerke wiederhergestellt, bei denen ein Fehler aufgetreten ist oder auftrat. Die Benutzeroberfläche in HDAT2 ist etwas rauh in der Navigation, wir haben im Allgemeinen die Standardeinstellungen zum größten Teil verwendet und versucht, nicht zu weit von dort wegzuwandern.


Die ersten drei, die Sie erwähnen, sind Leistungsmaßstäbe. Der SMART-Status wurde bereits überprüft und es gibt keine schlechten Sektoren. Es sieht also so aus, als ob HDAT2 nicht das ist, wonach ich suche.
Psusi

Ich würde HDAT2 nicht schließen, wir haben chkdsks ausgeführt und sie waren auch sauber, aber die Festplatte war immer noch nicht bootfähig. Unter HDAT2 konnten Oberflächenprobleme mit der Festplatte festgestellt werden, die repariert werden konnten, um das Laufwerk bootfähig zu machen.
SLM

Ein später Kommentar, aber ich versuche, den Quellcode für HDAT2 zu finden, ohne Erfolg. Gab es kürzlich eine Lizenzänderung?
i336_

4

bonnie ++ fällt mir ein:

Abhängig von der Hardware-Konfiguration Ihrer Box:

bonnie++ -d /path/to/mounted/ssd -r your-system-ram-size-in-MB

Beispiel:

# For a 32GB system with the SSD formatted and mounted at /mnt/mounted-ssd-001
bonnie++ -d /mnt/mounted-ssd-001 -r 32000

Es sollte Ihrem Gerät einen guten Stresstest geben. Sie können es auch anpassen.

Beachten Sie, dass bei einer SSD, wenn ein fehlerhafter Block auftritt, dieser möglicherweise automatisch von der Laufwerkhardware neu zugeordnet wird, je nachdem, mit welchem ​​Laufwerk Sie arbeiten. Ein Foltertest verkürzt auch die Schreiblebensdauer Ihrer SSD. Verwenden Sie es also nach eigenem Ermessen.

BEARBEITEN:

Hinzufügen eines Hinweises zu SSD-Fehlern, da darauf hingewiesen wurde, dass Bonnie ++ Fehler testet, aber nicht nachverfolgt. Die Art und Weise, wie SSDs fehlerhafte Blöcke neu zuordnen, unterscheidet sich von der Art und Weise, wie Festplatten neu zugeordnet werden. Wie es geht, hängt ganz davon ab, welche Marke / Marke / Modell der SSD Sie haben:

  • Billige SSDs fallen einfach aus, weil sie keine freie Kapazität für eine Neuzuordnung haben oder weil sie nicht in der Lage sind, die ausgefallenen Flash-Blöcke zu trennen. Sie werden einfach hängen oder offline gehen und nicht wieder online gehen.
  • Midrange-SSDs ohne freie Kapazität können Smartd-Warnungen oder sogar Blockgerätefehler auf Betriebssystemebene generieren, wenn ein ausgefallener Block erkannt wird. Wenn der Fehler auftritt, ändert sich jedoch die registrierte Größe der SSD. Dies kann dazu führen, dass ein Fehler auftritt und das Gerät vom Betriebssystem offline geschaltet wird, oder dass das Gerät selbst hängt und herausgezogen und wieder eingesetzt werden muss, damit es wieder erkannt wird. Bei einer erneuten Registrierung wird die verfügbare Blockgröße des Geräts verringert.
  • High-End-SSDs mit freier Kapazität ordnen die fehlerhaften Blöcke im Hintergrund neu zu und können Warnungen / Warnungen auf Betriebssystemebene auslösen. Wenn die freie Kapazität erschöpft ist, fällt das Gerät wahrscheinlich im Sinne der Midrange-SSDs aus.

Wenn sich die Größe der SSD aufgrund der Isolierung fehlerhafter Blöcke ändert, müssen Sie möglicherweise die folgenden Schritte ausführen, um das Laufwerk wieder zu aktivieren, wenn die Firmware des Laufwerks nicht automatisch die richtigen Aktualisierungen vornimmt:

http://communities.intel.com/message/145676

Sofern das Stresstest- und Fehlerprotokollierungstool nicht speziell für SSDs entwickelt wurde, wird nur die Lebensdauer des Geräts beansprucht.

BEARBEITEN:

Basierend auf den Informationen aus den obigen Antworten empfehlen wir, entweder das Kabel durch ein besseres zu ersetzen oder das Laufwerk zu ersetzen (RMA / Garantie-Ersatz), da diese Art von Fehlern auf Betriebssystem-Dateisystemebene nicht normal ist.

Wenn Ihr Laufwerk dies unterstützt, können Sie auch den für die Behandlung von Fehlern reservierten Speicherplatz erhöhen:

http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm


Das ist ein Leistungsmaßstab. Es kann das Laufwerk ein Training geben, aber ich glaube nicht, dass es Fehler erkennt.
Psusi

Die Funktionsweise der SSD (s) und die Fehlererkennung können je nach Marke / Modell der SSD auf verschiedene Arten erfolgen: Smartd-Fehler, wenn ein Block neu zugeordnet wird und freie Kapazität verwendet wird (keine Fehler), ist die Kapazität des Geräts Wird reduziert, wenn ein Abschnitt des Flash-Speichers fehlerhaft ist (kann Smartd-Fehler verursachen, kann Dateisystemfehler verursachen, kann dazu führen, dass das Gerät den Bus nicht mehr reagiert, wenn es offline geschaltet wird. Beim Ziehen / erneuten Einfügen ist das Laufwerk wieder verfügbar, muss jedoch möglicherweise neu formatiert werden ), und die SSD kann ohne erneute Zuordnung sofort hängen bleiben (das Gerät reagiert auch nach dem erneuten Einsetzen nicht mehr). Der Fehlerpfad entspricht nicht HD
Wing Tang Wong

1
Die Fehler werden vom Laufwerk nicht erkannt, daher ist ein Testtool erforderlich. Dies äußert sich darin, dass das Dateisystem erneut bereitgestellt wird und e2fsck viele Fehler in den Metadaten findet und behebt. Außerdem sind einige Dateien meines Git-Repository-Pakets beschädigt. Es ist eine stille Verfälschung, die vielleicht alle ein oder zwei Monate auftritt. Zuerst dachte ich, es könnte ein Fehler mit TRIM sein, da ich mich nicht daran erinnere, dass dies geschehen ist, bevor ich es aktiviert habe. Also habe ich es wieder ausgeschaltet und es passiert immer noch.
Psusi

Ein paar mögliche Probleme: fehlerhaftes Laufwerkkabel oder fehlerhaftes Laufwerk. Sie können das fehlerhafte Laufwerkkabel testen, indem Sie es durch ein anderes ersetzen. Ich hatte dies in der Vergangenheit und das Ersetzen durch ein besser spezifiziertes Kabel hat funktioniert. Im Falle einer defekten Festplatte RMA oder zur Reparatur einschicken.
Wing Tang Wong

1
Das Problem beweist, dass es sich um ein fehlerhaftes Laufwerk (oder wirklich um einen Fehler in der Firmware) handelt und nicht um einen Fehler im Kernel. Wenn es ein fehlerhaftes Kabel wäre, würde es sich eher als SATA-ECC-Fehler als als zufällige stille Beschädigung manifestieren.
Psusi

3

Ich verstehe, dass dies über ein Jahr alt ist, aber zum Nutzen aller, die in Zukunft den Thread lesen, gehe ich davon aus, dass die von Ihnen benötigte Software (d) noch nicht außerhalb von HP Labs existiert:

"Die Robustheit von SSDs unter Stromausfall verstehen" https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf

Ersetzen der Stromversorgungsfehler-Einspeisung durch ein Ereignis Ihrer Wahl (oder nichts im Fall des Erkennens zeitweiliger Firmware-Fehler), und es scheint, dass diese Software dies erkennen würde. Leider glaube ich nicht, dass es eine Alternative gibt, ansonsten hätte HP vermutlich nichts im Haus geschrieben.

Es ist eine Schande, da ich auch so etwas gebraucht habe, um Probleme in der virtuellen Umgebung zu beweisen. wo ich vermute, dass bestimmte Schreibvorgänge nicht tatsächlich auf die physische Festplatte gelangt sind. Es wäre großartig, wenn Sie den Storage Stack auf diese Weise testen könnten, nicht nur SSDs. Ich habe noch nichts Passendes gefunden.


2
(aus anonymen Kommentaren) Obwohl die Hardware-Seite der Dinge repliziert werden müsste, sehe ich keinen Grund, warum der Teil der Softwareverifizierung dieses Papiers mit fio im Client / Server-Modus mit Triggern nicht reproduziert werden konnte. Weitere Informationen finden Sie unter github.com/axboe/fio/blob/master/HOWTO (10.0 Überprüfung und Trigger). fio kann dazu gebracht werden, ungepufferte oder periodisch synchronisierte E / A in einer Vielzahl nützlicher Muster zu verwenden, die später überprüft werden können (es ist sogar möglich, eine Statusdatei zu speichern, damit die Überprüfung nach verschiedenen fio-Aufrufen erfolgen kann).
Archemar

1

Verwenden Sie das Maker-Test-Tool. Dies ist die beste Möglichkeit, eine Festplatte zu testen, da es auf die Tests auf niedriger Ebene zugreifen, fehlerhafte Sektoren neu zuordnen und den gesamten Status des Smart Health testen kann (speziell für eine SSD gibt es für die meisten von uns viele unbekannte Register) kann dem Hersteller aber helfen, den Festplattenstatus zu erkennen)

hirensCD hat viele Testwerkzeuge, aber ich denke, dass es nicht auf SSD-fähige aktualisiert wurde, also schauen Sie direkt auf der Hersteller-Website nach. Einige unterstützen Linux, andere erfordern möglicherweise eine Windows Live-CD (überprüfen Sie die hirenCd erneut) oder starten von einem pendrive (freedos, spezielles Betriebssystem usw.)

Die meisten älteren HD-Tools eignen sich nicht zum Testen von SSDs, da sich ein Sektor nie an derselben Stelle befindet und von der Firmware dynamisch zugeordnet wird, um die Schreibvorgänge auf dem gesamten Laufwerk zu verteilen. Wenn sie also Schreibtests durchführen, brennen Sie nur Schreibzyklen, anstatt die Festplatte wirklich zu testen.

Lesetests brennen nicht die SSD, sondern testen möglicherweise auch nicht alle SSD-Sektoren. Dies liegt wiederum daran, dass die Firmware das tatsächliche Layout verbirgt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.