Do you want to know about XFS vs Ext4? If you have no idea about how to choose between the two file systems, you can read this post, in which MiniTool Partition Wizard will compare them in detail.
Introduction to Ext4 and XFS
Ext4 is a journaling file system developed by team led by Theodore Ts'o. It is a successor to Ext3 file system. In 2008, the stable version of Ext4 was officially announced and became the official recommended default file system for Linux.
XFS, a high-performance journaling file system, was first developed by Silicon Graphics for the IRIX operating system in 1993. It is the default file system for IRIX version 5.3 and then it was later ported to the Linux kernel.
What is journaling file system? A journaling file system has a log which records information about changes made in file system. If file system failures (such as a kernel crash or a sudden power failure) occur, the system can recover data easily according to the log.
This post introduces Linux file system and Linux directory structure. It can help you understand Linux better.
XFS vs Ext4
Ext4 file system is the successor to Ext3, and the mainstream file system under Linux. Through many years of development, it is one of the most stable file systems. However, to be honest, it's not the best Linux file system comparing to other Linux file systems.
In terms of XFS vs Ext4, XFS is superior to Ext4 in the following aspects:
- Larger Partition Size and File Size: Ext4 supports partition size up to 1 EiB and file size up to 16 TiB, while XFS supports partition size and file size up to 8 EiB. Please note that XFS is a 64-bit file system. When the host operating system is 32-bit, XFS only supports partition size and file size up to 16 TiB.
- Dynamically Allocated Inodes: XFS uses this technology. Inodes save the attributes and location of the data. It is used to index the file. However, when the inodes are used up, new files cannot be created, even if the hard disk is not full. Dynamics allocated inodes technology removes the limit to the number of inodes and users can make full use of disk space.
- More Xattr (Extended Attributes) Space: Ext4 limits the length of xattr not to exceed one block (usually 4K), while XFS can reach 64K. Extended file attributes are file system features that enable users to associate computer files with metadata not interpreted by the filesystem.
- Allocation Groups: XFS file systems are internally partitioned into allocation groups to manage inodes and free space separately, providing scalability and parallelism, so multiple threads and processes can perform I/O operations on the same file system simultaneously. This architecture helps to optimize parallel I/O performance on systems with multiple processors and/or cores.
- In-Built Dump and Restore Tool: XFS has xfsdump and xfsrestore utilities, which can back up and restore contents.
Of course, comparing Ext4, XFS also has some disadvantages, such as:
- XFS doesn't support journal checksum that is used to check the correctness of the data.
- XFS cannot disable journaling. The drawback is that flash disk lifetime will be reduced.
- Metadata operations in XFS were slower. Therefore, deletions of large numbers of files will cause slower performance.
- The volume of the XFS file system cannot be directly shrunk. It can only be shrunk indirectly through "Backup > Refill > Restore".
Both XFS and Ext4 have their own advantages and disadvantages. You should choose one according to your needs. In addition, if a program sets its default file system, the default file system is recommended.