I’m switching to XFS for my disk file systems

UPDATE: If you’d like high levels of bit-rot protection and long-term preservation is your thing, ZFS is a better file-system choice

Mirror is usually better than parity RAID just on account a drive doesn’t normally lead to a massive disk thrashing due to controller rebuilding the array, less CPU during writes, and the failure state being a normal disk that is still readable.

So long as you notice the flashing lights that show half the mirror or array just silently failed!

I went with XFS cos SGI* and as it is 1ms faster than ext4; in hindsight I think ext4 better due to it’s more resizable partitions. File-systems that aren’t ZFS will only let you know you have file corruption, but won’t necessarily help you fix that bad issue by self-healing.

* Silicon Graphics created XFS in 1993 to serve as the default file system for their IRIX operating system, and to handle Exabyte disks. I had a bad experience with BTRFS as it interacted with docker weirdly, as in #27653 so this was the driver for my switch. That and noticing how fast it was on spinning rust HDDs. And the fact that Red Hat Enterprise Linux uses it as its default file system. That was strongly influential in my decision since it made me realise it was next-to-native on Linux, which uses ext4 by default.

Having used an SGI Indy workstation in my youth I trusted Silicon Graphics to deliver something with taste and high performance. XFS excels in the execution of parallel IO due to its design, which is based on allocation groups and enabling multiple concurrent writes. The aim: extreme scalability, bandwidth, size of files and itself able to span multiple physical storage devices. With features like delayed allocation, and online defragmentation it seems like the fastest thing about.

After a stint trying out ext4, BTRFS, and then ZFS stripes, raid z2, presently I am installing XFS everywhere at the moment. On my NVMe ext can delete a root folder at 224 kilofiles per second, but this is a very fast m.2 drive. On my slower Samsung SSD running XFS I can stat faster at 256 kilofiles per second!

Ext4

Linux Mint root partition with 1,680,820 files achieves 224,828 stat/second.

real    0m7.476s
user    0m2.893s
sys     0m5.253s

XFS

XFS Kubuntu Linux root partition with 573,884 files achieves 256,198

real    0m2.242s user    0m0.872s sys     0m1.581s

 

 

Scroll to Top