Kann das NTFS-Dateisystem bei einem Stromausfall beschädigt werden? ZB kaputt sein oder Dateibeschädigung verursachen? Und ist die in NTFS integrierte Spiegelung auf dynamischen Datenträgern gewährleistet, dass die Dateien im Falle eines Stromausfalls in einem konsistenten Zustand bleiben?
Meiner Ansicht nach sind Journaldateisysteme speziell dafür ausgelegt, solche Probleme zu tolerieren. Die Benutzerdaten werden vom NTFS-Dateisystem nicht garantiert, aber Anwendungen wie das Datenbankverwaltungssystem verfügen über Transaktionsmanager, die die Daten schützen.
Ein paar Zitate aus dem großartigen Buch Microsoft Windows Internals :
NTFS
NTFS enthält eine Reihe erweiterter Funktionen. Eines der wichtigsten Merkmale ist die Wiederherstellbarkeit. Wenn ein System unerwartet angehalten wird, können die Metadaten eines FAT-Volumes in einem inkonsistenten Zustand belassen werden, was zur Beschädigung großer Mengen von Datei- und Verzeichnisdaten führt. NTFS protokolliert Änderungen an Metadaten auf transaktionale Weise, sodass Dateisystemstrukturen in einem konsistenten Zustand repariert werden können, ohne dass Datei- oder Verzeichnisstrukturinformationen verloren gehen. (Dateidaten können jedoch verloren gehen.)
NTFS-Entwurfsziele und -Funktionen
High-End-Dateisystemanforderungen
Von Anfang an war NTFS so konzipiert, dass es Funktionen enthält, die für ein Dateisystem der Enterprise-Klasse erforderlich sind. Um den Datenverlust bei einem unerwarteten Systemausfall oder Absturz zu minimieren, muss ein Dateisystem sicherstellen, dass die Integrität seiner Metadaten jederzeit gewährleistet ist. Schließlich muss ein Dateisystem softwarebasierte Datenredundanz als kostengünstige Alternative zu hardwareredundanten Lösungen zum Schutz von Benutzerdaten ermöglichen.
Wiederherstellbarkeit
NTFS verwendet atomare Transaktionen, um die Funktionen zur Wiederherstellung des Dateisystems zu implementieren. Wenn ein Programm eine E / A-Operation initiiert, die die Struktur eines NTFS-Volumes ändert, dh die Verzeichnisstruktur ändert, eine Datei erweitert, Speicherplatz für eine neue Datei zuweist usw., wird diese Operation von NTFS als atomare Transaktion behandelt. Es garantiert, dass die Transaktion entweder abgeschlossen ist oder dass ein Rollback durchgeführt wird, wenn das System während der Ausführung der Transaktion ausfällt.
Darüber hinaus verwendet NTFS redundanten Speicher für wichtige Dateisysteminformationen, sodass NTFS auch dann auf die wichtigen Dateisystemdaten des Volumes zugreifen kann, wenn ein Sektor auf der Festplatte beschädigt wird.
Datenredundanz und Fehlertoleranz
Zusätzlich zur Wiederherstellbarkeit von Dateisystemdaten fordern einige Kunden, dass ihre eigenen Daten nicht durch einen Stromausfall oder einen katastrophalen Festplattenausfall gefährdet werden. Die NTFS-Wiederherstellungsfunktionen stellen sicher, dass auf das Dateisystem auf einem Volume weiterhin zugegriffen werden kann, bieten jedoch keine Garantie für die vollständige Wiederherstellung von Benutzerdateien. Der Schutz für Anwendungen, die keinen Datenverlust riskieren können, erfolgt durch Datenredundanz.
Die Datenredundanz für Benutzerdateien wird über das Windows-Treibermodell implementiert, das fehlertolerante Datenträgerunterstützung bietet. Ein Volume Manager kann Daten von einer Festplatte auf eine andere spiegeln oder duplizieren, sodass immer eine redundante Kopie abgerufen werden kann.
NTFS-Wiederherstellungsunterstützung
Die NTFS-Wiederherstellungsunterstützung stellt sicher, dass bei einem Stromausfall oder Systemausfall keine Dateisystemvorgänge (Transaktionen) unvollständig bleiben und die Struktur des Datenträgers intakt bleibt, ohne dass ein Festplattenreparaturdienstprogramm ausgeführt werden muss. Das NTFS-Dienstprogramm "Chkdsk" wird verwendet, um eine katastrophale Festplattenbeschädigung zu beheben, die durch E / A-Fehler (z. B. fehlerhafte Sektoren, elektrische Anomalien oder Festplattenfehler) oder Softwarefehler verursacht wird. Mit den vorhandenen NTFS-Wiederherstellungsfunktionen wird Chkdsk jedoch selten benötigt.
Wiederherstellbare Dateisysteme
Obwohl NTFS den Schutz der Benutzerdaten im Falle eines Systemabsturzes nicht garantiert - einige Änderungen können aus dem Cache verloren gehen -, können Anwendungen die NTFS-Durchschreib- und Cash-Flush-Funktionen nutzen, um sicherzustellen, dass Dateiänderungen aufgezeichnet werden Datenträger in geeigneten Abständen. Sowohl das Durchschreiben des Caches - das Erzwingen, dass die Schreibvorgänge sofort auf der Festplatte aufgezeichnet werden - als auch das Löschen des Geldes - das Erzwingen, dass Inhalte auf die Festplatte geschrieben werden - sind effiziente Vorgänge. Darüber hinaus garantiert NTFS im Gegensatz zum FAT-Dateisystem, dass Benutzerdaten nach einem Durchschreibevorgang oder einer Geldspülung konsistent und sofort verfügbar sind, auch wenn das System anschließend ausfällt.
Antworten:
Abgesehen von der Theorie gibt es auf dieser Site so viele Probleme, die durch einen Stromausfall auf NTFS verursacht wurden, dass die Antwort lautet: NEIN .
Ich habe auf dieser Seite persönlich Probleme behandelt, die von plötzlich auftauchenden fehlerhaften Sektoren bis hin zur Windows-Installation völlig abgespritzt gingen.
Ein Computer ist eine äußerst komplexe Hardware, und moderne Festplatten sind auch zu eigenen kleinen Computern geworden. Jeder hat seinen eigenen Prozessor und Speicher, sodass jeder für Stromausfälle anfällig ist, die im falschen Moment auftreten.
Auch wenn NTFS ausfallsicher ist (was ich nicht wirklich glaube), sind die Komponenten, die Änderungen an der Festplatte verarbeiten, mit Sicherheit nicht ausfallsicher. Die ganze Frage ist also ziemlich akademisch und bezieht sich nicht auf die reale Welt.
Die Antwort muss dann sein, dass NTFS sicherer , aber nicht ausfallsicher ist.
quelle
NTFS zeichnet nur Metadaten auf, wodurch eine Beschädigung des Dateisystems verhindert wird, aber Gott hilft Ihnen bei den Daten, die nicht aufgezeichnet werden. Wenn beim Schreiben ein Stromausfall auftritt, gehen Daten verloren.
quelle
Nachdem ich Code geschrieben hatte, der NTFS liest und schreibt, kam ich zu dem Schluss, dass die NTFS-Wiederherstellungsfunktion fehlerhaft entworfen / implementiert wurde.
Das NTFS-Journal enthält einen Protokolleintrag für den Vorgang, der den Schreibvorgang verursacht hat. Normalerweise enthält es nur genügend Informationen, um diesen Vorgang rückgängig zu machen bzw. zu wiederholen. Wenn jedoch der Sektor während des Schreibvorgangs beschädigt wird (aufgrund eines Stromausfalls), ist der Protokolleintrag nicht vorhanden notwendig genug, um alle Metadaten in diesem Sektor wiederherzustellen.
Die Windows NTFS-Treiberimplementierer gehen davon aus, dass ein Schreibvorgang entweder vollständig oder gar nicht erfolgreich ist (dies gilt nur für einige Unternehmensumgebungen).
quelle