Ist Bit Rot auf Festplatten ein echtes Problem? Was kann dagegen getan werden?

32

Ein Freund spricht mit mir über das Problem der Bit-Rot-Bits auf Laufwerken, die zufällig spiegeln und Daten beschädigen. Unglaublich selten, aber mit genügend Zeit könnte es ein Problem sein, und es ist unmöglich zu erkennen.

Das Laufwerk würde es nicht als fehlerhaften Sektor betrachten, und Backups würden nur vermuten, dass sich die Datei geändert hat. Es ist keine Prüfsumme zur Überprüfung der Integrität erforderlich. Selbst in einem RAID-Setup wird der Unterschied erkannt, es kann jedoch nicht festgestellt werden, welche Spiegelkopie korrekt ist.

Ist das ein echtes Problem? Und wenn ja, was kann dagegen unternommen werden? Mein Freund empfiehlt zfs als Lösung, aber ich kann mir nicht vorstellen, unsere Dateiserver bei der Arbeit zu reduzieren und Solaris und zfs zu installieren.

scobi
quelle
Ich hatte gerade einen schönen SMART-Fehler auf einer alten 200-GB-Seagate-Festplatte. Die Bits, die sie zu viel verrottet haben :-( Es ist sechs Monate vor der 5-Jahres-Garantie, so dass ich wahrscheinlich einen Ersatz ohne viel Aufhebens bekommen.
ThatGraemeGuy

Antworten:

24

Zunächst einmal: Ihr Dateisystem verfügt möglicherweise nicht über Prüfsummen, Ihre Festplatte selbst verfügt jedoch über diese. Es gibt zum Beispiel SMART. Sobald ein bisschen zu viele umgedreht wurden, kann der Fehler natürlich nicht mehr behoben werden. Und wenn Sie wirklich Pech haben, können sich die Bits so ändern, dass die Prüfsumme nicht ungültig wird. dann wird der Fehler nicht einmal erkannt. Also, böse Dinge können passieren; Aber die Behauptung, dass ein zufälliges Spiegeln von Bits Ihre Daten sofort verfälscht, ist falsch.

Aber ja, wenn Sie Billionen von Bits auf eine Festplatte schreiben, werden sie nicht für immer so bleiben. Das ist ein echtes Problem! ZFS kann die Integrität jedes Mal überprüfen, wenn Daten gelesen werden. Dies ähnelt dem, was Ihre Festplatte bereits selbst tut, ist jedoch eine weitere Sicherheitsmaßnahme, für die Sie Speicherplatz opfern, um die Ausfallsicherheit gegen Datenkorruption zu erhöhen.

Wenn Ihr Dateisystem gut genug ist, ist die Wahrscheinlichkeit, dass ein Fehler auftritt, ohne dass er erkannt wird, so gering, dass Sie sich nicht mehr darum kümmern müssen und möglicherweise entscheiden, dass Prüfsummen in das von Ihnen verwendete Datenspeicherformat integriert sind nicht notwendig.

So oder so: Nein, es ist nicht unmöglich zu erkennen .

Ein Dateisystem allein kann jedoch niemals eine Garantie dafür sein, dass jeder Fehler behoben werden kann. Es ist keine Silberkugel. Sie müssen weiterhin über Sicherungen und einen Plan / Algorithmus verfügen, um zu ermitteln, was zu tun ist, wenn ein Fehler festgestellt wurde.

nex
quelle
Ok, laut Wikipedia ( en.wikipedia.org/wiki/Error_detection_and_correction ) verwenden moderne Festplatten CRCs, um Fehler zu erkennen und zu versuchen, sie mit Hilfe der Fehlerbehebung im CD-Stil wiederherzustellen. Das ist gut genug für mich.
Scobi
1
Wenn sich die CRC jedoch am selben Speicherort (Sektor) wie die Daten befindet, ist dies nicht für alle Fehlerfälle hilfreich. Wenn zum Beispiel ein Kopfpositionierungsfehler vorliegt, könnten die Daten in einen falschen Sektor geschrieben werden - aber mit einer korrekten Prüfsumme => könnten Sie das Problem nicht erkennen. Deshalb werden Prüfsummen in ZFS getrennt von den Daten gespeichert, die sie schützen.
Knweiss
Hat ZFS eine Wartung wie Windows? Grundsätzlich werden die Daten regelmäßig neu geschrieben, um die magnetische Codierung zu aktualisieren.
TomTom
Moderne Festplatten verwenden keine CRCs, sondern einen ganz anderen Hamming-Code. Es ist dasselbe, was der ECC-Speicher verwendet. Ein-Bit-Flip-Fehler können korrigiert werden, Zwei-Bit-Flip-Fehler können erkannt, aber nicht korrigiert werden, drei oder mehr Bit-Flip-Fehler und die Daten sind tatsächlich beschädigt. In jedem Fall gibt es keinen Ersatz für Datensicherungen. ZFS und andere Dateisysteme bieten keinen besseren Schutz als der Hamming-Code auf den Platten eines Laufwerks. Wenn die Daten beschädigt sind, werden Sie von ZFS nicht gerettet.
Jody Lee Bruchon
@JodyLeeBruchon Sie haben eine Quelle für Hamming-Code, die derzeit überwiegend verwendet wird? Welche Informationssammlung ich in letzter Zeit gemacht habe, zeigt, dass Laufwerkshersteller immer noch CRC-RS verwenden. 1 2
Ian Schoonover
16

Ja, das ist ein Problem, vor allem, wenn die Laufwerksgrößen steigen. Die meisten SATA-Laufwerke weisen eine URE-Rate (nicht korrigierbarer Lesefehler) von 10 ^ 14 auf. Oder für jeweils 12 TB statistisch gelesener Daten gibt der Laufwerkshersteller an, dass das Laufwerk einen Lesefehler zurückgibt (Sie können diese normalerweise auf den Laufwerksdatenblättern nachschlagen). Das Laufwerk funktioniert weiterhin einwandfrei für alle anderen Teile des Laufwerks. Enterprise-FC- und SCSI-Laufwerke haben im Allgemeinen eine URE-Rate von 10 ^ 15 (120 TB), zusammen mit einer kleinen Anzahl von SATA-Laufwerken, was zu einer Reduzierung beiträgt.

Ich habe noch nie gesehen, dass die Festplatten exakt zur gleichen Zeit nicht mehr rotieren, aber ich hatte ein Raid5-Problem (vor 5 Jahren mit PATA-Laufwerken für Endverbraucher mit 5400 U / min). Das Laufwerk fällt aus, es ist als tot markiert und das Ersatzlaufwerk wird neu erstellt. Das Problem ist, dass während der Wiederherstellung ein zweites Laufwerk diesen einen kleinen Datenblock nicht lesen kann. Je nachdem, wer die Razzia durchführt, ist möglicherweise das gesamte Volume oder nur dieser kleine Block tot. Angenommen, es ist nur ein Block tot. Wenn Sie versuchen, ihn zu lesen, wird eine Fehlermeldung angezeigt. Wenn Sie jedoch darauf schreiben, ordnet das Laufwerk ihn einem anderen Speicherort zu.

Es gibt mehrere Methoden zum Schutz vor: raid6 (oder eine gleichwertige Methode), die vor dem Ausfall einer doppelten Festplatte schützt, zusätzliche Methoden sind ein URE-fähiges Dateisystem wie ZFS, das kleinere RAID-Gruppen verwendet, sodass Sie statistisch gesehen eine geringere Wahrscheinlichkeit haben, auf das URE-Laufwerk zu stoßen Grenzen (spiegeln große Laufwerke oder raid5 kleinere Laufwerke), Disk Scrubbing & SMART hilft auch, ist aber nicht wirklich ein Schutz für sich, sondern wird zusätzlich zu einer der oben genannten Methoden verwendet.

Ich verwalte fast 3000 Spindeln in Arrays, und die Arrays reinigen die Laufwerke ständig auf der Suche nach latenten UREs. Und ich erhalte einen ziemlich konstanten Strom von ihnen (jedes Mal, wenn es einen findet, behebt es ihn vor dem Laufwerksausfall und alarmiert mich), wenn ich raid5 anstelle von raid6 verwende und eines der Laufwerke komplett tot ist ... würde ich in Schwierigkeiten sein, wenn es bestimmte Orte trifft.


quelle
2
In welchen Einheiten sprichst du? "10 ^ 14" ist keine "Rate".
Jay Sullivan
2
Die Einheit wäre zB "10 ^ 14 Bits gelesen pro Fehler", was 12 TB gelesen pro Fehler entspricht.
Jo Liss
2
Dabei ist natürlich zu beachten, dass die Fehlerrate normalerweise in Form von Vollsektorfehlern pro gelesenem Bit angegeben wird. Wenn ein Hersteller die URE-Raten mit 10 ^ -14 angibt, bedeutet dies, dass die Wahrscheinlichkeit, dass ein zufälliger Sektor auf eine URE trifft, 10 ^ -14 beträgt, und wenn dies der Fall ist, wird der gesamte Sektor als unlesbar zurückgegeben. Das und die Tatsache, dass dies Statistiken sind; In der realen Welt kommen UREs in der Regel in Chargen.
ein Lebenslauf vom
9

Festplatten codieren Datenbits im Allgemeinen nicht als einzelne Magnetdomänen - Festplattenhersteller waren sich immer bewusst, dass Magnetdomänen kippen und Fehlererkennung und -korrektur für Laufwerke einbauen können.

Wenn ein Bit kippt, enthält das Laufwerk genügend redundante Daten, die korrigiert werden können, wenn der Sektor das nächste Mal gelesen wird. Sie können dies sehen, wenn Sie die SMART-Statistiken auf dem Laufwerk als "Korrigierbare Fehlerrate" überprüfen.

Abhängig von den Details des Laufwerks sollte es sogar möglich sein, mehr als ein umgedrehtes Bit in einem Sektor wiederherzustellen. Es wird ein Limit für die Anzahl der umgedrehten Bits geben, die stillschweigend korrigiert werden können, und wahrscheinlich ein weiteres Limit für die Anzahl der umgedrehten Bits, die als Fehler erkannt werden können (selbst wenn nicht mehr genügend zuverlässige Daten zur Korrektur vorhanden sind).

Dies alles summiert sich zu der Tatsache, dass Festplatten die meisten Fehler automatisch korrigieren und die meisten anderen zuverlässig erkennen können. Sie müssten eine große Anzahl von Bitfehlern in einem einzelnen Sektor haben, die alle aufgetreten sind, bevor dieser Sektor erneut gelesen wurde, und die Fehler müssten so sein, dass die internen Fehlererkennungscodes ihn vor Ihnen erneut als gültige Daten ansehen würde jemals einen stillen Misserfolg haben. Es ist nicht unmöglich, und ich bin sicher , dass die Unternehmen sehr große Rechenzentren betrieben sehen es passieren (oder besser gesagt, es kommt und sie nicht sehen , sie passieren), aber es ist sicherlich nicht so groß ein Problem , wie Sie vielleicht denken.

Ian Clelland
quelle
2
Eigentlich habe ich regelmäßig Bit-Rot-Fehler (in Teilen lese ich nicht viel), die das System stillschweigend (falsch) behebt. Wenn es mir zumindest mitteilte, dass Bit-Rot vorliegt, konnte ich die Daten erneut lesen, um sie wiederherzustellen, bevor sie nicht wiederherstellbar waren. und wenn es nicht wiederherstellbar ist, kann ich es mit der anderen Festplatte vergleichen.
Alex
Alex, überprüfen Sie bitte Ihre HDD SMART-Daten und den System-RAM, um sicherzustellen, dass kein anderes Problem die Beschädigung verursacht. Bit Rot / zufällige Korruption ist äußerst selten, sodass möglicherweise noch etwas mit Ihrem Computer los ist.
Brian D.
@BrianD. Ein Problem war, dass ich die Festplatten in ihrem (isolierten) Verpackungsmaterial aufbewahrte; Dies führte dazu, dass sich Festplatten während der Arbeit tagelang auf über 60 ° C erhitzten. Klingt das nach einem legitimen Grund, warum Bit Rot aufgetreten sein könnte?
Alex
Dies wird definitiv nicht empfohlen, da die meisten Festplatten kleine Luftlöcher aufweisen, die für einen ordnungsgemäßen Betrieb nicht abgedeckt werden sollten. Unabhängig davon, ob es sich um ein Bit-Rot-Problem oder ein anderes Problem handelt, habe ich auf dem PC eine vollständige Diagnose durchgeführt, um sicherzustellen, dass alles ordnungsgemäß funktioniert.
Brian D.
4

Moderne Festplatten (seit 199x) haben nicht nur Prüfsummen, sondern auch ECC, die einiges an "zufälliger" Bitfäule erkennen und korrigieren können. Siehe: http://en.wikipedia.org/wiki/SMART .

Andererseits können bestimmte Fehler in Firmware und Gerätetreibern auch Daten in seltenen Fällen beschädigen (andernfalls würde die Qualitätssicherung die Fehler abfangen), die schwer zu erkennen wären, wenn Sie keine Prüfsummen höherer Ebene hätten. Frühere Gerätetreiber für SATA und NICs hatten Daten sowohl unter Linux als auch unter Solaris beschädigt.

ZFS-Prüfsummen zielen hauptsächlich auf die Fehler in niedrigerer Software. Neuere Speicher- / Datenbanksysteme wie Hypertable haben auch Prüfsummen für jedes Update, um vor Fehlern in Dateisystemen zu schützen :)

Obecalp
quelle
3

Theoretisch gibt dies Anlass zur Sorge. In der Praxis ist dies einer der Gründe, warum wir untergeordnete / übergeordnete / übergeordnete Sicherungen durchführen. Jährliche Backups müssen mindestens 5 Jahre aufbewahrt werden, IMO, und wenn Sie einen Fall haben, bei dem dies weiter zurückreicht, ist die Datei offensichtlich nicht so wichtig.

Wenn es sich nicht um Teile handelt, die möglicherweise das Gehirn eines Menschen verflüssigen könnten , bin ich mir nicht sicher, ob das Risiko gegen das Entgelt bis zur Änderung des Dateisystems reicht.

Kara Marfia
quelle
1
Ich verstehe nicht, wie Kind / Eltern / Großeltern-Backups helfen. Mit diesem System ist es nicht möglich, festzustellen, ob ein Bit umgedreht wurde, weil ein Benutzer beabsichtigte, es zu ändern, oder ob das Laufwerk es selbst getan hat. Nicht ohne irgendeine Checksumme.
scobi
Es hilft nicht, mehrere Backups zu haben, wenn Sie nicht wissen, dass die darin enthaltenen Daten in Ordnung sind. Sie können Ihre Dateien manuell prüfen, ZFS erledigt dies jedoch viel automatischer und vereinfacht die Dateisystemverwaltung.
Amok
1
Durch Backups, die länger als eine Woche / Monat zurückliegen, erhöhen sich Ihre Chancen, eine gute Kopie der Datei zu erhalten. Ich hätte wahrscheinlich klarer darüber sein können.
Kara Marfia
1
Das Problem ist: Woher weißt du, dass du eine schlechte Kopie hast? Und woher wissen Sie, welche gesicherte Kopie die gute ist? Auf automatisierte Weise.
Scobi
Ich habe vielleicht alle paar Jahre eine Datei gesehen, die durch Fäulnis beschädigt wurde, aber ich leide möglicherweise unter dem Small Fish Syndrom. Ich könnte verstehen, dass Backups nutzlos sind, und ich lösche, wenn sie anstößig sind. Unabhängig davon, war es Zeit, die anderen Antworten zu lesen. ;)
Kara Marfia
2

Ja, das ist ein Problem.

Dies ist einer der Gründe, warum RAID6 jetzt in Mode ist (und zunehmende HD-Größen die Zeit für den Neuaufbau eines Arrays verlängern). Das Vorhandensein von zwei Paritätsblöcken ermöglicht eine zusätzliche Sicherung.

RAID-Systeme führen jetzt auch RAID-Scrubbing durch, bei dem Festplattenblöcke regelmäßig gelesen, die Paritäten überprüft und ersetzt werden, wenn ein Block als fehlerhaft eingestuft wird.

Matt Rogish
quelle
Seien Sie vorsichtig, die Datenintegrität ist nicht bei allen RAID-Systemen gegeben.
Duffbeer703
1
Bei Terabyte-Laufwerken gibt es so viele Bits, die sich das Schicksal teilen, und der physische Speicherbereich eines Bits ist so klein, dass dieses Problem an Bedeutung gewinnt. Gleichzeitig steigt die Ausfallwahrscheinlichkeit bei Terabyte-Laufwerken so stark an, dass RAID6 nicht ausreicht, wenn Sie nicht viele Laufwerke in den Pool stellen, z. B. 8 oder mehr. Bei einer geringeren Anzahl von Laufwerken ist es besser, einen Streifen von Spiegeln (RAID 10) zu verwenden. Sowohl RAID 6 (raidz2) als auch RAID 10 (zpool create mypool mirror c0t1d0 c0t2d0 mirror c0t3d0 c0t4d0) sind unter ZFS möglich.
Michael Dillon
RAID kann nicht erkennen, welche Daten gut sind und welche nicht, sodass es keine Fehler beheben kann, sondern sie nur erkennen kann.
Amok
Amuck: Nicht als Teil des "RAID-Standards" an sich, aber fortschrittliche RAID-Systeme (Firmwares usw.) tun dies
Matt Rogish 31.10.09
@ Michael Dillion - Die RAID6-Zuverlässigkeit nimmt nicht zu, wenn Sie die Anzahl der Laufwerke erhöhen. Für alle Daten gibt es nur die Originaldaten + 2 Parität. Das Erhöhen der Laufwerksnummer ist für die Zuverlässigkeit ungünstiger, da es die mögliche Ausfallrate des Laufwerks erhöht, ohne die Redundanz von Daten zu erhöhen. Der einzige Grund für die Erhöhung der Laufwerksnummern ist die Erhöhung der verfügbaren Speichergröße.
Brian D.
1

In Bezug auf die Aussage des OP über RAID nicht zu verstehen, welche Daten gut gegen schlecht sind.

RAID-Controller verwenden mindestens (ungerade / gerade) Paritätsbits auf jedem Datenstreifen. Das ist für alles; die Daten-auf-Platte-Streifen und die Paritäts- (Sicherungs-) Datenstreifen.

Dies bedeutet, dass der Controller für jeden RAID-Typ mit Striping für Redundanz (RAID 5/6) genau feststellen kann, ob sich der ursprüngliche Datenstreifen sowie der Redundanzdatenstreifen geändert haben.

Wenn Sie einen zweiten redundanten Streifen wie RAID6 einführen, müssen Sie 3 Datenstreifen auf drei verschiedenen Laufwerken haben, die beschädigt sind und alle denselben tatsächlichen Dateidaten entsprechen. Denken Sie daran, dass die meisten RAID-Systeme relativ kleine Datenstreifen (128 KB oder weniger) verwenden, so dass die Wahrscheinlichkeit, dass dieselbe Datei mit denselben 128 KB aneinanderreiht, praktisch ausgeschlossen ist.

Brian D.
quelle
0

Es ist ein Problem der realen Welt, aber die Frage ist, ob Sie sich darum kümmern sollten oder nicht.

Wenn Sie nur eine Festplatte voller Bilder haben, lohnt sich der Aufwand möglicherweise nicht. Es ist voller wichtiger wissenschaftlicher Daten. Es könnte eine andere Art von Geschichte sein. Sie haben die Idee.

Marc Stürmer
quelle