Journaling Filesysteme unter Linux

Was ist Journaling?


[ Seminar Linux und Apache ] ... [ Inhaltsübersicht ] ... [ Aufbau Standard-DS ]

Wie vielleicht bekannt ist, resultieren die meisten der diesbezüglichen Probleme mit dem ext2 daher, dass Daten aus geöffneten Dateien nicht sofort auf die Platte geschrieben, sondern aus Effizienzgründen in einem Zwischenspeicher gehalten werden. Die Daten werden dann erst später, zeitversetzt geschrieben (die Platte wird Synchronisiert).
Wenn nun gerade vor dieser Synchronisation das System abstürzt ist es einleuchtend, dass diese geöffneten und noch nicht wieder geschriebenen Dateien in einem zweifelhaften, inkonsistenten Zustand sind. Aus diesem Grund wird dann beim nächsten Bootvorgang ein FS-Check durchgeführt, bei der alle Dateien auf Inkonsistenz überprüft werden.

Genau hier setzt nun ein Journaling Filesystem ein. Schreibende Zugriffe auf die Festplatte werden in Transaktionen verpackt. In einem sogenannten Journal oder Log wird jederzeit festgehalten, welche Dateien gerade bearbeitet und dann auf die Platte geschrieben werden sollen. Im Falle eines Crash kann dann anhand dieses Journals bestimmt werden, welche Dateien inkonsistent sein könnten. Es müssen also nur diese Dateien geprüft und unter Umständen korrigiert werden. Dass damit der FS-Check und eventuelle Recovery-Maßnahmen deutlich schneller vonstatten gehen, dürfte auf der Hand liegen. Dieses Verfahren wird schon seit langem in der Datenbankwelt bei z.B. Oracle oder Sybase eingesetzt.

Als Folge dieser Journalisierung ist die Dauer der Überprüfung eines Dateisystems nicht mehr abhängig von seiner Größe, sondern davon, wie groß die Aktivität zum Zeitpunkt des Absturzes war.

Nach oben

[ Seminar Linux und Apache ] ... [ Inhaltsübersicht ] ... [ Aufbau Standard-DS ]