Dateisysteme im Kreuzfeuer

Linus Torvalds kritisiert Ext 3 und Ext 4

Linus Torvalds kritisiert Ext 3 und Ext 4

Britta Wülfing
30.03.2009 Linus Torvalds, Ted Ts'o, Alan Cox, Ingo Molnar, Andrew Morton und weitere Linux-Kernelentwickler diskutieren derzeit den Sinn oder Unsinn von Journaling und verzögerter Allokation in Ext 3 und Ext 4. Es fallen heftige Worte.


Auslöser für die Diskussion war eine Bitte um Hilfe von Jesper Krogh auf die Torvalds-Mail mit der Freigabe von Linux Kernel Version 2.6.29. Krogh berichtet von erheblichen Verzögerungen wenn der Cache des Dateisystems von Ext 3 ausgeschrieben wird, trotz schneller Hardware mit umfangreichem RAM. Ingo Molnar hält die hier beschriebene Wartezeit von rund 10 Minuten für absolut inakzeptabel: "Wir sind im Jahr 2009, nicht 1959!". Seine persönliche Toleranzgrenze setzt er bei rund einer Sekunde an: "Das historische Limit für Tasks, die sich aufgehängt haben, war erst bei 10 Sekunden, dann 60 Sekunden."

Ted Ts'o, federführend bei der Entwicklung des Filesystems, schaltet sich in die Diskussion auf der Kernelliste ein. Erst kürzlich wurde der Entwickler im Ubuntu-Anwenderforum mit Beschwerden von Anwendern konfrontiert, die über Probleme mit Ext4 klagten und von Datenverlusten nach der Installation berichteten. Mit Ursachenforschung und ausführlichen Erläuterungen setzte sich Ts'o intensiv mit dem Problem auseinander. Folglich hat er schon einige Überzeugungsarbeit hinter sich, wenn er in der Kernelliste darauf hinweist, dass die Lösung nicht einfach sein dürfte.

Er beschreibt erneut den Verzögerungseffekt beim Schreiben der Daten. Die Synchronisation in Ext 3 findet alle fünf Sekunden statt, und Ext 4 schreibt normalerweise nur alle 120 Sekunden Daten aus dem Cache. Er klingt gereizt, wenn er schreibt: "Die Leute sollen Dateisystementwickler als Idioten beschimpfen, wenn sie sich dann besser fühlen. Ja, klar, wir sind alle blöd. Wenn jemand ein besseres Dateisystem entwerfen kann, zeig uns, wie man's besser macht oder schick ein paar Patches."

Linus Torvalds zeigt sich allerdings von der verzögerten Synchronisation nicht begeistert. Er schreibt: "Arbeitet nicht wenigstens die Default-Einstellung von Ext4 nach dem verrückten Modell 'Daten sind weniger wichtig als Meta-Daten', und wird es nicht als Journal geführt? Und Ext 3 mit 'data=writeback' macht das gleiche, oder? Beides ist - so weit ich das sagen kann - total hirnverbrannt. Wenigstens ist das bei Ext 3 nicht die Default-Einstellung.“ Um das Synchronisationsprobleme zu vermeiden, empfiehlt Ts'o, zunächst nur auf einzelnen Anwenderrechnern zu Ext 4 zu migrieren. Diesen Vorschlag hält Torvalds für Mist ("crappy") und meint, dann könne man gleich zu Ext 2 zurückgehen.

In seiner Antwort verweist Ts'o auf die gute Performance dank dieser Funktion und, wie bereits früher, darauf, dass die Methode dem Posix-Standard entspreche. Seiner Erfahrung nach spiele die Zeitspanne von fünf Sekunden beziehungsweise drei Minuten in der Praxis keine große Rolle, "zumindest in den Zeiten, als die Leute stolz auf ihre Linux-System waren". Außerdem gäbe es Abhilfe: "Wertvolle Daten und Applikationen die fsync() nutzen, werden sicher sein." Falls dies für einzelne ein Problem sei, könnten diese die verzögerte Allokation mit der Option "nodelalloc mount" abstellen.

Den Kernel-Chef Torvalds überzeugt diese Argumentation nicht. Er ist der Meinung dass die zeitliche Verzögerung zwischen dem Schreiben der Metadaten und den echten Daten das Hauptproblem ist. Dadurch steige die Wahrscheinlichkeit, dass eine Datei beschädigt oder unvollständig sei. "Wer auch immer mit dieser Lösung ankam, war ein Idiot, und da gibt es kein falls, aber oder vielleicht."

Ähnliche Artikel

Kommentare
Natürlich ist das blöd, ...
pvb (unangemeldet), Mittwoch, 01. April 2009 08:53:51
Ein/Ausklappen

wenn Daten (z.B. bei einem Stromausfall) einfach kaputt sind.
Das ist inakzeptabel !

> Ja, klar, wir sind alle blöd. Wenn jemand ein besseres
> Dateisystem entwerfen kann, zeig uns, wie man's besser
> macht oder schick ein paar Patches."

Ok, mach ich:

Man sehe sich mal das Dateisystem von OpenVMS an.
Jedes Datei hat da nach der Extension noch eine Versionsnummer.
Die alten Dateiversionen sind also immer noch auf der Platte.
Mit einem "PURGE" können die alten Dateiversionen gelöscht werden.

Ich verlange nun nicht, dass man das Konzept 1zu1 übernimmt,
aber warum sollte man die alte Datei schon löschen,
wenn die neue Datei noch nicht physisch auf der Platte steht ?

Die alte Datei könnte ja auch erst dann gelöscht werden,
wenn die neue Datei auch wirklich (erfolgreich) geschrieben wurde.

> Ja, klar, wir sind alle blöd...
Ja, die sind blöd, wenn es zu solchen Ausfallerscheinungen kommen kann.


Bewertung: 193 Punkte bei 23 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Linus hat interessante vorschläge
Anonymnuss (unangemeldet), Dienstag, 31. März 2009 17:33:31
Ein/Ausklappen

ließt man sich Linus Aussage im Original durch, so ist sein Vorschlag nicht einmal dumm. Daten schreibt man eher bevor man Metadaten schreibt...

Für mich klingt das durchaus logisch, denn Metadaten sollten eigentlich nur Informationen zu einer Datei enthalten.

Anders herum ists ja auch unlogisch...ich kann ja z.b. keine Kritik zu einem Buch schreiben, wenn das Buch noch nicht existent ist (überspitzt ausgedrückt).


Bewertung: 235 Punkte bei 23 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...