Können sich Daten auf einer Festplatte verschlechtern, ohne dass Windows mich warnt, dass dies passiert ist, wenn ich versuche, auf die Daten zuzugreifen?

30

Ist es wahrscheinlich, dass eine physische Verschlechterung einer Festplatte dazu führen kann, dass Bits im Dateiinhalt "umkehren", ohne dass das Betriebssystem dies bemerkt und Sie beim Lesen der Datei darüber informiert? Könnte beispielsweise ein 'p' in einer ASCII-Textdatei (binär 0111000 0 ) in ein 'q' (0111000 1 ) geändert werden, und dann könnte ein Benutzer (ich) die Datei öffnen und 'q' anzeigen , ohne zu wissen, dass ein Fehler vorliegt ist vorgefallen?

Ich interessiere mich für Antworten in Bezug auf FAT, NTFS oder ReFS ... wenn es einen Unterschied macht.

Ich möchte wissen, ob das Betriebssystem mich davor schützt oder ob ich meine Daten auf Unstimmigkeiten zwischen Kopien / im Laufe der Zeit überprüfen soll.

topo Setzen Sie Monica wieder ein
quelle
Nicht speziell verwandt, aber ähnlich: superuser.com/questions/613702/…
Michael Frank
Ich nehme an, dass ein beschädigter Schreib- / Lesekopf möglicherweise versehentlich die falsche Ladung auf die Disc auflädt, obwohl ich noch nie eine so kleine Datenbeschädigung gesehen habe. Außerdem würde ich nicht darauf vertrauen, dass Windows mir mitteilt, ob ein Laufwerk ausfällt oder nicht (die Meldung beim Anmelden). Ich habe mit der Zeit gesehen, dass Laufwerke langsam ohne Warnung von Windows ausfielen.
CConard96
Natürlich ... werden die Daten als Bits mit relativen Werten von 0 oder 1 gespeichert, Entropie tritt in allen Systemen auf, einschließlich Magnet- und Festkörperspeicher. Alle Daten werden mit der Zeit schlechter.
Acejavelin
2
@Moab: Ihr zweiter Kommentar ("Also ...") würde mich mehr beeindrucken, wenn sich die URL in irgendeiner Weise von der URL in Ihrem ersten Kommentar unterscheiden würde.
TOOGAM
1
Wenn Sie ReFS auf einem gespiegelten Volume verwenden (nicht auf Parität!) Und es ordnungsgemäß konfigurieren, werden sowohl Dateidaten als auch Metadaten des Dateisystems geprüft. Es wird beim Lesen überprüft (und bei Bedarf behoben) und es gibt auch einen geplanten Auftrag, der das gesamte Volume regelmäßig auf erkannte Fehler überprüft.
Davidbak

Antworten:

24

Ja , es gibt eine Sache, die Bitfäule heißt.

Aber nein , es wird dich nicht unbemerkt berühren.

Wenn ein Laufwerk einen Sektor auf die Platten schreibt, werden die Bits nicht nur so geschrieben, wie sie im RAM gespeichert sind, sondern es wird eine Codierung verwendet, um sicherzustellen, dass keine Sequenzen desselben Bits zu lang sind Außerdem werden ECC-Codes hinzugefügt, mit denen Fehler behoben werden können, die sich auf einige wenige Bits auswirken, und Fehler erkannt werden, die sich auf mehr als einige wenige Bits auswirken.

Wenn das Laufwerk den Sektor liest, überprüft es diese ECC-Codes und repariert die Daten, falls erforderlich und möglich. Was als nächstes passiert, hängt von den Umständen und der Firmware des Laufwerks ab, die von der Bezeichnung des Laufwerks beeinflusst werden.

  • Wenn ein Sektor gelesen werden kann und keine ECC-Probleme aufweist, wird er an das Betriebssystem übergeben
  • Wenn ein Sektor leicht repariert werden kann, kann die reparierte Version auf die Festplatte geschrieben, zurückgelesen und überprüft werden, um festzustellen, ob es sich um einen zufälligen Fehler handelt (kosmische Strahlung ...) oder ob ein systematischer Fehler mit dem Medium vorliegt
  • Wenn das Laufwerk feststellt, dass ein Fehler mit dem Medium vorliegt, wird der Sektor neu zugeordnet
  • Wenn ein Sektor nach einigen Leseversuchen auf einem Laufwerk, das als RAID-Laufwerk gekennzeichnet ist , weder gelesen noch korrigiert werden kann , gibt das Laufwerk auf, weist den Sektor neu zu und teilt dem Controller mit, dass ein Problem aufgetreten ist. Der RAID-Controller rekonstruiert den Sektor von den anderen RAID-Mitgliedern und schreibt ihn zurück auf das ausgefallene Laufwerk, das ihn dann in dem neu zugewiesenen Sektor speichert, der hoffentlich das Problem nicht hat.
  • Wenn ein Sektor auf einem Desktop-Laufwerk nicht gelesen oder korrigiert werden kann , führt das Laufwerk wesentlich mehr Leseversuche durch. Abhängig von der Qualität des Laufwerks müssen Sie möglicherweise den Kopf neu positionieren, prüfen, ob beim wiederholten Lesen umgedrehte Bits vorhanden sind, welche Bits die schwächsten sind und ein paar andere Dinge. Wenn einer dieser Versuche erfolgreich ist, ordnet das Laufwerk den Sektor neu zu und schreibt die reparierten Daten zurück.

(Dies ist einer der Hauptunterschiede zwischen Laufwerken, die als "Desktop" -, "NAS / RAID" - oder "Videoüberwachungs" -Laufwerke verkauft werden. Ein RAID-Laufwerk kann einfach schnell aufgeben und den Controller veranlassen, den Sektor zu reparieren, um Latenzen auf dem Laufwerk zu vermeiden Ein Desktop-Laufwerk wird es immer wieder versuchen, da es wahrscheinlich besser ist, den Benutzer einige Sekunden warten zu lassen, als ihnen mitzuteilen, dass die Daten verloren gegangen sind nicht mal bemerkt werden.)

Wie auch immer, das Laufwerk wird wissen, ob etwas verrottet ist, wird sich normalerweise davon erholen, und wenn dies nicht möglich ist, wird es dem Controller mitteilen, welcher wiederum dem Treiber mitteilt, welcher das Betriebssystem mitteilt. Dann ist es Sache des Betriebssystems, dem Benutzer diesen Fehler zu präsentieren und darauf zu reagieren. Deshalb sagt Cybernard

Ich habe selbst noch nie einen Bitfehler gesehen, aber ich habe viele Festplatten gesehen, bei denen ganze Sektoren ausgefallen sind.

Das Laufwerk weiß, dass mit dem Sektor etwas nicht in Ordnung ist, weiß jedoch nicht, welche Bits ausgefallen sind. (Ein einzelnes fehlgeschlagenes Bit wird immer vom ECC abgefangen).

Bitte beachten Sie, dass chkdsk und das automatische Reparieren von Dateisystemen das Reparieren von Daten in Dateien nicht behandeln . Diese zielen auf Korruption in der Struktur des Dateisystems ab. wie eine Dateigröße, die zwischen dem Verzeichniseintrag und der Anzahl der zugewiesenen Blöcke unterschiedlich ist. Die Selbstheilungsfunktion von NTFS erkennt strukturelle Schäden und verhindert, dass diese Ihre Daten weiter beeinträchtigen. Sie repariert keine Daten, die bereits beschädigt sind.

Es gibt natürlich noch andere Gründe, warum Daten beschädigt werden können. Beispielsweise. Ein fehlerhafter RAM auf einem Controller kann Daten ändern, bevor sie überhaupt an das Laufwerk gesendet werden. In diesem Fall erkennt oder repariert kein Mechanismus auf dem Laufwerk die Daten. Dies kann einer der Gründe sein, warum die Struktur eines Dateisystems beschädigt ist. Andere Gründe sind einfache Softwarefehler, ein Blackout während des Schreibens der Festplatte (obwohl dies durch das Journaling des Dateisystems behoben wird) oder fehlerhafte Dateisystemtreiber (der NTFS-Treiber unter Linux war lange Zeit standardmäßig schreibgeschützt, da NTFS rückentwickelt und nicht dokumentiert wurde) und die Entwickler trauten ihrem eigenen Code nicht.

Ich hatte dieses Szenario einmal, in dem eine Anwendung alle ihre Dateien auf zwei verschiedenen Servern in verschiedenen Rechenzentren speichern würde, um unter allen Umständen eine Arbeitskopie der Daten zu behalten. Nach einigen Monaten stellten wir fest, dass auf einer der Kopien ungefähr 0,1% aller Dateien nicht mit der MD5-Summe übereinstimmten, die die Anwendung in ihrer Datenbank gespeichert hatte. Es stellte sich heraus, dass das Glasfaserkabel zwischen dem Server und dem SAN fehlerhaft ist.

Diese anderen Gründe führen dazu, dass einige Dateisysteme wie ZFS zusätzliche Prüfsummeninformationen speichern, um Fehler zu erkennen. Sie wurden entwickelt, um Sie vor viel mehr Dingen zu schützen, die schief gehen können, als nur Fäulnis.

Guntram Blohm unterstützt Monica
quelle
2
+1 für den Hinweis, dass andere Hardwareprobleme als die Beeinträchtigung des Laufwerksmediums dazu führen können, dass beschädigte Daten gelesen und geschrieben werden . Ich persönlich habe das Problem mit schlechten Kabeln in einem Fall gehabt. Zusätzlich zu ZFS prüft das Windows ReFS-Dateisystem (für Server 2012+), wenn es ordnungsgemäß konfiguriert ist und auf Storage Spaces ausgeführt wird, die Dateidaten sowie die Metadaten des Dateisystems und stellt sie wieder her Integritätsprüfungen zur Erkennung und Behebung vieler solcher Fehler.
Davidbak
17

Ja, Festplatten können und werden ohne Warnung des Betriebssystems beschädigt. Es heißt Bit Rot . Ich habe selbst noch nie einen Bitfehler gesehen, aber ich habe viele Festplatten gesehen, bei denen ganze Sektoren ausgefallen sind.

Über die Struktur des NTFS-Dateisystems hinaus bietet Windows keinen integrierten Schutz für den Dateiinhalt. Stellen Sie sich NTFS als ein Buch vor: Nun, es schützt nur das Inhaltsverzeichnis und überprüft, ob die Dinge zusammenpassen. Befindet sich der Schaden jedoch in der Mitte einer Seite, bietet er keinen Schutz. FAT hat nichts. Festplatten verwenden die ECC-Fehlerkorrektur auf Sektorbasis, aber das Laufwerk teilt Windows nichts mit. Einige Dateitypen verfügen über CRC-, MD5- oder SHA-Hashes, um Beschädigungen zu erkennen, beheben jedoch nichts.

Selbst dann sagt der Hash nur, dass es ein Problem gibt, aber er weiß nicht, wo sich der Fehler befindet.

Die Festplatte verfügt über SMART, das den Zustand der Festplatte überwacht. Das BIOS warnt Sie jedoch nur, wenn sich die Festplatte vor dem Tod befindet. Schlimmstenfalls ist SMART in Ihrem BIOS häufig standardmäßig deaktiviert. Sie können die Zahlen über Software überwachen, aber verschiedene Laufwerke haben unterschiedliche Probleme. Wenn Sie eine Reihe von verlagerten Sektoren haben oder Ihre ECC-Fehler ständig steigen. Wenn Sie täglich 100.000 neue ECCs haben, ist dies ein schlechtes Zeichen.

Viele Dateitypen haben keinen Schutz gegen Bit-Rot . Wie TXT und BMP, die überhaupt keinen Schutz haben. Winrar bietet eine optionale Option zum Hinzufügen von Paritätsdaten zum Archiv, wodurch die Datei größer wird. Winrar kann diese Art von Fehler jedoch erkennen (proportional zur Menge der hinzugefügten Paritätsdaten) und beheben.

Alle anderen mir bekannten Komprimierungsprogramme erkennen Fehler, können aber nichts dagegen tun.

Schließlich sind die Fehler in einem Sektor so schlimm, dass ECC sie nicht beheben kann, und das Laufwerk gibt Ihnen das, was es liest, auch wenn es falsch ist.

Sie können QuickPar oder ähnliches verwenden, um Paritätsdatendateien zu erstellen, aber meines Wissens gibt es keine Möglichkeit, diese zu automatisieren. Beispielsweise ändern Sie die Datei tatsächlich selbst, wenn Sie die Parität manuell aktualisieren müssen. Sie können auch Paritätsdaten für eine Gruppe von Dateien haben, aber Sie ändern 1 Datei und der gesamte Paritätssatz muss neu erstellt werden. Das bereitet allen Kopfzerbrechen, aber nur wenigen Dateien.

Cybernard
quelle
Windows, chdsk und NTFS erkennen Bit Rot, das von RAID verwaltet wird, oder ein Dateisystem mit Parität. Eine fehlerhafte Partition ist nicht noch wird sie von Bit Rot verursacht. Ich bin mit dieser Antwort
einverstanden
1
@Ramhound Leider ist die Anzahl der Benutzer, die dort Daten mit RAID-Spiegelung, Stufe 5 oder Stufe 6 schützen, wahrscheinlich geringer als 0,01%
Cybernard
Ich weiß, dass ich allgemein gesprochen habe. Bit rot! = Schlechte Partitionen
Ramhound
1
NOR = NICHT ODER; In einem Satz bedeutet, dass es sich um eine exklusive Liste handelt.
Ramhound
1
Ich hatte diese 750 GB Festplatte, die solche Dinge tat. Erstens war der Computer langsam und friert die ganze Zeit ein. Wenn ich einige Textdateien teilweise auf Null stelle oder verstümmelt wurde. Der Computer wurde später nicht mehr gestartet. Habe eine neue Festplatte (ich habe HDD nicht SSD. Ich denke, ich hätte eine SSD haben sollen) und das Problem ging und der PC ist schnell
Suici Doga
2

Ja, es ist möglich. Windows ist nur Software. Software ist eine Reihe von Anweisungen, denen ein Computer folgen muss.

Denken Sie an eine andere Art von Anweisungen: ein Buch. Was können diese Anweisungen bewirken, wenn sie in einem Buch geschrieben sind, das in einem Regal steht, und niemand die Mühe macht, das Buch zu öffnen und diese Anweisungen zu lesen?

Genau wie diese schriftlichen Anweisungen erfordern, dass eine Person die Anweisungen liest und sie befolgt, erfordert die Computersoftware Hardware, um nützliche Dinge zu tun. Selbst wenn ein Buch Anweisungen enthält, die mit fabelhafter Genauigkeit geschrieben wurden, verhindert dies keine Probleme, wenn sich eine Person entscheidet, die Anweisungen zu lesen, sie dann aber falsch umzusetzen. Ebenso kann Software nicht verhindern, dass Hardware schlechte Dinge tut. Defekte Hardware kann also physisch über das triumphieren, was jede Software leisten kann, einschließlich Microsoft Windows.

Jetzt kann ReFS mit der Absicht entworfen werden, dass Software Details zu den Daten speichert und die Software diese Details später vergleichen lässt. Ein einfaches Konzept ist "Prüfsumme", bei der Software bestimmte Werte hinzufügt und sicherstellt, dass diese Werte mit einem erwarteten Ergebnis übereinstimmen. Wenn Hardware diese Software implementiert, können möglicherweise bestimmte schlechte Ergebnisse erkannt werden. Dies kann sogar höchstwahrscheinlich funktionieren. Da die Anzahl der potenziellen Probleme, die theoretisch existieren könnten, im Grunde genommen unendlich ist, gibt es keine Garantie dafür, dass Software notwendigerweise jedes einzelne Problem erkennt. (Beachten Sie, dass es sich bei Software um eine Reihe von Anweisungen handelt, die im Voraus erstellt wurden.)

FAT ist besonders sparsam in der Ausstattung. FAT12 wurde für Disketten und FAT16 für Systeme mit bis zu 4 GB entwickelt (obwohl die meisten Microsoft-Implementierungen von FAT16 in der Regel nicht über 2 GB funktionieren). Ohne die VFAT-Erweiterung unterstützte keiner von ihnen Dateinamen mit mehr als 11 Zeichen (von denen sich einige in einem Abschnitt befinden würden, der als "Erweiterung" bezeichnet wird). FAT wurde einfach entwickelt, um Daten in einer Zeit zu speichern, in der die Fähigkeit zum Speichern von Daten ein neuartiges Konzept war, über das Erwachsene unterrichtet werden mussten. Als FAT als "Spitzentechnologie" galt, war die Computertechnologie noch nicht weit genug verbreitet und ausgefeilt, so dass sich die Menschen über erweiterte Funktionen Gedanken machen konnten.

NTFS fügte Unterstützung für einige weitere Funktionen hinzu, insbesondere für das Betriebssystem, das in der Lage ist, die Benutzerberechtigungen auf einfache Weise zu verfolgen. Es gibt verschiedene Versionen von NTFS. Zum Beispiel weist Moab darauf hin, dass Windows Server 2008 die Unterstützung für selbstheilendes NTFS hinzugefügt hat, die einige Dinge erkennen können. Diese Funktion war jedoch neu in Windows Server 2008, sodass sie von Windows XP (oder Windows Server 2003 oder früher) überhaupt nicht unterstützt wird. Wenn man sich die Liste der Funktionen ansieht, sieht es dennoch so aus, als handele es sich um einige Metadaten, mit denen das Betriebssystem Probleme feststellen kann, die so schwerwiegend sind, dass die Festplatte nicht bereitgestellt werden kann, oder andere wichtige Bereiche der Festplatte, die sich auf den Kernel des Betriebssystems auswirken. Es sah nicht so aus, als ob jedes einzelne Datenelement in jeder einzelnen Datei von dieser bestimmten Funktion betroffen wäre.

Es ist äußerst unwahrscheinlich, dass die Software für solche Betriebssysteme solche Dinge bemerkt, es sei denn, sie verursachen dem Betriebssystem erhebliche Probleme bei der Ausführung von Aufgaben. Es kann einige Ausnahmen geben, wie z. B. die Teile des Betriebssystems, die Festplatten prüfen (CheckDsk / ChkDsk / ScanDisk / ScanDskW, abhängig vom Betriebssystem), aber selbst sie sind eher begrenzt auf das, was sie erkennen können, vor allem, weil die Dateisysteme nicht funktionieren Speichern Sie keine sehr große Datenmenge, die für die Festplattenüberprüfung nützlich sein sollte.

(RAID5 ist möglicherweise anfälliger, solche Dinge zu erkennen, wobei jedes Bit ein Paritätsbit aufweist, das dazu beiträgt, ungewöhnliche Ereignisse zu erkennen. Selbst dann wäre es an der RAID-Implementierung, eine Überprüfung durchzuführen, um das Problem zu erkennen. Wenn das Problem am aufgetreten ist Bei einem Teil der Festplatte, mit dem nicht aktiv gearbeitet wird, bleibt das Problem möglicherweise unbemerkt, bis jemand versucht, diese Daten zu verwenden.)

In jüngerer Zeit bedeutete eine größere Anzahl von Bits, dass kleine Wahrscheinlichkeiten, wie die Wahrscheinlichkeit von "1 in 10 Millionen", eher Auswirkungen auf die Dinge hatten. Die breite Öffentlichkeit hat auch etwas über "kosmische Strahlung" gelernt, die sich möglicherweise nur geringfügig auf die Dinge auswirkt. Da die Bits in neueren Geräten so eng zusammengedrängt werden, sind die physischen Anforderungen an die Darstellung eines Bits geringer, sodass selbst kleine Auswirkungen eher die Erkennung eines Bits beeinträchtigen. ReFS verfügt über einige Funktionen, die bei der Erkennung helfen sollen. Im Wikipedia-Artikel zu ReFS wird dies als "automatische Integritätsprüfung" bezeichnet. Da dies als ein bemerkenswertes Merkmal dieses Dateisystems beschrieben wird, sind solche Merkmale wahrscheinlich weiter entwickelt als bei NTFS (und mit Sicherheit mehr als bei FAT, das vergleichsweise einfach war).

TOOGAM
quelle