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
ZFS where possible for maximum reliability
It also has self healing, no “partitions”, high performance, compression, smart drive redundancy without RAID holes, encryption, deduplication and an extremery intelligent cache called ARC
ZFS is completely ridiculous. It’s like someone actually sat down to design an intelligent filesystem instead of making a slightly improved version of what’s already out there.
…and that’s why Oracle fucked up the licensing on it. We are not allowed to have nice things.
Why though? AFAIK the CDDL totally allows us to have nice things. It’s similar to MPL and considered a free software license by the FSF. Sure it’s not GPL but it doesn’t disallow us from changing ZFS, using it, even commercially.
I don’t really understand why the linux community complains about the licencing. I’m sure openzfs overcame that. In the freebsd world it’s native on root straight out of the box
Yeah there’s no essential problems with it in itself as free open source software. Legally it doesn’t seem compatible with the Linux kernel source code, as in you can’t compile it into the kernel but it seems to be okay to load it as a binary module, prebuilt or built on demand.
Yet practically no distros support it out of the box
And on root? Can practically forget it
Sad
Well Ubuntu is the most popular distro and it supports it out of the box. It’s had experimental ZFS-on-root support since 2020. Unfortunately it needs more work to be to be promoted from experimental status. But yeah, I don’t know of any other diatros supporting it on root out of the box. Which is sad.
I didn’t mean the license. I meant, it was a “fuck you” from Oracle.
I feel your pain on the CDDL (although I think it is still considered a “free” license), and while I love to hate Oracle, I think the CDDL decision was originally Sun’s, even if Oracle could “free” it now to be GPL.
I don’t ‘love’ to ‘hate’ Oracle. For much of my career it seems like they’ve gone out of their way to make things more difficult than they need to be. If I had to calculate how much time fighting with their projects cost me (compared to everything else), they’d be at the head of the list (with one more zero at the left of the decimal point than Microsoft).
Well, encryption is very much not a strong point of zfs. I agree on all other points tho.
Actually native encryption has been a feature of ZFS for a few years now. It’s nice not having to have an extra LUKS layer.
Yeah, but it’s had some actual data corruption bugs related to sending encrypted snapshots (off the top of my head).
Not really bugs, the process for zfs send differs with encrypted snapshots. Make sure you consult the docs. Always test your backups to make sure you cloned properly
Holy xfs is probably not close to that?
XFS is simply a journalling filesystem.
ZFS is a COW filesystem and volume manager with compression, block management, and an adaptive read cache.
Kind of an apples-to-oranges comparison.
Technically XFS is also a CoW filesystem, but it doesn’t have the vast array of features that ZFS does like volume management, snapshots, send/recv etc. It does have reflink support which I guess is a kind of snapshot for a file.