Linux: ext3 und reiserfs im Detail

ext3-Dateisystem

ext3 ist zurzeit das am weitesten verbreitete Linux-Dateisystem. Es ist weitest gehend kompatibel zum ext2-Dateisystem, bietet aber darüber hinaus Journaling-Funktionen. Vorhandene ext2-Dateisysteme können in ext3-Dateisysteme umgewandelt werden. Umgekehrt können ext3-Dateisysteme auch als ext2-Dateisysteme verwendet werden, sofern umount ordentlich ausgeführt wurde.

ext2-und ext3-Dateisysteme werden beide mit mke2fs formatiert. Dieses Kommando kann alternativ auch in der Form mkfs.ext2 oder mkfs.ext3 ausgeführt werden. Entscheidend ist allerdings die Option -j, die dafür verantwortlich ist, dass im Dateisystem die Journaling-Datei eingerichtet wird. Das ist der eigentliche Unterschied zwischen ext2 und ext3.

Optionen von mke2fs

-b n bestimmt die Blockgröße (Default: 1024 Bytes). n muss eine Zweier-Potenz größergleich 1024 sein (also 1024, 2048, 4096). Wenn Linux auf einer DEC-Alpha-CPU ausgeführt wird, ist auch 8192 erlaubt. Generell gilt: Je größer die Blockgröße ist, desto größer ist die maximale Dateigröße, desto größer ist aber auch der Overhead beim Speichern kleiner Dateien.

-c führt vor dem Einrichten des Datenträgers einen Test durch, ob defekte Blöcke existieren.

-i n gibt an, nach jeweils wie vielen Bytes ein I-Node eingerichtet wird. I-Nodes sind interne Verwaltungseinheiten eines Dateisystems. In einem I-Node werden alle Verwaltungsinformationen einer Datei mit Ausnahme des Namens gespeichert, also etwa Zugriffsbits, Besitzer und Datum des letzten Zugriffs. Die Anzahl der I-Nodes wird beim Formatieren unveränderlich festgelegt.

Beispielsweise gibt es bei n=4096 pro MByte 1.048.576/4096=256 I-Nodes. Damit können pro MByte maximal 256 Dateien oder Verzeichnisse gespeichert werden, egal wie klein die Dateien sind.

Wenn Sie sehr viele sehr kleine Dateien speichern möchten, sollten Sie n kleiner wählen. Der Minimalwert beträgt 1024 (das entspricht 2048 Dateien pro MByte). Allerdings ist es nicht sinnvoll, den Wert kleiner als die Blockgröße zu wählen, da pro Block ohnedies nur eine Datei gespeichert werden kann. Wenn Sie dagegen nur sehr wenige sehr große Dateien speichern wollen, können Sie n auch größer wählen. Sie verringern damit den Verwaltungs-Overhead.