In computing, a file system (or filesystem) is used to control how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into pieces and giving each piece a name, the information is easily isolated and identified. Taking its name from the way paper-based information systems are named, each group of data is called a “file”. The structure and logic rules used to manage the groups of information and their names is called a “file system”.
There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some file systems have been designed to be used for specific applications.
My Conclusions and thoughts (by preference order):
- XFS – Is best choice for server and data storage environment. Hard to to have data corrupt due to a power fail, system crash or hardware fail. Created by SGI in 1993 (the most robust filesystem – more than 20 years old). Is supported by most Linux distributions, some of which use it as the default file system (like Red Hat Enterprise Linux 7+).
- JFS – Met expectations. Uses less CPU resources than other filesystems. Also hard to have data corrupt due to a power fail, system crash or hardware fail. Created by IBM. It’s under a free software license GNU GPL.
- EXT4 – Stable and proven. Good performance and easy to handle. Is a good choice for desktop use, even for server environment in some cases. Has default on almost any distro installation.
- ZFS – Have a remarkable good performance on Linux. Great features like unlimited snapshots, clones, pool bases storage, etc. really a good choice for data storage. Create by Sun Microsystems for Solaris and later for FreeBSD, then, for Linux (2008). Still in its infancy and should be avoided in production environments too. No many benchmarks, tests or documentation on Linux environment found. So IMHO, it not worth the risk.
- BTRFS – has really good performance at this stage and it is still experimental.
- ReiserFS (and Reiser4) is a very good choice, but unmaintained for many years.
- Avoid EXT3 and EXT2. That’s old.
Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch
Benchmarking Filesystems LG #102
Benchmarking Linux Filesystems for Database Performance – Revisited
Linux 4.0 Hard Drive Comparison With EXT4 / Btrfs / XFS / NTFS / NILFS2 / ReiserFS
Linux 4.4 SSD Benchmarks On EXT4, F2FS, Btrfs & XFS
PostgreSQL performance on EXT4 and XFS | PostgreSQL Addict
Some Quick Tests With ZFS, F2FS, Btrfs & Friends On Linux 4.4
Taking ZFS For A Test Drive On Ubuntu 16.04 LTS
ZFS, BTRFS, XFS, EXT4 and LVM with KVM – a storage performance comparison
The State of ZFS on Linux · ClusterHQ
Why I Do Not Use ZFS as a File System for My NAS
A crash course on ZFS