Ext3

Der korrekte Titel dieses Artikels lautet „ext3“. Leider ist dieser Titel in der Wikipedia aufgrund technischer Einschränkungen nicht möglich. Ext3


Das ext3 (third extended filesystem) ist ein Journalingdateisystem, entwickelt für das Linux-Betriebssystem. Bei vielen Linux-Distributionen ist es das Standard-Dateisystem.

Die von Stephen Tweedie entwickelte Journalingerweiterung für ext2 sorgt dafür, dass Metadaten nicht mehr korrumpiert werden können, und somit auf einen kompletten Durchlauf von e2fsck nach einem Rechnerabsturz verzichtet werden kann. Ein solches Dateisystem wird meist als ext3-Dateisystem bezeichnet. Das Datenformat des Datenträgers ändert sich bei Verwendung eines Journals nicht. Das Journal ist eine reguläre Datei, in die die Metadaten (optional auch die Nutzdaten) geschrieben werden, bevor sie auf das tatsächliche Dateisystem geschrieben werden. Aus einem ext2- kann man daher ein ext3-Dateisystem machen, ohne irgendwelche Daten konvertieren zu müssen.

ext3 fügt dem ext2-System folgende Eigenschaften hinzu:

Wenn eine Änderung am Dateisystem (z. B. die Umbenennung einer Datei) durchgeführt wird, wird sie als Transaktion im Journal vermerkt und kann dann im Fall eines Absturzes entweder abgeschlossen oder noch nicht abgeschlossen sein. Wenn eine Transaktion zum Absturzzeitpunkt (oder im Normalfall, wenn das System nicht abstürzt) abgeschlossen war, ist garantiert, dass alle an dieser Transaktion beteiligten Blöcke einen gültigen Dateisystemstatus repräsentieren. Diese Blöcke werden dann ins Dateisystem kopiert. Wenn eine Transaktion zum Absturzzeitpunkt nicht abgeschlossen war, kann nicht garantiert werden, dass die beteiligten Blöcke konsistent sind, daher wird eine solche Transaktion verworfen (das bedeutet, dass die Dateisystemänderung, die diese Transaktion repräsentierte, verloren geht).

Bei abgebrochenen Schreiboperationen kann es passieren, dass ein Teil einer Datei bereits aus den neuen Daten besteht und ein Teil noch aus den alten, was manchmal noch schlimmer sein kann als ein inkonsistentes Dateisystem. ext3 bietet daher einen besonderen Modus, in dem auch Daten zunächst im Journal abgelegt werden. ext3 schützt nicht davor, dass Daten verloren gehen, die zum Absturzzeitpunkt zwar eigentlich bereits auf die Platte geschrieben sein sollten, vom Kernel jedoch noch in so genannten schmutzigen Puffern gehalten wurden, um sie später zurückzuschreiben. Nach dem Abspielen des Journals ist nur garantiert, dass man mit einem konsistenten Datenbestand zu einem gegebenen Zeitpunkt weiterarbeiten kann.

Die Linux-Implementation von ext3 bietet drei Journaling-Stufen:

Anders als ext2 schreibt ext3 Nullen in die Block-Pointer der Inodes gelöschter Dateien. Dadurch wird es sehr schwer gelöschte Dateien wiederherzustellen.

See also: Ext3, Inode, Journaling, Journaling-Dateisystem, Linux, Linux-Distribution, Transaktion (Informatik)