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.
[
Seminar Linux und Apache ] ... [
Inhaltsübersicht ] ... [
Aufbau Standard-DS ]