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
  • Avid Amoeba@lemmy.ca
    link
    fedilink
    arrow-up
    48
    ·
    edit-2
    1 month ago

    Ext4 and ZFS.

    • Ext4 for system disks because it’s default in OS installers and it works well. I typically use it on top of LVMRAID (LVM-managed mdraid) for redundancy and expansion flexibility.
    • ZFS for storage because it’s got data integrity verification, trivial setup, flexible redundancy topologies, free snapshots, blazing fast replication, easy expansion, incredible flexibility in separating data and performance tuning within the same filesystem. I’d be looking into setting up ZFS on root for my next machine. Among other things that would enable trivial and blazing fast backup of the system while it’s running - as simple as syncoid -r rpool backup-server:machine4-rpool.
    • pressanykeynow@lemmy.world
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      1 month ago

      I’d be looking into setting up ZFS on root for my next machine

      I too was on the path of adventure once but then the kernel module hasn’t been built after the upgrade. Also btrfs offers some nice features for root especially that zfs doesn’t have.

      • Avid Amoeba@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        It’s one of the reasons I use Ubuntu LTS, the ZFS module is bundled by default.

        Also btrfs offers some nice features for root especially that zfs doesn’t have.

        Oh? Elaborate pls.

        • pressanykeynow@lemmy.world
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          1 month ago

          You can boot straight into snapshot, may be useful if an update went wrong or you don’t like new kde.

          You can change drives and raid configuration online. For example I bought a laptop that had windows preinstalled, so I used the second half of the disk space for linux, then I figured I don’t need windows so I formatted windows partition to btrfs, added it as a new device, moved all the data there, deleted the old linux partition and extended the new one to the whole drive, all that easy and without reboot.

          • Avid Amoeba@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            1 month ago

            Oh nice. I think that all of those are possible with ZFS too. Although I’m pretty sure that the snapshot-boot is done outside of ZFS itself. As in, there’s something else that takes the snapshots and makes them available to the bootloader. I think zsys used to do that in the experimental ZFS-on-root support that shipped in Ubuntu 20.04. I recall having a snapshot appear before every update and those snapshots were selectable from GRUB.

  • greywolf0x1@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    1 month ago

    dual boot NixOS and FreeBSD on a single drive, ext4 on Nix and ZFS on FreeBSD. each partition has its own boot, swap and root, all encrypted

    btw, OP wrote that FAT32 is limited, isn’t it the default fs for the boot partition? can other fs like ext2/3 be used?

  • kittenroar@beehaw.org
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 month ago

    Just ext4 on my Linux things; I got scared away from btrfs because of some file loss horror stories

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      Ext4 is prone to corruption as it doesn’t have much error detection. Whatever you do don’t lose power.

      • thingsiplay@beehaw.org
        link
        fedilink
        arrow-up
        8
        ·
        1 month ago

        Ext4 is prone to corruption as it doesn’t have much error detection. Whatever you do don’t lose power.

        I use Ext4 since 20 years in all of my systems. And I had my fair share of power loses. It’s not a problem as you describe, because Ext4 is journaling. Ext4 is robust and one should not worry to lose data randomly.

        Quote from: https://www.pcmag.com/encyclopedia/term/journaling-file-system

        A file system that contains its own recovery capability in the event of a failure. In a journaling file system, the information about the changes is recorded in a separate log (the journal) before the indexes to the files are updated. If a power or other system failure corrupts the indexes as they are being rewritten, the operating system can use the log to repair them when the computer is restarted.

          • thingsiplay@beehaw.org
            link
            fedilink
            arrow-up
            1
            ·
            1 month ago

            I believe you and understand that Ext4 is not 100% fail proof. But my point is, its extremely rare that Ext4 would corrupt the filesystem or files, even in an event of power loss (depending on many factors off course). I use Linux as my main OS since 2008 and since then Ext4. And I do not have these problems. My point is, Ext4 is a good and reliable option for day to day usage on a desktop PC, without worrying to lose data.

            Also BTRFS isn’t stable for too long now and only a reliable option for a few years. Depending on the configuration, both filesystems can be a safe option to use. I agree that BTRFS has some benefits, including extended security over the data. I also plan on using it in the future. My only concern is, how you frame it and tell people how fragile Ext4 is, while it is not. Its a safe and good option for everyone, without the need for additional tools and special care like its needed with BTRFS.

            • Possibly linux@lemmy.zip
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              1 month ago

              Ext4 is a little fragile in my experience. It can get corrupted quickly when things go wrong. To be fair most hardware isn’t going to cause an issue and I have only had a issue a very small amount. However, when there is an issue fsck tends to fail as it has no way to check data integrity. The result is a completely broken system filled with corruption.

              Btrfs and ZFS are superior as they check the data as it goes across. (Especially ZFS) That isn’t to say ext4 is bad as I just find it is hard to recover data from if things go very south. The benefit of ext4 is that is very simple. It doesn’t have support for subvolumes, datasets or anything like that but it does just work.

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    11
    ·
    1 month ago

    Ext4 for everything when possible, because its reliable and proven. I’m looking towards Btrfs for my next system drive, as it is mature now and has good features. But I would use Ext4 for everything else still. For interoperability that doesn’t understand Ext4 it would be NTFS when supported, otherwise fallback to FAT32.

    That’s the entirety of my knowledge and what I use when I have to format it myself. :D

    • henfredemars@infosec.pub
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      I respect your reliable and proven comment. I really love the features of BTRFS and that’s why I use it, but I also really care about my data. I have secondary installations that use EXT4 and work very well.

  • PublicLewdness@lemmy.ml
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 month ago

    I use BTRFS on my Artix system, Ext4 on my Librem 5, Ext4 on my Devuan laptop and Ext4 on my Pinebook Pro. Basically when given the choice in the installer I choose BTRFS but if the installer doesn’t let me pick I don’t care enough to manually partition. I have had no negative experiences with any file system luckily so I just roll with whatever.

  • ChickenPasarán@piefed.social
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 month ago

    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.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      When you know LVM I think you can manage manual paritioning. :) Especially as btrfs is advertised with snapshots so trial and error is encouraged.

    • Empricorn@feddit.nl
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      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…

      • ChickenPasarán@piefed.social
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        Actually, I was using gparted yesterday! I was trying to format a USB drive to exFAT but the option was greyed out, so either gparted doesn’t have support for formatting in exFAT or I needed an optional dependency.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      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.

  • thejevans@lemmy.ml
    link
    fedilink
    arrow-up
    11
    ·
    1 month ago

    ZFS all the things. On my workstations, I wipe / on every boot except for the files that I specify, and I backup /home to my NAS on ZFS and I backup my NAS snapshots to Backblaze.

  • HarriPotero@lemmy.world
    link
    fedilink
    arrow-up
    12
    ·
    1 month ago

    Been running BTRFS since 2010. Ext2/3/4 before that.

    Using it for CoW, de-duplication, compression. My home file server has had a long-lived array of mis-matched devices. Started at 4x2TB, through 6x4TB and now 2x18+4TB. I just move up a size whenever a disk fails.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      That’s sound fantastic! Interesting that you didn’t mentiona anything about snapshots. Have you had some isshes with BTRFS since then?

      • HarriPotero@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        Well, snapshots, too. I just consider them to be a special case of de-duplication.

        I had an issue when I ran out of space during conversion between RAID profiles a few years back. I didn’t lose any data, but I couldn’t get the array to mount (and stay) read-write.

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      4
      ·
      1 month ago

      Btrfs isn’t stable in big configurations. The big issue is that resilvering takes a long time and hurts performance. ZFS is the right answer.

      • HarriPotero@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago

        Linus says no.

        I’m sure it’s great and all, but the hassle of having a filesystem that’s not in the kernel is a no-starter for me. Maybe one of those fancy NAS-distros that are based on some *BSD.

        • Possibly linux@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          1 month ago

          Linux works fine with ZFS. I wouldn’t use it as your boot device but for big storage it is very reliable and stable. It also can take advantage of ram with Arc and has optional special disks. (Metadata disk, slog and cache as an example)

  • I_like_cats@lemmy.one
    link
    fedilink
    arrow-up
    8
    ·
    1 month ago

    I am now all-in on bcachefs. I don’t like btrfs, cause you still sometimes read about people loosing their data. I know that might happen with bcachefs too since it’s early days still but fuck it. I like the risk.

    Filesystem level compression and encryption are so nice to have.

    • CeeBee_Eh@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      1 month ago

      I don’t like btrfs, cause you still sometimes read about people loosing their data.

      That was only on RAID setups. So if you have only a singular disk, as opposed to an array, you’re fine. And that issue has been fixed for a while now anyways.

      I’ve been running btrfs on my laptop’s root partition for well over a year now and it’s fine.

    • data1701d (He/Him)@startrek.website
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 month ago

      I get the feeling I’ll become a bcachefs fan for those reasons in the future (I tested it on a spare laptop as soon as 6.7 got into Debian Testing), but for now, I use a mix of ext4 and btrfs, as bcachefs-tools isn’t in Testing. It is trivial to apt-pin, but I try not to make FrankenDebian a regular thing. I have a feeling that they’ll iron it out and Bcachefs will be an option in Trixie by the tome it hits stable, if still with a /boot partition considering the slow state of Grub support.

  • ampersandcastles@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    My regular computer is ext4.

    I assume my raspberry pi is ext4, but I’ve never checked what DietPi runs as default. It works fine.

    My 720xd is ext4 on the OS drives, but the storage drives are ZFS with dual parity.