Reiser File System
aus Wikipedia, der freien Enzyklopädie
ReiserFS | |
---|---|
Hersteller | Namesys (Hans Reiser) |
Vollständige Bezeichnung | Reiser File System |
Erstveröffentlichung | (Linux 2.4.1) |
Partitionskennung | |
Technische Umsetzung | |
Verzeichnisse | B*-Baum |
Dateien | |
Defektblockliste | |
Maximalwerte | |
Größe einer Datei | 231-1 Byte (Version 3.5) 260 Byte (1 EiB)(Version 3.6) |
Anzahl aller Dateien | 232 - 3 |
Länge des Dateinamens | Blockgröße: 64 (bei einer Blockgröße von 4 KiB ergeben sich 4032 Bytes) |
Größe des Dateisystems | |
Erlaubte Zeichen im Dateinamen | |
Eigenschaften | |
Datumsangaben einer Datei | |
Datumsbereich | |
Forks | |
Dateiattribute | |
Dateirechte-Verwaltung | |
Transparente Komprimierung | |
Transparente Verschlüsselung | |
Unterstützte Betriebssysteme | Linux, BSD |
ReiserFS ist ein Mehrzweck-Dateisystem, das von einer Entwicklergruppe um Hans Reiser in der ihm gehörenden Firma Namesys unter der GPL entwickelt und realisiert wurde. Die Entwicklung der Version 3 wurde von MP3.com und der Suse Linux GmbH unterstützt, die Version 4 wurde vor allen Dingen von der DARPA und Linspire unterstützt.
ReiserFS war das erste Journaling-Dateisystem, das im Linux-Kernel standardmäßig (ab Kernel-Version 2.4.1) enthalten war. Es wird im Wesentlichen zur Formatierung von Festplattenpartitionen, Logical Volumes oder RAID-Systemen eingesetzt.
Zurzeit wird ReiserFS in der Version 3 vom Linux-Kernel vollständig unterstützt. Für FreeBSD gibt es eine experimentelle Unterstützung, bisher nur für Leseoperationen. Kommerzielle Treiber gibt es auch für die Betriebssysteme von Microsoft.
Inhaltsverzeichnis |
[Bearbeiten] ReiserFS, Versionen 1 und 2
Das ReiserFS basiert auf der von Rudolf Bayer entwickelten Datenstruktur des B*-Baums, einer Weiterentwicklung des nach Bayer benannten Bayer-Baums. Das gilt für die Versionen 1 bis 3. Der Sprung von Version 1 auf Version 2 war einem Versehen geschuldet: Ein Entwickler erhöhte die major number als er die minor number hätte erhöhen sollen.
[Bearbeiten] ReiserFS, Version 3
In Version 3 wurde dem ReiserFS ein Journal hinzugefügt. Anfangs war ein Nachteil von ReiserFS gegenüber anderen Journaling-Systemen, dass das Journaling nur für die Metainformationen, d. h. für die Verzeichnisse und Verwaltungssektoren, nicht jedoch für die Nutzdaten in den Dateien selbst angewendet wurde. Dies wurde im 2.6er Kernel behoben; das Journaling von Nutzdaten lässt sich nun mit der mount-Option data=journal
aktivieren. (Vorsicht, wenn keine initrd zum Booten verwendet wird, kann / nicht mit data=journal gemounted werden!)
[Bearbeiten] Reiser4
Reiser4 stellt eine vollständige Neuentwicklung dar und sollte nicht mit einer Weiterentwicklung des alten ReiserFS verwechselt werden. Daher wird es bewusst nicht als ReiserFS 4 vertrieben. Es wird eine Abwandlung der B*-Baum-Struktur verwendet, so genannte „Dancing Trees“. Der Hauptunterschied besteht darin, dass unzureichend gefüllte Knoten nicht bei jeder Modifikation des Baumes verschmolzen werden, sondern nur dann, wenn durch Speicherknappheit ein Zurückschreiben auf den Festspeicher gefordert wird oder eine Transaktion abgeschlossen wurde.
Einen Geschwindigkeitsvorteil bietet Reiser4 bei der Speicherung der Nutzdaten im Journal, da es mit einem wandernden Journal für diese arbeitet. Hier müssen die Daten nicht mehr zweimal auf die Festplatte geschrieben werden, zunächst in das Journal und anschließend in das Dateisystem, sie werden stattdessen direkt an die vorgesehene Stelle im Dateisystem geschrieben und das Journal bis zum Abschluss des Vorgangs darüber gelegt.
Des Weiteren wurde eine flexible Plugin-Struktur hinzugefügt, durch die besondere Metadaten-Typen, Verschlüsselung und Komprimierung realisiert werden können.
[Bearbeiten] Grundlegende ReiserFS-Funktionen
Version 3.5 | Version 3.6 | |
---|---|---|
max. Anzahl Dateien pro Verzeichnis | 518701895 | 232 - 3 |
(limitiert durch eine Hash-Funktion, die 1.200.000 Dateinamen ohne Kollisionen zulässt) | ||
max. Anzahl der harten Links pro Datei | 216 | 232 |
max. Dateisystemgröße | 232 4k-Blöcke |
Vorteile gegenüber anderen Dateisystemen bietet ReiserFS vor allem bei der Handhabung von vielen kleinen Dateien, da diese in den Verwaltungsknoten gespeichert werden können. Das bedeutet, dass die Dateien im Dateisystem weniger Platz belegen und der Platz auf der Festplatte effektiver genutzt werden kann. Diese Funktionen des Dateisystems lassen sich über die Parameter beim Mounten festlegen. Die bekanntesten Parameter sind:
notail |
Deaktiviert die Speicherung von kleinen Dateien in den Inodes der Verzeichnisse, in denen sie sind. Dies ist eine der wesentlichen Eigenschaften, die ReiserFS für kleine Dateien empfehlenswert machen. |
---|---|
nolog |
Deaktiviert das Journaling, bietet damit einen kleinen Performance-Gewinn auf Kosten der Sicherheit. |
Ferner gibt es von den Entwicklern mitgelieferte Programme zur Verwaltung und Administration des Filesystems, die reiserfsprogs:
mkreiserfs |
Mit diesem Programm wird auf einer Partition ein ReiserFS erzeugt. Zum Beispiel erzeugt folgender Befehl auf Partition /dev/hda1 ein ReiserFS:mkreiserfs /dev/hda1 Beim Erzeugen können diesem Programm Parameter übergeben werden, um das Dateisystem zu optimieren. Die meisten können jedoch später jederzeit mit einigen der Programme verändert werden. |
---|---|
reiserfsck |
Mit diesem Programm kann die Dateizuordnungsstruktur des ReiserFS geprüft werden. Dank seiner Eigenschaft als Journaling-Dateisystem benötigt die Überprüfung des Dateisystems deutlich weniger Zeit als bei einem normalen Dateisystem. |
resize_reiserfs |
Mit diesem Programm kann nachträglich ein bestehendes ReiserFS in der Größe variiert werden. Normalerweise nimmt ein Dateisystem stets die volle Größe der ihm zur Verfügung stehenden Partition ein. Doch nicht immer ist das gewünscht. |
reiserfstune |
Mit diesem Programm können verschiedene Eigenschaften zusätzlich gesteuert werden, die spezielle Anwendungen optimieren helfen. |
debugreiserfs |
Dieses Programm ist ein Analysetool für Debugging. |
[Bearbeiten] Siehe auch
Weitere moderne Dateisysteme:
- ext3 (weiterentwickelte Variante von ext2 mit Journal)
- JFS (Journaling-Dateisystem von IBM)
- XFS (Journaling-Dateisystem von SGI)
- NTFS (Journaling-Dateisystem von Windows NT und Nachfolgern)
- ZFS
[Bearbeiten] Weblinks
- Homepage von Namesys (englisch)
- Dokumentation von ReiserFS auf der Namesys-Seite (englisch)
- Dokumentation von Reiser4 auf der Namesys-Seite (englisch)
- Die Struktur des Reiser-Dateisystems von Florian Buchholz (englisch)
- RFSTool ReiserFS unter Windows auslesen
- GUI für RFSTool GUI für RFSTool