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: 182 Punkte bei 25 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: 222 Punkte bei 25 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.