Linux File-systems were tested on NVMe SSD including EXT3, BTRFS, EXT4, XFS, and ZFS from the mainline kernel of Linux 4.7.0 as well as with the help of stock mount options. In this article, we will have a look at deeper details at these file systems comparatively including EXT4 vs XFS, EXT4 vs EXT3, BTRFS vs EXT4 as well as ZFS vs EXT4.
Before we look at the Linux EXT4 file system, let's first understand "What really is a file system?". Generally speaking, a file system has the following standard characteristics:
- Data storage: It allows for a structured place for storing data and data retrieval.
- It has a namespace: it provides a chronological naming order to make data retrieval easy.
- Data protection: it has a definite scheme that defines access rights.
- API: it has a system function call that helps in the manipulation of objects of the file system such as files and directories.
- Security model: A scheme for defining access rights.
EXT4 Vs XFS
EXT4 and XFS show similarities in some features. They both use delayed allocation to achieve file fragmentation while both do not support mounted snapshots. However, XFS is amazingly fast in the insertion phase as well as the workload execution phase. Precisely, it seems to be 50% much faster than the EXT4 file system. With the increase in load, both EXT4 and XFS had a limited throughput of the hardware. But still, XFS was more superior to EXT4. XFS has shown better performance for storage as compared to EXT4. XFS and EXT4 latency were virtually all good in both runs considering that all were in microseconds.
XFS has a better resilience against loss of power (metadata) which is in its default settings. XFS is especially instrumental when it comes to dealing with servers that primarily involve large files. Although XFS has shown excellent performance when dealing with large files, it has the worst performance when it comes to dealing with many files of small sizes.
Additionally, XFS facilitates safe unmounting of the USB and uses minimum power thus making power issues of power interruption uncommon as with the case of EXT4. Research on the loss of power and different operational qualities is still underway hence we cannot conclude on which of these two file systems is better than the other.
EXT4 vs EXT3
EXT4 inception took place in replacement of EXT3 to overcome its limitations. As opposed to EXT3, EXT4 supports large individual file sizes as well as the overall size of the file system. It's also possible to mount an EXT3 that is existent as an EXT4 file system without necessarily having to upgrade it. With EXT4, there's an option for the users to disable it.
EXT4 vs BTRFS
BTRFS was built with an aim of expanding the functionality of the file system so as to include pooling, snapshots, checksums, and more. Although it is autonomous from EXT4, it aims at improving on EXT4 ideas to give customers a better experience. It supports enterprises that involve large programs with very huge databases.
BTRFS is able to span over multiple hard drives and hence it can support more drive space as opposed to EXT4 (precisely 16× more). BTRFS has a maximum file size of 16exbibutes and the same size for the file system.
EXT4 vs ZFS
ZFS has a number of pros like the capacity to handle data corruption due to scrubbing and checksums effectively. However, unless you're transferring data across multiple disks, it could send you a message prompt written "corrupted file, delete it permanently now ". As compared to EXT4, ZFS required a much smaller disc space. Precisely, it can run with only a few hundred of megabytes of memory. Hence, any machine that has a memory of over 2GB has sufficient RAM for applications and ZFS. ZFS can be used on a machine with as little as 1GB and run just smoothly.
1. EXT4 is often preferred for home use
Most people would stick with EXT4 for basic home use, especially if power redundancy is uncommon. One is likely to encounter a lot of issues when their home directory has been partitioned in ZFS, XFS, and BTRFS which is not the case with EXT4.
2. Majority of Linux programs are tested on EXT4
Most people have a big issue with a file system that has not undergone a lot of testing. EXT4 has an added advantage over most of the other Linux programs because it has been used to test many Linux programs under trial. This has made many people trust it more than any other file system.
3. EXT4 is great for servers that primarily use many files of small sizes
On the contrary, XFS fits perfectly when it comes to large files of up to 30+ GB as it facilitates safe un-mounting of the USB.
4. EXT4 is commonly used for a home since it is a standard file system that works well with virtually everything
EXT4 is a good file system for home use but it has to be accompanied by a UPS to avoid the issues of power interruption. EXT4 usually consumes a lot of power when it comes to performing serious tasks. And EXT4 filesystems partitions consume little space as opposed to the XFS which is primarily made for servers that involve large files.