Linux Deutsch

Das Linux-Dateisystem ext3: Journal, Eigenschaften und Kompatibilität

Lerne ext3 kennen: Journal, Dateisystemkonsistenz, Größenlimits, ext2-Kompatibilität, Unterschiede zu ext4 und wichtige Linux-Befehle.

ext3 steht für Third Extended File System. Es ist ein Linux-Dateisystem, das im Linux-Kernel und in zahlreichen Linux-Distributionen verwendet wurde. ext3 entstand als Weiterentwicklung von ext2 und ergänzte dessen grundlegende Strukturen vor allem um Journaling.

Für das Verständnis sind Grundlagen zu Dateien, Verzeichnissen, Partitionen, Blockgeräten und Einhängepunkten hilfreich. Ein Mount-Vorgang hängt ein Dateisystem in den Linux-Verzeichnisbaum ein.

Was ist die Aufgabe eines Dateisystems?

Ein Dateisystem organisiert Daten auf einem Speichermedium. Es legt fest, wie Dateien und Verzeichnisse gespeichert, gefunden, verändert und gelöscht werden. Außerdem verwaltet es freien Speicherplatz und stellt dem Betriebssystem eine einheitliche Schnittstelle für Dateioperationen bereit.

Bei einer Datei lassen sich zwei Arten von Informationen unterscheiden:

  • Nutzdaten: der eigentliche Inhalt, etwa Text, Bilder oder Programmdateien.
  • Metadaten: Verwaltungsinformationen wie Dateiname, Eigentümer, Zugriffsrechte, Zeitstempel, Dateigröße und die Zuordnung zu einem Verzeichnis.

ext3 speichert diese Informationen mithilfe von Verwaltungsstrukturen wie Inodes und Verzeichnissen. Ein Inode beschreibt unter anderem die Metadaten einer Datei und verweist auf deren Datenblöcke.

Einordnung von ext3

ext3 gehört zur Extended-Family der Linux-Dateisysteme. Die Entwicklung verlief vereinfacht gesagt in drei Stufen: ext2 stellte ein leistungsfähiges Linux-Dateisystem ohne integriertes Journal bereit, ext3 ergänzte Journaling, und ext4 folgte später mit moderneren Strukturen und größeren Möglichkeiten.

ext3 war über lange Zeit ein verbreitetes und bewährtes Standarddateisystem vieler Linux-Distributionen. Für heutige Neuinstallationen wird meist ext4 bevorzugt. ext3 bleibt jedoch für ältere Systeme, bestehende Installationen und bestimmte Kompatibilitätsanforderungen relevant.

Journaling: Das zentrale Merkmal von ext3

Ein Journal ist ein zusätzlicher Protokollbereich innerhalb des Dateisystems. Dort werden bestimmte geplante Änderungen an Dateisystemstrukturen festgehalten. Dieses Verfahren heißt Journaling.

Bei einem Schreibvorgang können relevante Änderungen zunächst im Journal protokolliert werden. Anschließend übernimmt ext3 die Änderungen in die eigentlichen Dateisystemstrukturen, also beispielsweise in Verzeichnisinformationen, Inodes oder Blockzuordnungen. Das Journal ist dabei kein Ersatz für die Nutzdaten selbst, sondern dient hauptsächlich dazu, Änderungen an Verwaltungsinformationen nachvollziehbar zu machen.

Wird ein System durch Stromausfall, Kernel-Panic oder einen anderen abrupten Abbruch beendet, können einzelne Schreibvorgänge unvollständig sein. Beim nächsten Einbinden kann ext3 das Journal auswerten und ausstehende Änderungen abschließen oder verwerfen. Dadurch steigt die Wahrscheinlichkeit eines konsistenten Dateisystemzustands, und die notwendige Wiederherstellung kann deutlich schneller erfolgen als eine vollständige Prüfung aller Verwaltungsstrukturen.

Dateisystemkonsistenz

Ein Dateisystem ist konsistent, wenn seine internen Verwaltungsstrukturen logisch zusammenpassen. Beispielsweise müssen belegte Blöcke korrekt zu Dateien gehören und Verzeichnisse auf gültige Inodes verweisen. Das Journal reduziert nach einem ungeplanten Abbruch den Aufwand, diesen Zustand wiederherzustellen.

Vorteile und Eigenschaften von ext3

  • Robustheit: Das Journal unterstützt die Wiederherstellung nach ungeplanten Systemenden.
  • Bewährte Technik: ext3 wurde über viele Jahre in allgemeinen Linux-Einsatzszenarien eingesetzt.
  • Kompatibilität: Die Nähe zu ext2 erleichtert bestimmte historische Migrations- und Wartungsszenarien.
  • Vorhersehbares Verhalten: ext3 war für viele typische Server- und Desktop-Aufgaben ausreichend.

Leistung lässt sich nicht pauschal bewerten. ext3 war verbreitet und zuverlässig, aber das geeignete Dateisystem hängt von Arbeitslast, Kernel, Hardware, Dateigrößen, Zugriffsmustern und Anforderungen an Ausfallsicherheit ab. Ein Journal kann zusätzliche Schreibvorgänge verursachen, bietet dafür aber Vorteile bei der Wiederherstellung.

Wichtige ext3-Grenzwerte

EigenschaftGrenzwertHinweis
Maximale einzelne Dateigröße2 TBDer tatsächlich nutzbare Wert kann von Kernel- und Blockgrößen abhängen.
Maximale Dateisystemgröße16 TBAuch hier können Implementierung und verwendete Parameter eine Rolle spielen.
Maximale Dateinamenlänge255 BytesDie Grenze bezieht sich auf Bytes, nicht zwingend auf sichtbare Zeichen.

Bei UTF-8 können einzelne Zeichen mehr als ein Byte benötigen. Ein Dateiname mit 255 sichtbaren Unicode-Zeichen kann deshalb die Grenze überschreiten, wenn viele mehrbytekodierte Zeichen enthalten sind. In der Praxis sollte bei langen Namen ein ausreichender Sicherheitsabstand eingeplant werden.

Kompatibilität mit ext2

ext3 baut strukturell auf ext2 auf. Ein ext3-Dateisystem kann daher historisch in bestimmten Situationen ohne Nutzung seines Journals als ext2 eingebunden werden. Der ext2-Modus verwendet dann die gemeinsamen Dateisystemstrukturen, behandelt das Journal aber nicht als aktiven Bestandteil.

sudo mount -t ext2 /dev/sdXN /mnt/test

Beim Einbinden als ext2 stehen die Vorteile des Journalings nicht zur Verfügung. Nach einem abrupten Systemende kann deshalb eine umfangreichere Dateisystemprüfung erforderlich sein. Diese Eigenschaft war insbesondere für Migrationen, ältere Werkzeuge und spezielle Kompatibilitätsfälle nützlich; sie ist kein Grund, ein vorhandenes ext3-Dateisystem grundsätzlich ohne Journal zu betreiben.

Abgrenzung zu ext4

ext4 ist der spätere Nachfolger von ext3. Es wurde in vielen modernen Linux-Installationen zum Standard und wird für neue allgemeine Installationen meist gegenüber ext3 bevorzugt. ext4 bietet unter anderem modernere Speicherverwaltungsmechanismen und ist für größere und langfristig geplante Installationen besser geeignet.

Merkmalext2ext3ext4
Journal-UnterstützungNeinJaJa
Historische EinordnungVorgänger von ext3Weiterentwicklung von ext2Späterer Nachfolger von ext3
KompatibilitätsbezugGrundlage für ext3Kann historisch ohne Journal als ext2 eingebunden werdenModerne Weiterentwicklung mit eigener Kompatibilitätsstrategie
Typische heutige VerwendungVor allem ältere oder spezielle SystemeBestehende ältere Installationen und KompatibilitätsfälleNaheliegende Wahl für viele neue allgemeine Linux-Installationen

Dateisystemtyp und Mount-Optionen prüfen

Mit findmnt lässt sich feststellen, welches Dateisystem an einem bestimmten Pfad verwendet wird. Das folgende Beispiel prüft das Wurzelverzeichnis:

findmnt -T /

Die Ausgabe enthält typischerweise Quelle, Ziel, Dateisystemtyp und Mount-Optionen. Eine kompakte Ansicht der wichtigsten Spalten ist ebenfalls möglich:

findmnt -no TARGET,SOURCE,FSTYPE,OPTIONS -T /

Für einen Überblick über erkannte Blockgeräte, Dateisystemtypen, UUIDs und Einhängepunkte eignet sich:

lsblk -f

Prüfe vor Wartungsarbeiten immer, ob du das richtige Gerät ausgewählt hast. Ein Gerätename wie /dev/sdXN ist nur ein Platzhalter und muss durch die tatsächlich bestimmte Partition ersetzt werden.

Ein ext3-Testdateisystem erstellen und einbinden

Zum praktischen Testen kann eine ausdrücklich dafür vorgesehene, leere Partition mit ext3 formatiert werden. Das Formatieren erzeugt ein neues Dateisystem und löscht die vorhandenen Daten auf dem Zielgerät oder der Zielpartition.

sudo mkfs.ext3 /dev/sdXN

Nach dem Formatieren wird ein Einhängepunkt benötigt. Existiert das Verzeichnis bereits, kann das Dateisystem beispielsweise so eingebunden werden:

sudo mount -t ext3 /dev/sdXN /mnt/test
findmnt -T /mnt/test

Nach dem Test wird das Dateisystem aus dem Verzeichnisbaum entfernt, indem es ausgehängt wird:

sudo umount /mnt/test

Vor einer Prüfung oder dem sicheren Entfernen muss das Dateisystem ausgehängt sein. Die Prüfung erfolgt beispielsweise mit:

sudo fsck.ext3 -f /dev/sdXN

fsck ist eine Werkzeugfamilie zur Prüfung und gegebenenfalls Reparatur von Dateisystemen. Eine Prüfung sollte nicht auf einem aktiv eingehängten und beschreibbaren Dateisystem erfolgen, weil gleichzeitige Änderungen zusätzliche Schäden oder widersprüchliche Ergebnisse verursachen können.

Typische Situationen und Fehlerbehebung

Prüfung nach einem unerwarteten Neustart

Wenn Linux nach einem unerwarteten Neustart eine Dateisystemprüfung meldet, wurde möglicherweise ein Schreibvorgang nicht sauber abgeschlossen. ext3 kann zunächst sein Journal verwenden, während zusätzliche Prüfwerkzeuge verbliebene Inkonsistenzen untersuchen.

Beachte die Meldungen der Systemprüfung, sichere wichtige Daten und führe eine manuelle Prüfung nur im ausgehängten Zustand durch. Bei wiederholten Problemen sollten außerdem Hardware, Stromversorgung und Datensicherung überprüft werden.

Falsches Ziel beim Formatieren

Mehrere Datenträger können ähnliche Gerätenamen besitzen. Vor jedem Formatierungsbefehl müssen Ausgabe, Größe, Label, UUID und Mount-Zustand sorgfältig verglichen werden. Im Zweifel den Befehl nicht ausführen, bis das Ziel eindeutig identifiziert ist.

Dateiname wird zu früh abgelehnt

Wenn ein Dateiname weniger als 255 sichtbare Zeichen enthält und dennoch abgelehnt wird, können mehrbytekodierte UTF-8-Zeichen die Byte-Grenze überschreiten. Kürze den Namen oder verwende eine einfachere Benennung. Zusätzlich können auch andere Einschränkungen, etwa ein bereits vorhandener Name oder ein übergeordnetes Pfadlimit, eine Rolle spielen.

ext3 für eine neue große Installation?

Bei einer neuen langfristigen Installation müssen Größenbedarf, Kompatibilität, verwendete Werkzeuge und die Anforderungen der Arbeitslast berücksichtigt werden. ext3 ist bewährt, besitzt aber ältere Grenzen und wurde in aktuellen Standardinstallationen weitgehend durch ext4 ersetzt. Für viele neue allgemeine Linux-Systeme ist ext4 daher die naheliegende Alternative.

Prüfungsrelevante Zusammenfassung

  • ext3 bedeutet Third Extended File System und ist ein Linux-Dateisystem.
  • ext3 ist eine Weiterentwicklung von ext2 mit Journal-Unterstützung.
  • Das Journal protokolliert relevante Änderungen und hilft nach Stromausfall oder abruptem Systemende bei der Wiederherstellung eines konsistenten Zustands.
  • Journaling schützt nicht automatisch vor dem Verlust noch nicht dauerhaft geschriebener Nutzdaten.
  • Die wichtigen angegebenen Grenzwerte sind 2 TB pro Datei, 16 TB pro Dateisystem und 255 Bytes pro Dateiname.
  • 255 Bytes entsprechen bei UTF-8 nicht zwingend 255 sichtbaren Zeichen.
  • Ein ext3-Dateisystem kann historisch ohne Journal als ext2 eingebunden werden; dann fehlen die Vorteile des Journalings.
  • ext4 ist der spätere Nachfolger und wird für viele neue Linux-Installationen bevorzugt.
  • Vor mkfs.ext3 muss das Zielgerät unbedingt geprüft werden, da das Formatieren vorhandene Daten löscht.

Weiterführend sind Informationen zu Dateisystemchecks, zum Anpassen von Dateisystemen und zur Datei /etc/fstab nützlich.