I want to learn more about file systems from the practical point of view so I know what to expect, how to approach them and what experience positive or negative you had / have.
I found this wikipedia’s comparison but I want your hands-on views.
For now my mental list is
- NTFS - for some reason TVs on USB love these and also Windows + Linux can read and write this
- Ext4 - solid fs with journaling but Linux specific
- Btrfs - some modern fs with snapshot capability, Linux specific
- xfs - servers really like these as they are performant, Linux specific
- FAT32 - limited but recognizable everywhere
- exFAT - like FAT32 but less recognizable and less limited
Btrfs, but I’m curious about ZFS.
Me too.
Btrfs’ grandperson.
It needs a time to fully understand all features and quirks.Yet surprisingly simple and easy to use
Ext4 cause that’s the default and I’m lazy.
That’s a valid reason too. However sometimes btrfs has become the default ;)
Not in Mint.
Yeah I think Ubuntu and Debian based distro prefers it for stability reasons. Fedora I think switched to btrfs by default.
Based
I bcachefs for my games, I like that it lets me havemultiple disks with redundant data copies, plus ssd caching of frequently accessed files, this fs is linux specific for now as far as I know, and is still experimental. I use ext4 for everything else, and FAT32 for flash drives.
Bcachefs is ready for real use?
In my use it has been pretty stable so far with 7 disks participating (3 caching SSDs, 4 mechanical disks, with 3 copies of metadata and 2 of data), but I’m not using the more experimental features like erasure coding, I will note the on-disk-format has changed twice since it has been in the kernel, and it hasnt been there long, but it has succeeded both on-disk-format upgrades without obvious data loss, and it recently got self healing for some checksum errors, Id say its probably ready for use if the data is backed up, replaceable, or can be gone without (so for me games are all I have that fits this). Otherwise I would use caution if you use it, but I am very optimistic about the future of the FS, as Kent Overstreet (the creator) has taken a lot of care with it.
I’ve only been put off with how slow it is in phoronix latest benchmarks
That’s fair, it has changed a bit since then and I’m hoping we get another filesystem benchmark to see if it has improved, and the caching features might offset that on frequently used data, but I don’t know how hard that would be to benchmark.
Oh, didnt know that was posted, some of the tests seem to be different from last time, it hasnt regressed but hasnt improved much yet either (from the ones that were the same). It does seem to have pulled ahead of BTRFS since the last test, doubling score in the DBench test, but it still varies a lot compared to the other filesystems it seems, doing worse pretty regularly.
Btrfs for everything these days, subvolume snapshots have been game-changing for me for doing backups.
Could you please elaborate on doing backups with btrfs?
Sure, I pretty much use the method explained here for weekly backups: https://fedoramagazine.org/btrfs-snapshots-backup-incremental/
Not only is there btrfs support for Windows, but since windows and linux root structures don’t conflict, someone got both arch and windows booting from the same partition. Is it a good idea? Hell no. But can it be done? Apparently yes.
How well a file system recovers from crashes or corruption.
fall guysExt4 is the only good FS so that’s what I use.
Are you sure this is the only good FS? I know it’s solid and stable and used for many years as default Linux’s FS but I disagree that’s the only good one.
Many different file systems are successfully used in production on a large scale that aren’t EXT4.
ZFS, got 5 system with different zpools
On root?
I do have 1 system with ZFS mirror boot drives
Did you use an installer to do it or manual setup?
I started using it on my NAS and also on root. Then I switched my personal machine to ZFS on root. I manually created both setups (somehow). This is the worst part in my opinion. The best decision, though, was to ditch grub in favor of zfsbootmenu. Skips all the brittle steps with grub and its boot partition. Now I just have zfsbootmenu directly loaded by UEFI from the EFI partition. Everything important is directly on ZFS, including… well, everything. Can also use snapshots but I have not needed that yet.
Mine is
Manual setup?
I’m on freebsd, it’s the default out of box/installer
Depends on the device and the use case, mostly FAT32, exFAT, NTFS, EXT4
I’ve got Btrfs on my desktop for the OS drive cuz that was what Fedora recommended when I was installing it. It took a bit of effort to get snapshots working properly, but other than that, I’ve had no issues with it at all over the past year. I’ve got an exFAT drive and an NTFS drive in there that are kind of leftovers from using Windows. I’ve been thinking about reformatting the exFAT drive to ext4 or something, since all it really does is store games, and having the ability to symlink to it would be nice.
I’ve got a TrueNAS machine as well and that uses ZFS for pretty much everything.
Btrfs for the compression and snapshots
Btrfs, for the compression and CoW. I’ve been using it since a couple years. It seems stable for my use. I need to fully wrap my head around how snapshots work, though.
You mentioned CoW. I’m really taking advantage of this because I have multiple Wine prefixes that have lots of duplicate data. I want to give every application it’s own prefix, and my underlying file system allows me to duplicate the blocks so the prefixes are basically free where before it’s several hundred megabytes just to make a new prefix.
Ext4 on every Linux device.
Ah i dont have any other kind of devices (android on mobile, but there I have no choices on fs)
Why not btrfs? Don’t know, been using what has kept working flawlessly for me for the last 20+ years, no need to replace ext4.
ZFS
I see it’s the GOAT as fs
Ext4 with LVM.
I like BTRFS and it’s features but sadly Debian doesn’t have a preset for it in it’s installer so the only way to use it is to manually partition and I absolutely suck at that.
Sorry if this is a dumb question, but have you tried using gParted? GUI, new-user friendly, easy to visualize your system, I’ve used it for over a decade on multiple devices…