230
What's with all these hip filesystems and how are they different?
(lm.paradisus.day)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
ZFS is a crazy beast that's best for high end server systems with tiered storage and lots of RAM.
ext4 is really just a basic file system. Its superior to NTFS and fat as it does have extra features to try to prevent corruption but it doesn't have a large feature set.
Btrfs is kind of the new kid on the block. It has strong protection against corruption and has better real world performance than ext4. It also has more advanced features like sub volumes and snapshots. subvolumes are basically virtual drives.
Another few older options include things like XFS but I won't go into those.
List of filesystems: https://en.m.wikipedia.org/wiki/Comparison_of_file_systems
Source? Most benchmarks I've seen it lags behind
My personal testing
Let's agree on: it has a different performance for various use cases and hardware below. Sometimes better, sometimes worse.
Well I use it pretty much exclusively now for bare hardware. For VMs it doesn't matter so I use ext4
Not much time, I'll be brief with three examples that come to mind from my experience:
Great use: Large filestorage with regular changes, daily snapshots, stream snapshots offsite as backup.
Not so great use: Storage backend for qcow2 backed VMs on spinning RAID. CoW made a mess of access times.
Really not great use: Large Postgres-DB with queries that creted large ondisk temp tables.
It really depends.
Benchmarks are also usually very different from real world usage, tbh
https://www.phoronix.com/news/Linux-5.14-File-Systems
It seems actually F2FS is the best?? Thats used in Android and optimized for Flash storage, does that include SSDs?
Yes, but most filesystems are already optimized for flash storage. Arch wiki says f2fs is prone to corruption on power loss. Based on that and the lack of information on its anti-corruption measures I'm inclined to think it doesn't have one and that's why it's faster. I wouldn't use it in a non-battery operated device.
So basically all laptop users can safely use it.
Crazy how PC users rely on such a steady power supply. Arent there small UPS devices for a few seconds with auto shutdown?
Catastrophic battery failure isn't really any less likely than catastrophic power supply failure (conceptually. If you use a brandless grey power supply, results may vary).
That link is for kernel 5.14, so I'd say those results are pretty much invalid for most users (unless you're actually on it, or the 5.15 LTS kernel). There have been a ton of improvements in every filesystem since then, with pretty much every single kernel release.
A more relevant test would be this one - although it talks about bcachefs, other filesystems are also included in it. As you can see, F2FS is no longer the fastest - bcachefs and XFS beat it in several tests, and even btrfs beats it in some tests. F2FS only wins in the Dbench and CockroachDB benchmarks.
Thanks. Bcachefs is for SSD-HDDs isnt it?
Not quite. Bcachefs can be used on any drive, but it shines the best when you have a fast + slow drive in your PC (eg NVMe + HDD), so the faster drive can be used as a cache drive to store frequently accessed data.