Posts mit dem Label Filesystem werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Filesystem werden angezeigt. Alle Posts anzeigen

Samstag, 4. April 2009

Linux-Dateisysteme

Und wo wir gerade schon einmal beim Thema Linux-Dateisysteme sind: Eine interessante und kontroverse Diskussion findet momentan über die Dateisysteme ext3 und sowie dessen Nachfolger ext4 statt. Aufreger ist hier das sogenannte Journaling bzw. direkter gesagt die verzögerte Datensynchronisation bei diesen Systemen.

Kurz zum Hintergrund: Um die Systeme nicht unnötig zu belasten, führen die Dateisysteme ext3 und ext4 verzögerte Schreibzugriffe auf die Festplatte aus. Das heißt, geänderte Daten landen erst einmal im Cache und werden anschießend auf die Festplatte geschrieben. Diese Verzögerung beträgt bei ext3 rund 5 Sekunden, bei ext4 aber bis zu 120 Sekunden. Datenverluste könnten hier zum Beispiel durch einen Stromausfall vorprogrammiert sein. Und im Fall von ext4 gab es im März 2009 ja auch schon entsprechende Meldungen. Diese Verzögerungen im Schreibvorgang sollen nicht nur die Performance optimieren, sondern auch eine zu starke bzw. zu schnelle Fragmentierung der Festplatten.

Kernel-Chefentwickler Linus Torvalds bezeichnete diese Art und Weise der verzögerten Datensynchronisation insgesamt als "crappy", also "Mist". Wer sich die gesamte Diskussion zu diesem Thema (betrifft den Kernel 2.6.29) durchlesen möchte, sollte etwas Zeit mitbringen. Auch das Linux Magazin hat dazu einen kleinen Artikel online.

Auf der Suche nach einem im produktiven Einsatz ohne Bedenken einsetzbaren Dateisystem hilft dies aber auch nicht weiter XFS oder auch Btrfs haben mehr oder weniger die gleichen "Probleme".

Offline Filesystem (OFS)

In einem früheren Blogeintrag hatte ich ja schon einmal kurz das Offline Filesystem (OFS) erwähnt. Ich habe mir dieses Dateisystem nun einmal etwas näher angesehen.

Seinerzeit (30.12.2008) war die Version 194 im SVN-Repository aktuell, momentan ist es die Version 205. Die Idee hinter diesem Filesystem ist, dass ich beispielsweise auch unterwegs meine Daten auf dem Notebook bearbeiten kann obwohl ich keine Netzverbindung zum eigentlichen Server habe. Ist dann wieder eine Verbindung vorhanden, werden die (geänderten) Daten automatisch auf den Server geschrieben. Einen Artikel hierzu gibt es im Linux Magazin 01/2009 unter dem Titel "Verbindungssuche".

Soweit funktioniert das auch, allerdings ist OFS bei weitem noch nicht fertig und ich würde aktuell auf jeden Fall von einem produktiven Einsatz absehen und abraten. Aber in Zukunft sich das durchaus ändern!

Die Projektseiten bei SourceForge.net: http://sourceforge.net/projects/offlinefs/

Mittwoch, 4. März 2009

B-tree Filesystem (btrfs)

Welches Dateisystem verwende ich unter Linux am besten? Diese Frage mag man sich schon häufiger einmal gestellt haben. Zumindest bei mir ist das der Fall gewesen und wird es wohl auch in Zukunft (mal wieder) sein.

Aktuell werden am häufigsten sicherlich ext3 (third extended filesystem) und ReiserFS (Reiser File System) eingesetzt. So verfahre ich momentan auch, wobei ich bei Neuinstallationen von ReiserFS, Version 3 wieder absehe. Zu ungewiß erscheint mir die Zukunft dieses Dateisystems. Sein Entwickler Hans Reiser sitzt seit dem Mord an seiner Frau im Gefängnis und die Weiterentwicklung von Reiser4 kann und will ich so momentan nicht weiter beurteilen. Allerdings scheint sich seit dem 20. April 2008 zumindest seit Jahresanfang 2009 wieder etwas zu tun.

Bliebe ext3. Hier stößt man aber (zumindest im produktiven Einsatz) auf Beschränkungen zum Beispiel im Bereich der Datei- und/oder Gesamtdateisystemgröße. Zudem werden kleine Dateien nicht unbedingt effizient gespeichert. Und auch der Nachfolger ext4 (forth extended filesystem) wird nicht alle Einschränkungen, wenn man sie denn so nennen kann und darf, beheben. Aber zumindest Journaling unterstützen beide.

Was bleibt ansonsten? XFS? JFS (Journaled File System)? Einen interessanten Ansatz verspricht das btrfs (B-tree File System bzw. Butter File System). Auch dies ist ein Journaling-Dateisystem, was seit dem Jahr 2007 von Oracle für Linux entwickelt wird. Einen Überblick über die Eigenschaften gibt es im verlinkten Wikipedia-Artikel. Hier wird man allerdings auch die weitere Entwicklung abwarten müssen. Immerhin wurde das Dateisystem aber Anfang Januar 2009 schon einmal in den Kernel aufgenommen.

Oracle entwickelt zudem auch noch das CRFS (Coherent Remote File System). Dies setzt auf btrfs auf und könnte ja vielleicht einmal ein Nachfolger des NFS (Network File System) werden ...