- Journaled File System
-
JFS Hersteller IBM Vollständige Bezeichnung Journaled File System Erstveröffentlichung 1990 (AIX) Technische Umsetzung Verzeichnisse JFS: Linear, JFS2: B+-Baum Dateien JFS: Bitmap (2 Kachelgrößen auf Fragments), JFS2: B⁺-Baum aus Extents(Adresse, Länge) Maximalwerte Größe einer Datei 1 PB Anzahl aller Dateien 263 Länge des Dateinamens 255 Bytes Größe des Dateisystems 4 PB Erlaubte Zeichen im Dateinamen Alle Unicode Zeichen außer NUL Eigenschaften Datumsangaben einer Datei geändert (modification, mtime)
Metadaten geändert (ctime)
letzter Zugriff (atime)Forks ja Dateiattribute noatime Dateirechte-Verwaltung Unix-Dateirechte, ACLs und JFS Security Labels Transparente Komprimierung nur JFS Transparente Verschlüsselung nein Unterstützende Betriebssysteme AIX, OS/2, Linux Das Journaled File System (JFS) wurde im Jahr 1990 von IBM für ihr eigenes Betriebssystem AIX veröffentlicht. Hintergrund war eine weitgehende Virtualisierung der Hardwareschicht in dieser damals neu vorgestellten Version 3 von AIX: Ein ebenso neu vorgestellter Logical Volume Manager (LVM) löste die starren Zugriffsschemata auf Datenträgern ab, ein neuer Speichermanager brachte die Virtualisierung des Speicherraumes, also die Auslagerung von Hauptspeicher auf eine (virtuelle) Festplatte, und die PowerPC-CPU Familie, die noch heute das Herzstück unter anderem der pSeries ist, wurde eingeführt. JFS für AIX sollte nicht mit dem Veritas File System verwechselt werden, das unter HP-UX ebenfalls als JFS bezeichnet wird.
Das primäre Designziel von JFS war die stetige Konsistenz des Dateisystems: Änderungen am Dateisystem werden transaktionsorientiert geschrieben sowie in einem Journal protokolliert. Bei einem Absturz kann somit – ausgehend von einem Konsistenzpunkt der Transaktionen – über das Journal sehr effizient ein konsistenter Status des Dateisystems hergestellt werden. Ein voller Zugriff auf das Dateisystem ist also sehr schnell wieder erreicht. Im Fokus steht damit die Verfügbarkeit der Resource Dateisystem, nicht die Performance oder die Integrität der Dateiinhalte (das Journaling bezieht sich nur auf Änderungen im Dateisystem, also beispielsweise Dateieinträge in Verzeichnissen, und nicht auf den eigentlichen Dateiinhalt).
Der LVM ist für die Skalierbarkeit des Dateisystems nützlich: im laufenden Betrieb und unter Last können einfach Festplatten in der Konfiguration ergänzt und in die Volume Group mit aufgenommen werden um das Dateisystem zu erweitern.
Für das ebenfalls von IBM veröffentlichte Betriebssystem OS/2 wurde eine neue Generation des JFS entwickelt und im Jahr 2000 vorgestellt. Dieses JFS stellt eine Neu-Implementation des JFS dar, da der „historische“ JFS-Code stark an die pSeries-Architektur angelehnt ist (OS/2 läuft auf x86-Computern). Dieser neue JFS-Code wurde in AIX 5.1 als JFS2 importiert und 2002 von IBM unter der GNU General Public License freigegeben.
Die wichtigsten Größenunterschiede:
Merkmal JFS2 JFS Maximale Dateisystemgröße 4 Petabyte (Empfohlen 32 Terabyte) 1 Terabyte Maximale Dateigröße 1 Petabyte (Empfohlen 16 Terabyte) 64 GB Anzahl der i-nodes Dynamisch, begrenzt durch Plattenplatz Statisch, bei Erstellung des Dateisystems festgelegt Verzeichnisorganisation B+-Baum Linear Darüber hinaus wurden Optimierungen für aktuelle Server-Hardware vorgenommen; so ist die Leistung von JFS2 etwas besser als bei JFS.
Es wird zwar Linux unterstützt, aber die Defragmentierung wurde bislang noch nicht auf Linux portiert. Dies kann dazu führen dass durch das anlegen und löschen vieler kleiner Dateien (einige kByte) das Dateisystem fragmentiert und vor allem die Schreibzugriffe sich etwas verlangsamen und eine höhere CPU-Last erzeugen. Aufgrund der Extent (engl. Ausdehnung, bestehend aus einem Adresse-Länge-Paar)-basierten Allokation von Dateiblöcken und einer intelligenten Allokationsstrategie (benachbarte Extents derselben Datei werden während des Änderns von Dateien verschmolzen. Dies wird wahrscheinlicher, je fragmentierter das Dateisystem wird) neigt der Fragmentierungsgrad aber unter ein bestimmtes Verhältnis. Viele andere Datei- und Datenbank-Systeme verwenden eine ähnliche Extent-basierte Dateiblock-Allokation.
Weblinks
Kategorien:- Journaling-Dateisystem
- Freies Dateisystem
- OS/2-Betriebssystemkomponente
- Linux-Betriebssystemkomponente
- Unix-Betriebssystemkomponente
Wikimedia Foundation.