ext4 (Fourth Extended Filesystem) ist ein journalingfähiges Dateisystem, das als Nachfolger von ext3 entwickelt wurde. Es ist das Standard-Dateisystem vieler Linux-Distributionen, darunter Ubuntu, Debian, Arch Linux und Fedora.
ext4 wurde entworfen, um die Leistung, Skalierbarkeit und Zuverlässigkeit des ext3-Dateisystems zu verbessern, während es gleichzeitig abwärtskompatibel bleibt.
Geschichte und Entwicklung #
Das ext4-Dateisystem wurde 2006 von Theodore Ts’o als Verbesserung von ext3 eingeführt. Während ext3 als Übergangslösung für das damalige ext2 galt, sollte ext4 langfristige Verbesserungen bringen, um größere Speichergeräte und moderne Anforderungen zu unterstützen.
ext4 wurde mit dem Linux-Kernel 2.6.28 (2008) offiziell eingeführt und hat sich seitdem als stabiles und schnelles Standard-Dateisystem für Linux etabliert.
Hauptmerkmale von ext4 #
1. Verbesserte maximale Dateigrößen und Partitionsgrößen #
- Maximale Dateigröße: 16 TiB
- Maximale Partitionsgröße: 1 EiB (Exbibyte, 1.152.921.504 GB)
- Maximale Anzahl an Dateien: 4 Milliarden
2. Journaling für Datensicherheit #
- Das Journal speichert vor Änderungen eine Kopie der Metadaten, um Datenverluste bei Abstürzen zu verhindern.
- Unterstützt drei Journal-Modi:
- Writeback (schneller, aber weniger sicher)
- Ordered (Standardmodus, gute Balance zwischen Geschwindigkeit und Sicherheit)
- Journal (höchste Sicherheit, aber langsamste Methode)
3. Extents statt indirekte Blöcke #
- Extents gruppieren zusammenhängende Datenblöcke, was die Fragmentierung reduziert und die Lese-/Schreibgeschwindigkeit verbessert.
4. Verzögerte Allokation (Delayed Allocation) #
- Schreiboperationen werden erst bei Bedarf ausgeführt, was die Fragmentierung reduziert und die Speichernutzung optimiert.
5. Multiblock-Allokation (Mballoc) #
- Weist mehrere Blöcke auf einmal zu, was die Schreibleistung verbessert.
6. Schnellere Dateisystemprüfung (fsck) #
- Paralleles Scannen von Metadaten ermöglicht schnellere Dateisystemprüfungen.
7. Abwärtskompatibilität zu ext2 und ext3 #
- ext4 kann ext3 und ext2-Dateisysteme mounten, wodurch eine einfache Migration möglich ist.
Vergleich: ext4 vs. Andere Dateisysteme #
Merkmal | ext4 | XFS | Btrfs | ZFS |
---|---|---|---|---|
Journaling | ✅ Ja | ✅ Ja | ✅ Ja | ❌ Nein (Copy-on-Write) |
Snapshots | ❌ Nein | ❌ Nein | ✅ Ja | ✅ Ja |
Max. Dateigröße | 16 TiB | 8 EiB | 16 EiB | 16 EiB |
Max. Partitionsgröße | 1 EiB | 8 EiB | 16 EiB | 16 EiB |
Copy-on-Write | ❌ Nein | ❌ Nein | ✅ Ja | ✅ Ja |
RAID-Funktion | ❌ Nein | ❌ Nein | ✅ Ja | ✅ Ja |
Einsatzgebiete von ext4 #
✅ Linux-Desktops und Laptops (Ubuntu, Debian, Fedora, Arch Linux, etc.)
✅ Server mit hoher Leistung und Stabilität
✅ SD-Karten, USB-Sticks und externe Festplatten
✅ Virtuelle Maschinen und Container-Host-Systeme
Vor- und Nachteile von ext4 #
✅ Vorteile: #
✔ Stabil, zuverlässig und gut getestet
✔ Schnelle Dateisystemprüfung (fsck)
✔ Geringe Fragmentierung durch Extents und Multiblock-Allokation
✔ Abwärtskompatibel zu ext3 und ext2
✔ Geringer CPU-Overhead (ideal für schwache Hardware)
❌ Nachteile: #
❌ Kein nativer RAID-Support (benötigt mdadm oder LVM)
❌ Kein Copy-on-Write (CoW) wie Btrfs oder ZFS
❌ Kein Snapshot-Support
❌ Begrenzte Skalierbarkeit im Vergleich zu ZFS/Btrfs
#
ext4 bleibt das beliebteste und am weitesten verbreitete Linux-Dateisystem, vor allem wegen seiner Zuverlässigkeit, Leistung und Kompatibilität. Es eignet sich hervorragend für Desktops, Server und eingebettete Systeme, während fortgeschrittene Funktionen wie Snapshots und RAID-Unterstützung in Btrfs oder ZFS besser umgesetzt sind.
Für die meisten Anwender bleibt ext4 eine sichere Wahl, insbesondere wenn keine komplexen Storage-Funktionen benötigt werden.