When we format a hard drive in Windows, the normal thing is to give it a file system known , such as FAT32 (rare today due to its limitations), exFAT for those looking for compatibility without the limitations of FAT32, or the most complete and the best for working on Microsoft systems, NTFS. However, if we are users Linux , in addition to being able to work with those, we can find another variety of file systems. What is the difference between them? Which is better? Let’s see it.
What to consider when choosing a file system for Linux
The drivers for the major file systems are included in the kernel . This means that, unless the developers have purposely removed them, any distro should recognize the major Linux file systems without issue. However, not all systems are designed for the same.
Of course, the most common that we can find, for general use (that is, to install a distro, for example), is EXT . Specifically version 4. However, if we are advanced users and want to optimize the drives as much as possible, we are still interested in betting on a more complete file system, such as BtrFS. Or, if we want to get the most out of an SSD, we can choose to use F2FS , a system designed specifically for solid drives. Or, if we are going to mount a RAID, we must use a file system specially designed for this type of configuration.
Of course, it must be borne in mind that not all file systems serve the same purpose. For example, a distro (like Ubuntu) may not be able to boot from some filesystems, and the bootloader itself may not load due to using a full filesystem.
In order to choose the best file system, next, we are going to see which are the most important, how they differ and what is their ideal use.
Major file systems
The main file systems that we can use in Linux are:
EXT4 (next to EXT2 and EXT3)
Extended4 , Fourth Extended Filesystem, or better known as EXT4 , is the file system used by most distributions. Broadly speaking, it is the NTFS of Linux . This file system came to succeed EXT3, including a host of functions and features, including support for solid SSDs.
Among its features we can highlight better data performance and reliability than its predecessor, support for journaling and security measures to avoid data loss in the event of a power outage. In addition, the extended and delayed allocation features improve performance and reduce drive fragmentation.
- It is the most used file system.
- It has SSD support and features like TRIM.
- Possibility of deactivating journaling to protect the read and write cycles of the SSDs.
- It uses an old technology being an update of EXT, EXT2 and EXT3.
- Journaling is enabled by default.
As it is included in the kernel, we do not need any additional configuration to be able to use it.
This file system was originally created for specialized 3D rendering workstations. However, despite being three decades old, XFS is one of the most loyal users’ favorite file systems.
This format is specially designed for systems that do a lot of reading and writing of data to disks. It offers outstanding performance even in situations of maximum workload, and has data validation systems to avoid losing the information stored in the drives. In addition, thanks to its advanced functions, such as dynamically assigned inodes and advanced algorithms, and storage groups that allow us to join units to add their space, it achieves more than excellent performance, performance that improves the larger the unit. .
- Great performance in very large units or groups of units.
- Optimized to work with SSD drives. TRIM and defragmentation functions for them.
- It has journaling, and it cannot be disabled.
- It is more complex to configure, not suitable for new users.
It is also included in the kernel and does not need configuration, although it can be difficult to install a distro in XFS as it is not a recommended option by default.
This file system was originally created to work with NAND-based drives such as USB sticks or especially SSD drives . This file system was designed by Samsung, although it has earned the trust of the community due to its excellent performance. When we format a drive with it, the space is divided into very small parts so that, instead of reusing the same sector over and over again, the data is stored in different parts, extending the useful life of the drives. In addition, it has support for specific SSD technologies, such as TRIM or FITRIM.
- Specially designed to be used in SSD.
- Modern and new, compatible with the latest technology.
- It does not stand out at all. Neither in performance, nor in speed nor in data security.
- Not recommended for mechanical units.
Although there are some distros that support it, it is not a system that is available on all distros.
Acronym for ” b-tree file system “, BtrFS was designed by Oracle with the intention of succeeding EXT. However, it has not yet succeeded. This file system has a host of advanced features that improve the overall performance of all types of drives, such as advanced defragmentation and data compression. In addition, it allows activating shadow copies of the data in a way that improves its persistence and security. It even has support for snapshots, being able to replicate data, migrate it to other units or create incremental backups in a very simple and efficient way.
It supports RAID, although it is not particularly heavy for it , especially for complex configurations. Also, many users use it on their SSDs because, although it supports journaling, it disables it by default on these drives. Also support TRIM and advanced defragmentation functions.
- Optimized for SSD. It does not activate journaling by default, and it has TRIM and more functions.
- A new, modern and constantly developing system.
- Function to defragment native and secure SSD.
- It is not specially designed for RAID.
- Something unstable, and if it crashes we can lose the data.
- Some of its features could end up damaging SSDs.
This file system is supported in most of the distributions that we can install today, and even some, such as OpenSUSE, use it by default to install the OS.
OpenZFS is a fork of the Zettabyte File System ( ZFS ), developed by Sun. After many licensing problems, finally, in 2010, the development of this new file system began. And, since 2016, many distros, such as Ubuntu, support it as standard.
OpenZFS is a file system specially designed to work on RAID systems . In addition to being compatible with all RAID configurations, this file system stands out for also supporting RAIDZ, a configuration that improves redundancy and reduces data loss in the event of an unexpected power outage.
- Optimized for RAID.
- Loss of data in case of almost non-existent power failure.
- Not recommended for users without knowledge, and when a RAID is not going to be configured.
- RAIDZ consumes a large amount of resources.
Which is the best?
As we can see, each file system has its own advantages and disadvantages. If we want to play it safe, then we must bet on EXT4 . This file system is the one that most distros recommend us to use by default and offers us the stability and performance we want without complications.
If you are looking to make the most of an SSD drive, and maximize its useful life, then the file system to choose is BtrFS.
Finally, in servers (for example, in a NAS) where we are going to configure a RAID of disks, if we want to make the most of it and have the least possible problems, then we must format with ZFS or OpenZFS, then mounting the units in RAIDZ, already which is your best choice.