You know, ZFS, ButterFS (btrfs…its actually “better” right?), and I’m sure more.

I think I have ext4 on my home computer I installed ubuntu on 5 years ago. How does the choice of file system play a role? Is that old hat now? Surely something like ext4 has its place.

I see a lot of talk around filesystems but Ive never found a great resource that distiguishes them at a level that assumes I dont know much. Can anyone give some insight on how file systems work and why these new filesystems, that appear to be highlights and selling points in most distros, are better than older ones?

Edit: and since we are talking about filesystems, it might be nice to describe or mention how concepts like RAID or LUKS are related.

  • rutrum@lm.paradisus.dayOP
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

    Perhaps I’m guilty of good luck, but is the trade off of performance for reliability worth it? How often is reliability a problem?

    As a different use case altogether, suppose I was setting up a NAS over a couple drives. Does choosing something with COW have anything to do with redundancy?

    Maybe my question is, are there applications where zfs/btrfs is more or less appropriate than ext4 or even FAT?

    • aksdb@feddit.de
      link
      fedilink
      arrow-up
      16
      arrow-down
      1
      ·
      11 months ago

      For fileservers ZFS (and by extension btrfs) have a clear advantage. The main thing is, that you can relatively easily extend and section off storage pools. For ext4 you would need LVM to somewhat achieve something similar, but it’s still not as mighty as what ZFS (and btrfs) offer out of the box.

      ZFS also has a lot of caching strategies specifically optimized for storage boxes. Means: it will eat your RAM, but become pretty fast. That’s not a trade-off you want on a desktop (or a multi purpose server), since you typically also need RAM for applications running. But on a NAS, that is completely fine. AFAIK TrueNAS defaults to ZFS. Synology uses btrfs by default. Proxmox runs on ZFS.

      • 4am@lemm.ee
        link
        fedilink
        arrow-up
        14
        arrow-down
        1
        ·
        11 months ago

        ZFS cache will mark itself as such, so if the kernel needs more RAM for applications it can just dump some of the ZFS cache and use whatever it needs.

        I see lots of threads on homelab where new users are like “HELP MY ZFS IS USING 100% MEMORY” and we have to talk them off that ledge: unused RAM is wasted RAM, ZFS is making sure you’re running fast AF.

        • aksdb@feddit.de
          link
          fedilink
          arrow-up
          7
          ·
          11 months ago

          ZFS cache will mark itself as such, so if the kernel needs more RAM for applications it can just dump some of the ZFS cache and use whatever it needs.

          In theory. Practically unless I limit the max ARC size, processes get OOM killed quite frequently here.

        • MonkderZweite@feddit.ch
          link
          fedilink
          arrow-up
          5
          arrow-down
          1
          ·
          edit-2
          11 months ago

          unused RAM is wasted RAM

          In theory. But how it is implemented in current systems, reserved memory can not be used by other processes and those other processes can not just ask the hog to give some space. Eventually, the hog gets OOM-killed or the system freezes.

        • Atemu
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          ZFS cache will mark itself as such

          It will absolutely not. ZFS ARC is accounted as “used” memory. See https://github.com/openzfs/zfs/issues/10255 for more info.

          IIRC ZFS hooks the kswapd to free ARC in order to relieve memory pressure but it’s still a tacked-on mechanism, not the regular kernel routine.

    • ReversalHatchery@beehaw.org
      link
      fedilink
      arrow-up
      3
      ·
      11 months ago

      are there applications where zfs/btrfs is more or less appropriate than ext4 or even FAT?

      Neither of them likes to deal with very low amounts of free space, so don’t use it on places where that is often a scarcity. ZFS gets really slow when free space is almost none, and nowadays I don’t know about BTRFS but a few years ago filling the partition caused data corruption there.