Es gibt keine Garantien. Ein Journaling File System ist widerstandsfähiger und weniger korruptionsanfällig, aber nicht immun.
Alles, was ein Journal ist, ist eine Liste von Vorgängen, die kürzlich mit dem Dateisystem ausgeführt wurden. Der entscheidende Teil ist, dass die Journalbuchung erfolgt, bevor die Operationen stattfinden. Die meisten Operationen haben mehrere Schritte. Wenn Sie beispielsweise eine Datei löschen, müssen Sie möglicherweise den Eintrag der Datei im Inhaltsverzeichnis des Dateisystems löschen und anschließend die Sektoren auf dem Laufwerk als frei markieren. Wenn zwischen den beiden Schritten etwas passiert, kann ein Journaled File System dies sofort feststellen und die erforderliche Bereinigung durchführen, um die Konsistenz zu gewährleisten. Dies ist bei einem nicht journalisierten Dateisystem nicht der Fall, bei dem der gesamte Inhalt des Datenträgers überprüft werden muss, um Fehler zu finden.
Während dieses Journaling viel weniger anfällig für Korruption ist als das Nicht-Journaling, kann es dennoch zu Korruption kommen. Zum Beispiel, wenn die Festplatte mechanisch gestört ist oder das Schreiben in das Journal selbst fehlschlägt oder unterbrochen wird.
Die Grundvoraussetzung für das Journaling ist, dass das Schreiben eines Journaleintrags in der Regel viel schneller vonstatten geht als die tatsächlich beschriebene Transaktion. Die Zeitspanne zwischen der Bestellung eines (Journal-) Schreibvorgangs durch das Betriebssystem und der Ausführung durch die Festplatte ist also viel kürzer als bei einem normalen Schreibvorgang: Ein engeres Fenster, in dem Fehler auftreten können, aber es gibt immer noch ein Fenster.
Weitere Lektüre
Nein.
Die gebräuchlichste Art der Aufzeichnung, das so genannte Metadatenjournal, schützt nur die Integrität des Dateisystems, nicht die der Daten. Dies beinhaltet
xfs
undext3
/ext4
im Standardmodusdata=ordered
.Wenn ein Nicht-Journal-Dateisystem abstürzt, wird es
fsck
beim nächsten Start mit überprüft .fsck
Durchsucht jeden Inode im Dateisystem nach Blöcken, die als verwendet, aber nicht erreichbar markiert sind (dh keinen Dateinamen haben), und markiert diese Blöcke als nicht verwendet. Das dauert lange.Bei einem Metadaten-Journaling-Dateisystem
fsck
weiß es, welche Blöcke gerade geändert wurden, anstatt ein zu machen , sodass es sie als frei markieren kann, ohne die gesamte Partition nach ihnen zu durchsuchen.Es gibt eine seltenere Art der Aufzeichnung, die als Datenaufzeichnung bezeichnet wird. Dies ist der
ext3
Fall, wenn Sie sie mit derdata=journal
Option bereitstellen.Es wird versucht, alle Ihre Daten zu schützen, indem nicht nur eine Liste der logischen Operationen, sondern auch der gesamte Inhalt jedes Schreibvorgangs in das Journal geschrieben wird. Da Ihre Daten jedoch zweimal geschrieben werden, kann dies viel langsamer sein.
Wie andere darauf hingewiesen haben, ist auch dies keine Garantie, da die Festplatte möglicherweise dem Betriebssystem mitgeteilt hat, dass sie die Daten gespeichert hat, als sie sich noch im Cache der Festplatte befand.
Weitere Informationen finden Sie in der Wikipedia Journaling File System-Artikel und im Abschnitt Datenmodus in der ext4-Dokumentation .
quelle
data=journal
als Feature überhaupt keinen Sinn?Ein Dateisystem kann die Konsistenz seines Dateisystems bei einem Stromausfall nicht garantieren, da es nicht weiß, was die Hardware tun wird.
Wenn eine Festplatte Daten zum Schreiben puffert, dem Betriebssystem jedoch mitteilt, dass sie die Daten geschrieben hat und die entsprechenden Schreibbarrieren nicht unterstützt, kann es zu Schreibfehlern kommen, bei denen ein früherer Schreibvorgang den Plattenteller nicht getroffen hat, sondern einen späteren hat. Sehen Informationen finden dieser Serverfehlerantwort .
Auch die Position des Kopfes auf einer magnetischen Festplatte wird mit Elektromagneten gesteuert. Wenn die Stromversorgung während eines Schreibvorgangs ausfällt, können einige Daten weiterhin geschrieben werden, während sich die Köpfe bewegen, wodurch Daten auf Blöcken beschädigt werden, die vom Dateisystem niemals geschrieben werden sollten.
quelle
ZFS, ein naheliegendes, aber nicht unbedingt ein Journaling-Dateisystem, schützt nach einem Stromausfall durch sein Design vor Beschädigung.
Es spielt keine Rolle, ob ein laufender Schreibvorgang in der Mitte unterbrochen wird, da in diesem Fall die Prüfsumme mit Sicherheit falsch ist und der Block ignoriert wird. Da das Dateisystem beim Schreiben kopiert wird, befinden sich die vorherigen korrekten Daten (oder Metadaten) noch auf der Festplatte und werden stattdessen verwendet.
quelle
Die Antwort lautet in den meisten Fällen nein:
quelle