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
ext4 because I value my data and don’t want to lose it. I used to mess about with ZFS for mass storage but it’s a university course to learn how to use and have decent performance.
I used to use XFS, but ext4 caught up.
And I used to use XFS… on something other than Linux.
xfs has reflinks. That means you can copy huge wodges of data nearly for free on one filesystem. For backup systems this is a killer feature. Veeam rolling up incremental backups into the last full happens in seconds because pointers to blocks are juggled around rather than the data blocks themselves.
xfs has been around for a very, very long time. I use it for larger filesystems eg Nextcloud, Zoneminder and the like (and Veeam backup repos that are not object storage). I use ext4 by default.
pfSense boxes - zfs because the alternative is ufs.
RPi - OverlayFS (with ext4 and tmpfs) gets you a generally read only filesystem with changes held in RAM. Ideal for kiosks, appliances and keeping memory sticks alive.
Windows - NTFS, it works well and has streams and there aren’t many other options (ReFS is a bit new but it does have reflinks)