ext4
Das Dateisystem ext4 Ist der Nachfolger des von 2001 - 2009 in den meisten Distributionen standardmäßig verwendeten Dateisystems ext3.
Ext4 ist ein Journaling-Dateisystem[1], welches für den Linux-Kernel[2] entwickelt wurde. Es wurde am 10. Oktober 2006 von Andrew Morton[3] vorgestellt. Seit der Kernel Version 2.6.19 war eine Test-Version offizieller Bestandteil des Kernels. Mit dem Erscheinen des Linux-Kernels 2.6.28 verließ ext4 das Hauptentwicklungsstadium.
Achtung: Dieser Artikel ist noch nicht fertig. Insbesondere der Abschnitt Möglichkeit 2 bedarf noch einer Überarbeitung
Technische Eigenschaften
In ext4 sind viele Verbesserungen gegenüber ext3 getroffen worden. So unterstützt ext4 beispielsweise bis zu einem Exabyte (= 10^18 Byte) an Daten.
Seit der Veröffentlichung im Kernel 2.6.19 sind schon folgende Verbesserungen vorgenommen worden:
- Kernel 2.6.23: mehr als 32.768 Unterverzeichnisse
- Kernel 2.6.25: Maximale Dateigröße so groß wie das gesamte Dateisystem
- Kernel 2.6.28: ext4 gilt nun als stabil
Bestehende ext3 Partitionen können ohne Verlust der Daten problemlos in ext4 Partitionen umgewandelt werden. Ebenfalls können ext2 und ext3 Partitionen in der fstab als ext4 eingehängt werden. Das bringt aufgrund der Optimierung des ext4 Treibers ohne jegliches Umwandeln der Partition einen Performancegewinn.
Ext3 zu Ext4 konvertieren
Es gibt zwei Möglichkeiten um eine ext3 Partition unter Arch als ext4 zu integrieren;
- Die ext3 Partition als ext4 mounten (Ohne sie zu konvertieren)
- Die ext3 Partition in ext4 konvertieren (Empfohlen)
ext3 als ext4 mounten
Dazu müssen in der Datei /etc/fstab lediglich folgende Änderungen vorgenommen werden;
Beispiel einer /etc/fstab'
#<Filesystem> <Mountpunkt> <Type> <Option> <dump> <pass> proc /proc proc defaults 0 0 none /dev/pts devpts defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hdd8 / ext3 defaults,errors=remount-ro 0 1 /dev/hdg1 /home ext3 defaults 0 2 /dev/hdd7 none swap sw 0 0 /dev/hdb /mnt/dvd-rom iso9660 ro,user,noauto 0 0
Um nun eine ext3 Partition ohne sie zu konvertieren als ext4 einzubinden, muss lediglich aus ext3 ein ext4 gemacht werden. Das sieht dann so aus;
#<Filesystem> <Mountpunkt> <Type> <Option> <dump> <pass> proc /proc proc defaults 0 0 none /dev/pts devpts defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hdd8 / ext4 defaults,errors=remount-ro 0 1 /dev/hdg1 /home ext4 defaults 0 2 /dev/hdd7 none swap sw 0 0 /dev/hdb /mnt/dvd-rom iso9660 ro,user,noauto 0 0
Diese Möglichkeit bietet jedoch aufgrund dessen, dass die Partition immernoch als ext3 eingehängt wird, jedoch der neue, verbesserte ext4 Treiber verwendet wird, nur einen geringen Performancegewinn.
Näheres hierzu in der fstab
ext3 nach ext4 konvertieren (empfohlen)
Um ein bestehendes ext3- in ein ext4-Dateisystem umzuwandeln, müssen die entsprechenden Dateisystemeigenschaften hinzugefügt werden. Nach dem Ändern der Optionen muss ein Dateisystemcheck durchgeführt werden.
Hinzufügen der Optionen mittels tune2fs:
tune2fs -O extents,uninit_bg,dir_index /dev/<Gerät>
Das Filesystem kann jetzt erst einmal nicht angemeldet werden und muss mit fsck repariert werden. Dies ist ganz normal.
fsck.ext4 -fCVD /dev/<Gerät>
Danach kann das Dateisystem ganz normal als ext4 eingehängt werden.
SSD Trim Support
Achtung: Stelle vorher fest ob du einen Kernel und SSD firmware hast die neu genug ist und von der sicher ist das sie TRIM unterstützt ! Sonst könnte es zu Datenverlust führen, also immer vorher Backups erstellen!!
In der neusten Version unterstützt jetzt auch der Kernel ( >=2.6.33) und ext4 live SSD TRIM. Um dies zu nutzen muss man nur eine mount Option zu seiner fstab hinzufügen:
discard
Beispiel:
/dev/sda1 / ext4 defaults,noatime,discard 0 1