Was ist das Tagebuch?

8

Ich habe meinen Computer auf die harte Tour heruntergefahren und beim nächsten Start wurde beim Booten einige Sekunden lang die Meldung angezeigt recovering journal. Vier Starts später und die Nachricht war nicht da - nur beim ersten Mal. Es sieht so aus, als gäbe es keine Konsequenzen oder Nebenwirkungen. Dank dieser Frage weiß ich, warum es passiert ist, aber nirgendwo im Internet steht, was das Tagebuch ist. Es gibt keine Probleme damit, ich bin nur daran interessiert, was es ist.

Jacob
quelle

Antworten:

5

Viele moderne Dateisysteme verwenden ein Journal, einschließlich NTFS, Ext3 / 4, XFS, HFS + und anderer. Das Journal hilft bei zwei Dingen: Vermeidung von Beschädigungen des Dateisystems und Beschleunigung der Wiederherstellung nach einem Fehler wie einem Stromausfall oder einem Systemabsturz. Ein Dateisystem besteht aus zwei Hauptkomponenten: den Daten und den Metadaten. Die Daten sind der Inhalt einer Datei, eines Bildes, eines Videos oder von Dokumenten, und letztendlich ist es das, was dem Dateisystem seinen Wert verleiht. Die Metadaten beschreiben die Struktur des Dateisystems, einschließlich der Benennung, Speicherung von Verzeichnissen, Zugriffsberechtigungen, Änderungszeiten von Dateien und Aufzeichnungsbereichen der Festplatte, die verwendet werden oder anderen Dateien zugewiesen werden können, wenn sie wachsen oder wachsen erstellt werden. Wenn die Metadaten aufgrund eines Systemabsturzes beschädigt werden, kann dies zu weiteren Datenverlusten / -beschädigungen führen. Zum Beispiel, Ein Teil der Festplatte kann für die Zuordnung zu einer Datei ausgewählt werden. Wenn er jedoch vor einem Absturz nicht korrekt aufgezeichnet wurde, wird er möglicherweise zur Liste der Datenblöcke der Datei hinzugefügt, jedoch weiterhin zur Liste der freien Datenblöcke und einer zweiten Datei zugewiesen später. Jetzt gibt es zwei Dateien, die dieselben Datenblöcke / Inhalte verwenden.

Das Journal ist ein Speicherort auf der Festplatte, der für die Aufzeichnung von Änderungen am Dateisystem reserviert ist. Die genauen Details der Änderungen werden zuerst in das Journal geschrieben, das sich an einem einzelnen Speicherort auf der Festplatte befindet. Nach der Aktualisierung des Journals werden die Änderungen auf die entsprechenden Speicherorte auf der Festplatte angewendet, für die möglicherweise mehrere Schreibvorgänge erforderlich sind. Sobald die Aktualisierungen abgeschlossen sind, wird der Journaleintrag als vollständig markiert. Nach einem Absturz muss das System das Journal nur auf unvollständige Einträge untersuchen und diese vervollständigen, um das Dateisystem zu reparieren. Dies beschleunigt die Wiederherstellung und stellt sicher, dass eine Änderung vollständig oder gar nicht vorgenommen wird. Wenn ein Block einer wachsenden Datei zugeordnet ist, wird er zur Blockliste der Datei hinzugefügt und auch als verwendet markiert.

Auf Dateisystemen, die Journalling unterstützen, ist es meistens nur Metadatenjournalling, um die Struktur zu erhalten, nicht jedoch die Daten selbst. Das vollständige Journaling von Daten ist normalerweise recht teuer und langsam, aber weniger wichtig als Metadaten. Bei Bedarf können auch Daten aktiviert werden.

Um dies zu vervollständigen, gibt es einige Dateisysteme, die derzeit kein Journaling anbieten, einschließlich FAT32, exFAT, Ext2 und UDF. Wenn während eines Updates ein Absturz auftritt, muss das Dateisystem vollständig gescannt werden, um Fehler oder Beschädigungen aufzuspüren.

Pinguin359
quelle
8

Weiß jemand, was Tagebuch ist?

Teil eines modernen Dateisystems ist eine Funktion namens "Journaling". Wir verwenden "ext4" als Dateisystem. (ext3, ext2 sind ältere Versionen. NTFS ist ein Microsoft-Äquivalent.)

Ein Journaling-Dateisystem ist ein Dateisystem, das Änderungen verfolgt, die noch nicht im Hauptteil des Dateisystems festgeschrieben wurden, indem die Absichten solcher Änderungen in einer Datenstruktur aufgezeichnet werden, die als "Journal" bezeichnet wird. Dies ist normalerweise ein kreisförmiges Protokoll. Im Falle eines Systemabsturzes oder eines Stromausfalls können solche Dateisysteme schneller wieder online geschaltet werden, wobei die Wahrscheinlichkeit einer Beschädigung geringer ist

Quelle: Wikipedia - Journaling-Dateisystem , zitiert: IBM - Anatomy of Linux Journaling-Dateisysteme

Grundsätzlich bedeutet die Meldung, dass das System eine Integritätsprüfung für diesen Teil Ihres Dateisystems durchgeführt hat. Es wird vom System erzwungen, sodass im Allgemeinen kein Grund zur Sorge besteht. Wenn Sie Stromausfälle haben, kann das Journal beschädigt werden und kann bei dieser Überprüfung repariert werden, es sei denn, Ihre Festplatte ist wirklich kaputt.

Rinzwind
quelle
1
Ist es richtig zu sagen, dass Journaling verwendet wird, um die Integrität des Dateisystems zu schützen, aber nicht unbedingt die Integrität der Dateien (deren Inhalt)?
Ralf
2
@Ralf: Das hängt nur davon ab, was aufgezeichnet wird. JFFS2 beispielsweise protokolliert jeden Schreibvorgang und schützt so die Integrität aller Daten. Apples HFS + protokolliert nur Dateisystem-Metadaten und schützt somit nur Dateisystem-Metadaten, nicht jedoch Dateidaten. Ext4 ist konfigurierbar: Sie können alles, nichts oder nur Dateisystem-Metadaten protokollieren. Die Standardeinstellung ist Journal, jedoch nur Dateisystem-Metadaten. In diesem Fall werden nur Metadaten des Dateisystems geschützt, nicht jedoch Dateidaten. Der Hauptgrund für diese Entscheidung ist, dass Journaling das zweimalige Schreiben bedeutet.
Jörg W Mittag
2
Das andere Extrem sind sogenannte logarithmisch strukturierte Dateisysteme , die nur ein Journal haben. Mit anderen Worten, sie hängen immer nur an ein Journal an, haben aber keinen regulären Datenbereich. Auf diese Weise vermeiden sie das "doppelte Schreiben" eines Journal-Dateisystems, haben aber jetzt das Problem, dass das Dateisystem niemals schrumpft, da selbst Löschungen nur an das Journal angehängt werden. Sie benötigen also eine Art "Garbage Collector", um redundante Journaleinträge zu bereinigen und das Journal erneut zu komprimieren. (Einige dieser FS nennen dies "Staubsaugen".)
Jörg W Mittag
1
@ JörgWMittag Danke. Ich denke, es ist wichtig zu verstehen, dass das Journaling von FS im Allgemeinen nicht bedeutet, dass Sie keine Daten verlieren können.
Ralf
1
@Ralf: Ja, Journaling schützt Sie nicht vor Datenverlust, sondern nur vor Datenkorruption. Es stellt nur sicher, dass eine Operation entweder vollständig erfolgreich ist oder überhaupt nicht ausgeführt wird. Es garantiert nicht , dass eine Operation immer erfolgreich ist. Und zweitens schützt das Journaling nur das, was aufgezeichnet wird, was für die meisten gängigen Implementierungen nur FS-Metadaten sind.
Jörg W Mittag