Linux-Dateisystem ext4 im Kernel 2.6.19

Das erstmals diesen Sommer angekündigte ext4-Dateisystem wurde von Linus Torvalds im Schnellverfahren in die Entwicklerversion des Kernels 2.6.19 integriert. Das Dateisystem unterstützt Partitionen bis zu einer Größe von 1024 Petabyte (1  Exabyte).

In Pocket speichern vorlesen Druckansicht 333 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Thorsten Leemhuis

Nach der Aufnahme des Cluster-Dateisystems GFS2 für Linux 2.6.19 integrierte Linus Torvalds mit der ext3-Weiterentwicklung ext4 nun noch ein weiteres neues Dateisystem in den zu 2.6.19 führenden Entwicklerzweig – und das, obwohl er die ersten Vorabversion der nächsten größeren Kernel-Überarbeitung bereits letzte Woche veröffentlichte und das normalerweise den Abschluss der Phase für die Aufnahme größerer Neuerungen markiert. Vielmehr sollte die Freigabe des RC1 in der Regel den vier bis sechs Wochen dauernden Abschnitt einläuteten, in dem sich die Entwickler auf Fehlerkorrekturen vor der Freigabe konzentrieren sollen. Auch die meist mindestens einige Wochen dauernde Testphase in Andrew Mortons mm-Kernel-Serie wurde übersprungen, denn dort war das Dateisystem erstmals in der vor zwei Tagen veröffentlichten Version enthalten.

Ext4 basiert zu weiten Teilen auf dem Quellcode von ext3 – ähnlich wie ext3 großteils auf ext2 aufbaute. Die neuen Funktionen und Änderungen beschreibt die Dokumentation. So lassen sich mit dem 64-Bit-Dateisystem nun Partitionen oder Volumes betreiben, die bis zu 1024 Petabyte (1  Exabyte) groß sind – mit ext3 und 4 KByte großen Blöcken ist bei 8 Terabyte Schluss. Zum Adressieren von Dateien können nun so genannte extents zum Einsatz kommen, bei dem das Dateisystem mehrere Speichereinheiten zu einem größeren, zusammenhängenden Block zusammenfasst. Das soll den Verwaltungsaufwand minimieren und die Performance steigern.

Abgeschlossen ist die Entwicklung von ext4 mit der Aufnahme in den Kernel indes noch nicht: So sollen die Wartungsprogramme in Zukunft einige der bereits in ext3 enthaltenen Neuerungen wie "dir_index" und "resize inode" beim Anlegen eines ext4 immer aktivieren. Zudem erwägen die Entwickler weitere Erweiterungen wie Unterstützung von mehr als 32.000 Unterverzeichnissen, optimierte Verteilung der Daten auf dem Datenträger und schnelleres Anlegen des Dateisystems.

Wie beim Übergang von ext2 auf ext3 auch muss man beim Umstieg auf das neue Dateisystem die Partition oder das Volume nicht neu formatieren. Vielmehr lässt sich die ext3-Partition mit dem ext4-Treiber einbinden und über das Aktivieren der neuen Dateisystemfunktionen in eine ext4-Partition verwandeln – die Änderungen macht das Dateisystem dabei über Feature-Flags kenntlich, sodass ein Linux ohne ext4 die Partition gegebenenfalls nicht anfasst. Da der ext4-Treiber auch ext3-Partitionen im Kompatibilitätsmodus weiterbetreiben kann, erwägen einige Entwickler, den ext3-Quellcode nach der Fertigstellung von ext4 aus dem Kernel zu entfernen, damit sie diesen nicht parallel pflegen müssen.

Neben dem neuen Kernel erfordert ext4 auch neue Userspace-Programme für Wartungsarbeiten wie das Anlegen oder Überprüfen eines ext4-Dateisystems. Die Dokumentation weist zudem darauf hin, dass man bei Geschwindigkeitsmessungen und -vergleichen mit anderen Dateisystemen beachten solle, das ext3 und ext4 in der Standardeinstellung eine höhere Datensicherheit als andere Dateisysteme böten. Das gehe teilweise zu Lasten der Performance.

Mit der Kernel-Integration des im Juni erstmals in der breiten Öffentlichkeit angekündigten ext4 hat das Dateisystem den ärgsten Konkurrenten Reiser4 links überholt – der wartet schon seit der Fertigstellung vor über zwei Jahren auf die Aufnahme in den Kernel und sorgte für allerlei teils endlose und hitzige Diskussionen auf der Kernel-Entwickler-Mailingliste und in zahlreichen Web-Foren. Ein prominenter Kernel-Dateisystem-Hacker nahm über diese Dispute Abstand von der Reiser4-Qualitätskontrolle vor der Integration in den Kernel. Diesen Part übernahm in den letzten Monaten Andrew Morton, der vor Kurzem ankündigte, dass Reiser4 beinahe in Kernel 2.6.19 aufgenommen worden wäre, er die Integration jedoch wohl noch für 2.6.20 zurückstellen würde.

Nach der Verhaftung von Hans Reiser – Entwickler und Namenspatron der Reiser4- und ReiserFS-Dateisysteme sowie Chef und Gründer der hinter den Reiser-Dateisystemen stehenden Firma Namesys – wird auch auf der Linux Kernel Mailinglist (LKML) über die Zukunft von Reiser4 und die Aufnahme in den Kernel spekuliert. Dabei meldet sich auch einer der Reiser4-Entwickler zu Wort: Er dankt Morton für die Hilfe beim Review, sagt aber auch, dass sie derzeit erschüttert und angespannt seien. Die Entwickler hoffen, in den nächsten sechs Monaten wie bisher fortzufahren, während das laufende Geschäft weiterläuft, um auch die finanzielle Unterstützung zu sichern. Was nach diesen sechs Monaten sei, hänge wohl auch von den weiteren Entwicklungen um Hans Reiser ab. Wenn das schlecht verlaufe, würde es kompliziert – dann müsse man wohl einen Stellvertreter für die Leitung von Namesys suchen. (thl)