Journaled File System

from Wikipedia, the free encyclopedia
JFS
Manufacturer IBM
Full name Journaled File System
Initial release 1990 ( AIX )
Technical implementation
Directories JFS: Linear, JFS2: B + tree
Files JFS: Bitmap (2 tile sizes on fragments), JFS2: B⁺ tree from extents (address, length)
Maximum values
Size of a file 1 PiB
Number of all files 2 63
Length of the file name 255 bytes
File system size 4 PiB
Allowed characters in the file name All Unicode characters except NULL
properties
Dates of a file changed (modification, mtime)
metadata changed (ctime)
last access (atime)
Forks Yes
File attributes noatime
File rights management Unix file rights , ACLs and JFS security labels
Transparent compression JFS only
Transparent encryption No
Supporting operating systems AIX, OS / 2 , Linux

The Journaled File System ( JFS ) was published by IBM in 1990 for their own AIX operating system . The background was an extensive virtualization of the hardware layer in this version 3 of AIX, which was newly introduced at the time: A Logical Volume Manager (LVM), which was also newly introduced , replaced the rigid access schemes on data carriers, and a new storage manager brought about the virtualization of the storage space, i.e. the outsourcing of main memory a (virtual) hard disk, and the PowerPC CPU family, which is still the heart of the pSeries , among others , was introduced. JFS for AIX should not be confused with the Veritas File System , also referred to as JFS on HP-UX .

The primary design goal of JFS was the constant consistency of the file system: changes to the file system are written transaction-oriented and logged in a journal . In the event of a crash - based on a consistency point of the transactions - a consistent status of the file system can be established very efficiently via the journal. Full access to the file system is therefore achieved again very quickly. The focus is on the availability of the file system resource , not the performance or the integrity of the file content (journaling only relates to changes in the file system, e.g. file entries in directories, and not to the actual file content).

The LVM is useful for the scalability of the file system: during operation and under load, hard disks can simply be added to the configuration and added to the volume group in order to expand the file system.

A new generation of JFS was developed for the OS / 2 operating system, also published by IBM, and presented in 2000. This JFS represents a new implementation of the JFS, as the "historical" JFS code is strongly based on the pSeries architecture (OS / 2 runs on x86 computers). This new JFS code was imported into AIX 5.1 as JFS2 and released by IBM in 2002 under the GNU General Public License .

The main differences in size:

feature JFS2 JFS
Maximum file system size 4 pebibytes (recommended 32 tebibytes ) 1 tebibyte
Maximum file size 1 pebibyte (recommended 16 tebibyte) 64  GiB
Number of i-nodes Dynamic, limited by disk space Static, set when the file system was created
Directory organization B + tree Linear

In addition, optimizations for current server hardware were made; so the performance of JFS2 is slightly better than that of JFS.

Linux is supported, but defragmentation has not yet been ported to Linux. This can lead to the creation and deletion of many small files (a few KiB ) in the file system fragmenting and, above all, write access slowing down a bit and generating a higher CPU load. Due to the extent, consisting of an address-length pair) -based allocation of file blocks and an intelligent allocation strategy, i. H. Adjacent extents of the same file are merged as files are changed (this becomes more likely as the file system becomes more fragmented), but the degree of fragmentation remains below a certain ratio. Many other file and database systems use a similar extent-based file block allocation.

See also

Web links