Why use the JFS filesystem

September 8, 2018

Lang: cs en de es

When my colleague Martin asked me, "On your blog it says that you use the JFS file system. Could you summarize why you use it and what are its advantages? I don't have JFS anywhere, so I'm interested." I wrote this article about JFS and its benefits.

More about file systems and especially about BTRFS, for which I also offer training on how to use BTRFS, you can read The BTRFS filesystem.

JFS File System

JFS filesystem features:

  • logging for fast data recovery in case of system crash
  • extends to enable a faster filesystem that produces efficient and small file mapping structures;
  • different block sizes of 512, 1024, 2048, 4096 bytes; this will optimize performance;
  • directory organization, where there is a choice between small directories (8 entries or less - their contents are stored in the i-node of the corresponding directory) and large ones (over 8 entries - contents sorted in a balanced tree sorted by name, providing extremely fast access)
  • dynamic allocation of i-nodes; JFS dynamically allocates space for i-nodes as needed, which frees up space that no longer needs to be occupied; all this will avoid reserving fixed disk space for i-nodes during filesystem creation;
  • support for sparse files (i.e. a file that has no data allocated in one or more areas)
More info about JFS on wikipedia.

Originally

The information described here is based on a time when there was no EXT4 filesystem, but only EXT3.
Like most users, I did not address the filesystem in the beginning and so had EXT3.

Change

However, what bothered me most about the EXT3 filesystem was the slow checking that is done by fsck. JFS fulfilled my first need, a fast filesystem check, plus it provided other advantages... For example, even today in 2018, one encounters information about the problem of creating files when many are created, thus hitting the limit of the number of inodes. In fact, each new file, link or hardlink needs just one inode. Yet all modern filesystems already have dynamic inode allocation, including JFS.

Since 2014, however, I have been deploying the BTRFS filesystem. which provides additional benefits.

Articles on a similar topic

VMware vs Proxmox: performance comparison
GitLab CI/CD: test automation and application deployment
Migrating VPS from VMware to Proxmox
VMware licensing change
Running Microsoft SQL Server on Linux
Backup: the Proxmox Backup Server
Linux as a router and firewall
How to upload a docker image to the Docker Registry
Linux: logical volume management
Linux Software RAID
Running a web application behind a proxy
Mailbox migration
Docker multistage build
Backing up your data by turning on your computer
Podman
Importing Windows into Proxmox virtualization
Docker and PHP mail
Proxmox virtualization
Docker and Cron
Lenovo ThinkPad X1 Carbon: LTE modem EM7544 commissioning
Yocto Project: Build custom operating system for embedded devices
Preparing a Linux server to run a web application in Python
How to address poor file share performance in Docker
How to get started using Docker correctly
Installing Linux on a dedicated HPE ProLiant DL320e server
How to stress test a web application
How to boot from a 4TB drive with GTP using UEFI
Btrfs file system
Raspberry PI
WINE - running Windous programs under Linux
GNU/Linux operating system

Newsletter

If you are interested in receiving occasional news by email.
You can register by filling in your email news subscription.


+