Navigationsleiste   |    Direktzugriff   |    Software   |    Home

Reiser FS - Ein Journaling Filesystem für Linux

Hans Reiser (daher der Namen Reiser- FS) entwickelte sein Filesystem zunächst nur als private Studie, aber es wurde mehr. Es wurde das erste Alltagstaugliche Journaling Filesystem für Linux. Reiser FS steht übrigens unter der General Public License, wird aber gesponsert ( BigStorage, Ecila, mp3.com und SuSE GmbH ).

Jetzt fragst du dich vielleicht, warum du dein stabiles ext2-Filesystem (der Linux-Standard) gegen ein neues System austauschen sollst. Nun Reiser FS hat einige Vorteile:

  1. B*-bäume (balancierte Mehrwegbäume)
  2. Optimierung der Festplattenkopfbewegung
  3. Journaling Filesystem
Im Klartext bedeutet dies:
Balancierte Mehrwegbäume (B*-Trees) beschleunigen das Auffinden einer Datei im Verzeichnis. Bei ext2 liegen die Dateien quasi in einer Kette, ein Eintrag hinter dem anderen. Bei B-Trees Systemen liegt eine baumartige Struktur zugrunde. Dieses Feature dient eigentlich nur der Performance.

Um große Bewegungen des Festplattenkopfes zu vermeiden, werden die Daten in der Nähe ihrer Verweise und Verzeichniseinträgen angelegt. Auch dieses Feature erhöht die Performance des Filesystems.

Nun gut, diese beiden Punkte sind für den kleinen Linuxer eher unbedeutend, kommen wir zum wichtigsten Feature: Journaling Filesystem.
Ein Journaling Filesystem notiert in einem "Journal" welche Dateien zur Zeit bearbeitet werden. Zudem behalten die alten Daten solange ihre Gültigkeit, bis der Bearbeitungsvorgang vollständig durchgeführt wurde. Im Falle eines Systemausfalls brauchen nur die betroffenen Dateien (die vor dem Ausfall geöffneten Dateien) überprüft und evtl. repariert werden.
Bei ext2 muß nach einem Ausfall jede Datei überprüft werden, und das kann bei großen Platten schon mal eine Weile dauern ;-)
Bei meinen Server (den ich täglich ein- und ausschalte) dauerte ein Check von ext2 einer 12GB Partition länger als 15 min (Pentium 60), mit Reiser FS dauerte es 15 sek. Und da Linux (besser ext2) nach 20 Starts die Platte überprüft, bringt hier Reiser FS einen großen Vorteil
Ich halte Journaling Filesystem für den größten Vorteil von Reiser FS und denke das in Zukunft alle Filesysteme ein Journal haben werden. Auch bei ext2 geht die Entwicklung weiter, zu ext3 und dieses wird auch ein Journaling System. Desweitern haben IBM und SGI angekündigt ihre eigene Journaling Filesystem (unter UNIX gibt es sowas schon länger) aus Linux zu portieren. Aber Reiser FS ist am weitesten fortgeschritten und schon einsatzbereit.





Installation von Reiser FS

Reiser FS wird in immer mehr Distributionen schon standardmäßig eingebunden, aber wenn du selber Hand anlegen willst, bekommst du hier eine kurze Anleitung.
Ich schreibe die Anleitung für fortgeschrittene Linuxer, die wissen wie man ein Quellpacket installiert und den Kernel kompiliert.
Ich möchte keinen ausschließen, aber Reiser FS arbeitet als Filesystem ganz unten im System, im Kernel. Damit du Reiser FS benutzen kannst, mußt du den Kernel patchen. Dies ist ein großer Eingriff in das Linuxsystem und sollte nicht von Anfängern durchgeführt werden ! (Mein erster Versuch einen Kernel zum kompilieren endete mit einem "Kernel Panic" und einer Neuinstallation ;-))
Der Eingriff im Kernel kann nämlich dein ganzes System zerstören, denn ohne Kernel kein Linux.

Achtung, wenn du noch nie einen Kernel kompiliert hast, solltest du hier besser abbrechen !!!

Ok, fangen wir an einer leeren Partition ein ReiserFS zu "verpassen" :
Benutzer von SuSE Linux sollten mal bei SuSE nachschauen.
Wer es auf die harte Tour will:
Zuerst die Quellen deines Kernels installieren. Am besten benutzt du die Quellen aus deiner Distri, da diese meistens schon einige nette Patches (vielleicht ReiserFS ?) haben. Danach lädst du dir den Reiser FS von devlinux.com herunter, dann entpackst du ihn und patcht den Kernel:

  
    # cd /usr/src/linux 
    # gunzip linux-2.2.16-reiserfs-3.5.16-patch.gz 
    # patch -p1 < linux-2.2.16-reiserfs-3.5.16-patch

Nun konfigurierst du den Kernel und bindest Reiser FS (steht unter Filesystems) fest in den Kernel ein. Danach kompilierst du den Kernel, änderst deinen Bootmanager (vergiß nicht den alten Kernel auch noch den Bootmanager einzubinden, man weiß ja nie ) und startest neu.
Im nächsten Schritt werden die Werkzeuge von ReiserFS erzeugt:
    # cd /usr/src/linux/fs/reiserfs/utils
    # mkdir bin
    # make
    # make install
Nun kannst du eine Partition mit ReiserFS formatieren (zum Beispiel hdb1) :
    # mkreiserfs /dev/hdb1
Ok, geschafft du hast dein ReiserFS, nutze es!

Du kannst ja nun den ultimativen Test machen: Alle ext2-FS entmounten, aber nicht ReiserFS und dann den Reset-Knopf drücken. Beim nächsten Start sollte dein ReiserFS in ein Paar Sekunden repariert sein ;-)

Achtung, niemals FSCK auf einer ReiserFS Partition laufen lassen ! Benutze immer reiserfsck !




Werkzeuge zu ReiserFS

Name Funktion Dokumentation
dumpreiserfs Dumpen von ReiserFS README
emu ?  
mkreiserfs Partition ReiserFS formatieren man-page
reiserfsck Testen und Reparieren von ReiserFS    man-page
resize_reiserfs     Größe von ReiserFS ändern ?  
unpackreiserfs ?  

Wer weiß welche Funktion emu esize_reiserfs unpackreiserfs haben, sollte sich mal bei mir melden !




Weitere Journaling Filesysteme für Linux

(Stand: September 2001)

ext3

Auch ext2 wird weiterentwickelt, ist aber noch im Betastadium. Hat einen Journal, aber (bisher) keine Binärbäume. Ist aber abwärtskompatibel zu ext2 und deshalb schnell zu installieren. Du kannst ext2 einfach in ext3 wandeln !
Weitere Infos unter ftp.uk.linux.org/pub/linux/sct/fs/jfs

JFS

Dieses Journaling FS ist von IBM, Unix erprobt und steht unter der GPL (General Public License)
JFS bietet 64-Bit clean und Binärbäume, hat aber noch kein Quota und keine ACLs.
Weitere Infos unter http://oss.software.ibm.com/developerworks/opensource/jfs/

XFS

Auch SGI hat schon unter UNIX ein Journaling FS gehabt. Dieses ist nun auch auf Linux portiert und unter die GPL gestellt worden.
Dieses FS ist 64-Bitig und hat als Besonderheit ACLs, Quota-Unterstützung, Backup/Restore Funktionen (mit ACLs !!).
Meine ersten Erfahrung mit diesem FS waren sehr gut, habe es allerdings nicht im Einsatz. Kein anderes FS unter Linux hat soviele Features, werde dazu wohl mal einen Artikel schreiben ..
Weitere Infos unter http://oss.sgi.com/projects/xfs/




Quellen und weitere Dokus

Die Homepage von ReiserFS: http://devlinux.com/projects/reiserfs/
Im Linux-Magazin 4/2000 war ein Artikel über Journaling Filesysteme (meine Hauptquelle).


Erstellt: 2000-09-17 Autor: Markus Ungermann (m.ungermann@tuxhausen.de)
Dank an André Obermann.
Letztes Update: 2001-09-10      URL: http://www.tuxhausen.de/software_acl_ext.html