Der beste Weg, um neue Festplatten für einen günstigen Speicherserver zu testen

31

Ich möchte einen Speicherserver aufbauen und habe gekauft 10 x 2TB WD RED's. Der ist HDD'sgerade angekommen.

Gibt es ein Tool, mit dem Sie nach defekten Laufwerken suchen oder die Kindersterblichkeit am besten bekämpfen können, bevor Sie echte Daten auf Ihre Datenträger kopieren?

Ist es besser, jedes einzelne zu überprüfen HDDoder das Array ( ZFS raid-z2) zu testen, indem viele Daten darauf kopiert werden?

s1lv3r
quelle
1
Ich weiß, dass es einige herstellerspezifische Tools wie "WD Data LifeGuard Diagnostics" gibt. Aber ich frage mich, was die Jungs machen, die eine ganze Menge Festplatten kaufen. Ich bezweifle, dass sie jede einzelne Festplatte überprüfen (was viel Zeit in Anspruch nimmt). Ich frage mich also, ob es ein Tool gibt, das einen vollständigen SMART-Test für alle Festplatten gleichzeitig durchführen kann.
s1lv3r
3
Fast alles, was auf die Laufwerke schreibt, kann als Test verwendet werden. Ein oder zwei vollständige Wischbewegungen des Arrays sollten ausreichen, um die Kindersterblichkeit festzustellen. Es ist eine wirklich gute Idee, Laufwerke von verschiedenen Anbietern / Chargen zu kaufen, wenn Sie mehr als ein Paar haben. Dies verringert die Wahrscheinlichkeit, dass mehrere Laufwerke gleichzeitig ausfallen (aufgrund ähnlicher Herstellungsfehler).
Chris S

Antworten:

14

Ich hatte vor 2 Monaten die gleiche Frage. Nach dem Senden einer ausgefallenen Festplatte ist die Ersatzfestplatte in meinem NAS nach 3 Tagen ausgefallen. Deshalb habe ich beschlossen, den neuen Ersatz jetzt zu testen, bevor er in Produktion geht. Ich teste nicht jede neue Festplatte, die ich kaufe, sondern nur 'überholte' Festplatten, denen ich nicht ganz vertraue.

Wenn Sie diese Festplatten testen möchten, würde ich empfehlen, einen Badblockscan und einen erweiterten SMART-Test auf der brandneuen Festplatte durchzuführen.

Auf einer 2-TB-Festplatte dauert dies bis zu 48 Stunden. Der Befehl badblock schreibt die Festplatte mit einem Muster voll und liest dann die Blöcke erneut, um festzustellen, ob das Muster tatsächlich vorhanden ist, und wiederholt dies mit 4 verschiedenen Mustern.

Dieser Befehl wird wahrscheinlich keine fehlerhaften Blöcke auf einer neuen Festplatte anzeigen, da Festplatten in diesen Tagen fehlerhafte Blöcke neu zuweisen.

Vorher und nachher führte ich einen intelligenten Test durch und überprüfte die neu zugewiesene und aktuelle Anzahl der ausstehenden Sektoren. Wenn einer dieser Fehler aufgetreten ist, weist Ihre Festplatte bereits einige fehlerhafte Blöcke auf und ist möglicherweise nicht vertrauenswürdig.

Danach führe ich erneut einen erweiterten SMART-Test durch.

Möglicherweise möchten Sie zuerst smartctl oder smartmontools installieren.

Achtung , das Flag badblocks -w überschreibt alle Daten auf Ihrer Festplatte. Wenn Sie nur eine Lesekontrolle durchführen möchten, ohne die Festplatte zu überschreiben, verwenden Siebadblocks -vs /dev/sdX

sudo smartctl -a /dev/sdX
# record these numbers
sudo badblocks -wvs /dev/sdX
# let it run for 48 hours
sudo smartctl -a /dev/sdX
# compare numbers
sudo smartctl -t long /dev/sdX
# this might take another hour or 2, check results periodically with
sudo smartctl -a /dev/sdX

Wenn danach Ihre Smart-Werte in Ordnung zu sein scheinen, würde ich der Festplatte vertrauen.

Um zu wissen, was jeder Smart Value bedeutet, können Sie hier nachschauen

http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology

Jens Timmerman
quelle
Wie die anderen vermuteten, kann dies viel zu viel bewirken, aber da ich nur 10 Festplatten besitze und es mit Sicherheit keine schlechten Ergebnisse erzielen kann, überprüfe ich alle Festplatten nur so, wie Sie es jetzt vorgeschlagen haben. Vielen Dank für Ihre umfassende Antwort.
S1LV3R
23

Dies sind neue Festplatten. Entweder werden sie scheitern oder nicht. Mit dem ZFS-Dateisystem sind Sie bereits einen großen Schritt voraus. So erhalten Sie einen umfassenden Einblick in den Zustand Ihres Schlachtzugs und Ihres Dateisystems.

Ich würde nichts anderes tun, als nur das Array aufzubauen. Das ist der Punkt der Redundanz. Mit den anderen aufgeführten Methoden können Sie keinen Laufwerksfehler auslösen.

ewwhite
quelle
1
Sind Sie damit einverstanden - Sie bauen ein Array. Wenn ein Laufwerk ausfällt, wenn Sie anfangen, Daten zu speichern, spielt es keine Rolle, Sie ersetzen es und das Array heilt sich von selbst aus. Wenn Sie die Laufwerke vor der Verwendung auf Probleme testen, können Sie nicht genau abschätzen, ob sie im wirklichen Leben versagen werden - das wirkliche Leben ist kein Test!
Ashley
1
Ich bin damit einverstanden, dass "das wirkliche Leben keine Tests mag", aber ich habe auch zwei Laufwerksfehler über Badblocks gefunden. Hätte ich beide in den gleichen Teil eines RAID 1, 5 oder 10 gesteckt, hätte ich das gesamte RAID verloren.
rjt
1
@rjt wahrscheinlich nicht. Fehlerhafte Sektoren würden neu zugeordnet, und die Laufwerke wären wahrscheinlich nicht gleichzeitig ausgefallen. Außerdem sind nicht alle Laufwerksfehler auf Datenträger oder fehlerhafte Blöcke zurückzuführen. Was ist, wenn das Antriebslager abgenutzt ist oder Funktionsstörungen aufweist?
ewwhite
Ich treffe wahrscheinlich keine Entscheidungen über geschäftskritische Daten . Laut Google Hard Drive Study nutzen sich Laufwerke in den ersten 90 Tagen oder nach drei Jahren ab. Badblocks helfen, die niedrig hängenden Früchte zu beseitigen.
rjt
1
@rjt Natürlich treffen Sie Entscheidungen über unternehmenskritische Daten "wahrscheinlich" - Wenn Sie dies nicht getan hätten, könnten Sie Daten auf keinem Laufwerk speichern, unabhängig davon, wie oft Sie testen.
voretaq7
10

Sie können Bonnie ++ zum Testen verwenden. Es kann das Verhaltensmuster eines Dateiservers perfekt emulieren.

Beispielsweise:

# bonnie++ -u nobody -d /home/tmp -n 100:150000:200:100 -x 300

Der Test wird als Benutzer "nobody" ausgeführt und erstellt / überschreibt / löscht 100 * 1024 Dateien mit einer Größe von 200 bis 150000 Bytes pro Datei in 100 automatisch erstellten Verzeichnissen unterhalb von / home / tmp. Und Anzahl der Tests = 300. Sie können die Anzahl / Größe der Dateien und die Anzahl der Testwiederholungen herumspielen.

Shtlzut
quelle
9

Normalerweise führe ich nur eine vollständige RAID-Init-Operation durch und beginne dabei, das Dateisystem zu füllen, wobei ich ständig weiß, dass möglicherweise ein Problem aufgrund von Laufwerksausfällen vorliegt. Auf diese Weise verschwende ich keine Zeit für Tests, die sowieso ziemlich unzuverlässig sind, und würde die wirklich schwachen Laufwerke sofort erkennen. Danach besteht möglicherweise immer noch eine erhöhte Wahrscheinlichkeit für Laufwerksausfälle aufgrund der "Kindersterblichkeit", aber es gibt keinen praktischen Weg, dies zu beseitigen.

In der Praxis gab es während des ersten Betriebsjahres bei keiner der letzten hundert Festplatten, die ich in einem RAID verwendet habe, Probleme.

Sven
quelle
8

Ich arbeite für ein Unternehmen, das solche Tests tagtäglich durchführt. Und ja, wir testen jede einzelne Festplatte, die wir kaufen. Unser Prozess beginnt mit dem Ausführen der Laufwerke über ein kostenloses DOS-basiertes Programm namens HDAT2. Es kann kostenlos heruntergeladen werden. Es kann auf SMART und einige andere Funktionen des Laufwerks zugreifen, auf die in einer Windows-Umgebung nicht zugegriffen werden kann. Abhängig von den Ergebnissen werden wir sie durch eine von mehreren verschiedenen Linien spezialisierter Hardware führen, aber im Kern führen sie meist nur einen kurzen SMART-Selbsttest, einen langen Test, ein sicheres Löschen und einen All Read durch, um die Sektoren zu überprüfen. Mein Vorschlag wäre, ein sicheres Löschen der gesamten Festplatte durchzuführen, dann einen vollständigen Lesevorgang und dann einen kurzen SMART-Selbsttest. Diese Reihenfolge ist wichtig, da ein kurzer Selbsttest möglicherweise nichts findet, wenn er zu Beginn des Tests ausgeführt wird. Nach einem vollständigen Beschreiben und Lesen der Disc kann sich jedoch ein Problem ergeben. Hoffe das hilft.

Nick
quelle
1
serverfault.com/a/501870/117546 ist für mich am sinnvollsten, aber ich bin kein Experte. Warum testet Ihr Unternehmen die Festplatten? Ich würde denken, dass der effektivste Test tatsächlich das Laufwerk verwenden würde.
Emory
4

Sie können die Testsuite des Herstellers oder so etwas wie SpinRite verwenden , um die gesamte Festplatte zu durchsuchen . Es wäre auch eine gute Idee, sich die SMART- Werte anzusehen und nach schlechten Sektoren und anderen Alters- / Versagenszeichen Ausschau zu halten.

virtuell Nathan
quelle
3

Wenn Sie wirklich testen möchten, verwenden Sie den Schreibtest badblocks. Es schreibt Datenmuster auf die Festplatte und liest sie dann zur Überprüfung. Währenddessen wird Ihre Festplatte ein wenig belastet. Meiner Meinung nach können Sie der Festplatte vertrauen, wenn sie erfolgreich ausgeführt wird.

Aber ich denke, ZFS und gutes Backup ist genug.

Stein
quelle