What file systems are you using on your devices and why?

https://lemmy.ml/post/18929658

What file systems are you using on your devices and why? - Lemmy

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

I tried exFAT for my USB stick but car sterio cannot read it.
Yeah that’s weird when I read about exFAT it seemed like same compability but no FAT32’s limitations but in practice that wasn’t the case.
ZFS, got 5 system with different zpools
On root?
Mine is
Manual setup?
I’m on freebsd, it’s the default out of box/installer
I do have 1 system with ZFS mirror boot drives
Did you use an installer to do it or manual setup?
Proxmox install on the zfs mirror boot plus some other pools, everything else is currently truenas single boot drive with pools
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.
Depends on the device and the use case, mostly FAT32, exFAT, NTFS, EXT4
ext4, but the btrfs activity visible in the kernel changelog has slowed down recently after a long period of many bug fixes, so maybe I'll give it a try next time.

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.

Ext4 is the only good FS so that’s what I use.
Many different file systems are successfully used in production on a large scale that aren’t EXT4.
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.

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.
Thank you little amoeba 🦠
biased random walk dance

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.

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.

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.

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.
Most of my drives are EXT4, but I started using BTRFS a couple years ago and will be using it on all new installs from now on. I really like being able to make snapshots and compression reduces the install size quite a bit.
Every photo copy machine I’ve come across that accept USB sticks do not support exFAT, so what I would do with my USB stick is to split it into two partitions, one FAT32 and the rest exFAT.

I wish I’d actually chosen a file system instead of just letting window’s at the time default to NTFS for external drives.

Moving from Windows to Debian; NTFS has been nothing but a headache. I’ve actually had to setup a windows machine to serve that drive pool via SAMBA as Linux just won’t play nicely with it.

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.

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.
Pretty much all ext4 except for a few Windows installs on NTFS.

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

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.

Random thoughts, no particular order

I think btrfs was the default the last time I installed Bazzite, but I don’t really know anything about it so I switched it to ext4. I understand the snapshot ability is nice with rolling release distros, though.

It’d been ages since I’d used FAT32 for anything until I made a Debian live USB when I was setting up my pi-hole on an old Core2Duo recently. It would only boot on FAT32 for reasons I probably once knew. 😆

NTFS was an improvement over the FATs what with the journaling, security, file streams, etc. I use it wherever I still use Windows (work).

Most of my general purpose USB flash drives use exFAT. I like not having to worry about eject/unmount.

NTFS feels rock solid if you use only Windows and extremely janky if you dual-boot. Linux currently can’t really fix NTFS volumes and thus won’t mount them if they’re inconsistent.

As it happens, they’re inconsistent all the time. I’ve had an NTFS volume become dirty after booting into Windows and then shutting down. Not a problem for Windows but Linux wouldn’t touch the volume until I’d booted into Windows at least once.

I finally decided to use a storage upgrade to move most drives to Btrfs save for the Windows system volume and a shared data partition that’s now on ExFAT because it’s good enough for it.

By default, windows does “Fast Boot” which doesn’t make booting any faster, but does have the benefit of leaving the volume in a mounted state when you shut it down.

Oh, right. Fast Boot. I forgot about that bundle of joy.

But that’s wasn’t the only instance of an NTFS volume suddenly being broken. Another favorite was when I shrunk a volume on one disk from Linux (and then remembered that Windows correspond done it better) and rebooted to have it fixed and Windows proceeded to repair one on a different disk.

Sure.

Bazzite defaults to btrfs and yeah this distro with rolling back changes is on another level.

Well you probably used it if you had any brand new USB as it’s the default. I’m trying to flash my USBs for now with exFAT or NTFS…

NTFS is like Windows - the necessity when nothing else will work.

Wait what. exFAT can make you not to worry about eject/umount?

I mainly started using exFAT on flash drives (even on new ones) since it is interoperable between Windows, Linux, and Intel Mac. To be clear, I never don’t unmount the drive properly under normal conditions, but I remember reading around the time it was introduced that the Windows implementation guaranteed the buffers were flushed after every write (meaning no unwritten data remains when the activity indicator on the drive stops blinking) but now I can’t find any evidence that was ever the case. Wouldn’t be the first time I got bad info from the Internet. 🤷‍♂️
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.

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
Xfs is solid Commenting b/c I’m disappointed no one else recommends
I use it in my work but ZFS seems interesting alternative.

I care a lot about filesystems.

BTRFS in FS-managed RAID configuration for automatic self-healing and snapshots for instant automated backups (though I keep a traditional backup too for protection against bugs and user error).

Storage is cheap compared to how much I value my data. BTRFS has very good support on Linux, integration with some backup tools, and I really want to use a FS that has full data checksums to make sure the data stays correct at rest. I like that I don’t have to use equal sized drives and can use whatever I have available, though I would appreciate a better read distribution model rather than the current number than where it just chooses a random drive to read from when multiple copies are available.

Disadvantages include difficulty accessing from Windows in my experience, less than stellar performance on HDDs, not very space efficient for small files systems because of the bulky metadata, and some uncommon RAID types don’t work correctly and will eat your data. I also don’t recommend it for use of USB because many such devices don’t correctly implement sync, and this is very important to stay on the correct transaction number and prevent file system inconsistencies. If I had to boot from USB, I wouldn’t pick BTRFS.

I don’t think exFAT or FAT32 offer POSIX permissions. I’m not sure if you could have a file system there.

|I care a lot about filesystems.

Damn bro, I didn’t think I was gonna cum in /linux

Have you seen/tried github.com/maharmstone/btrfs ?

I have heard it is decent but have never had a need to try it.

GitHub - maharmstone/btrfs: WinBtrfs - an open-source btrfs driver for Windows

WinBtrfs - an open-source btrfs driver for Windows - maharmstone/btrfs

GitHub
Yes I have and it caused file system corruption the two times I tried it. Something wasn’t quite right.
Good to know. I know a couple of people in the steam deck world who dual boot windows and steamos and have their games on a btrfs partition that use it so they don’t need games installed twice … I have no desire to do this so I have never tried.
It’s possible I was just unlucky, but data corruption makes it harder for me to sleep at night. I choose to be a little more conservative and consider that tool beta quality.
So, genuine question: why btrfs instead of zfs? Sounds like your use case would fit the latter.
BTRFS is zero effort on root, because it is included in kernel. ZFS on root is extra effort at least on Arch, due to licensing restrictions.
Additionally, at least for my use-case btrfs benefits me since it is less picky about drive sizes being the same and duplicating everything correctly - letting you essentially just throw additional storage at it as you acquire it.
Does ZFS handle data duplication on unequal sized volumes or heterogeneous pools? I don’t believe so, and BTRFS was a first class installer option.