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
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.
removed by mod
How well a file system recovers from crashes or corruption.
fall guys@Psyhackological
Work stations all run Ext4.
Main server: Ext4 on main partition, ZFS RAIDZ2 on the data.
Secondary server: BTRFS on main, BTRFS RAID1 on data.If BTRFS could natively encrypt and had stable RAID6, I’d be using it probably on everything.
I use ext4 for all boot drives and root filesystems. Anything really important goes on a ZFS array. And for my Linux isos, I use a drive with ext4 + snapraid. The parity drive has xfs because ext4 has a 16tb file size limit.
Got rid of anything NTFS as it was unreliable and slow on Linux.
Ext4 bc of its speed for games and my main files. Btrfs on the root for compression
deleted by creator
NTFS for the drive I had before jumping to Mint. Currently reporting several hundred gigabytes free, but refusing to make any new files, because… I don’t know. I’ll deal with it after an upcoming move.
The OS / home SSD is ext4, and so is the fat loud hard disk I recently purchased through an entire month of fighting Amazon over gift cards.
ZFS for my server’s root pool and main storage pool. Ext4 with snapraid for my media pool. Currently btrfs on my desktop and ext4 under vanillaos on my laptop (not sure if I could partition it manually to use btrfs but I’m considering that for snapshots)
Btrfs, ZFS and ext4. My servers use ZFS, my client machines mostly use btrfs and I have a sprinkling of ext4 partitions for specific workloads. I’m all in on CoW filesystems for snapshots, send receive, transparent compression and reflinks. I like btrfs on client machines and SBCs because it’s easily available (baked into the kernel) and doesn’t require maintaining dkms or holding kernel versions until ZFS supports them and because snapshot handling and other filesystem admin tasks are simple and straightforward. I run ZFS wherever data integrity is important, eg: storage servers and backup targets, but largely prefer working with btrfs.
I use BTRFS for the snapshot and subvolume tools.
It is pretty good but usability is a mixed bag. Always getting better by the month though, it feels like.
usability is a mixed bag
Could you please elaborate?
Just ext4 on my Linux things; I got scared away from btrfs because of some file loss horror stories
Tell me about those stories, maybe we can debunk or prevent them today.
Ext4 is prone to corruption as it doesn’t have much error detection. Whatever you do don’t lose power.
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.
I have had it get corrupted. This isn’t an issue on btrfs and zfs
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.
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.
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.
That’s sound fantastic! Interesting that you didn’t mentiona anything about snapshots. Have you had some isshes with BTRFS since then?
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.
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.
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.
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)
ext4 on all hard disks, but my installs are all several years old at this point, and I might choose differently if I were starting over from scratch. The boot partition on the ancient laptop might actually be ext2; I don’t remember and it’s certainly old enough that that might still have been preferred Gentoo procedure when I first set it up. Removable media might be ext3, ext4, or vfat, depending on compatibility needs and how long ago I formatted it. If I buy an SD card or USB stick that turns out to be preformatted in exFAT, I reformat it before use to ensure everything can read it.
They’re all solidly reliable filesystems (well, except for the vfat), but perhaps not the most featureful.
Yeah same here, everything is ext4 'cause it’s always worked and has never given me any troubles. But next time I have to reinstall I am tempted to give Btrfs a go.
ZFS for nearly everything plus ZFSBootMenu EFI on root data pools. Get a bad upgrade? No problem, boot a previous snapshot (auto created with a pacman hook), which I had to do recently when 6.6.39 LTS kernel had a bug. Snapshots are also great when doing things such as upgrading postgres, hass, Plex, etc.
I’ve been using ZFS now for a few years for all my data drives/pools but I haven’t gotten brave enough to boot from it yet. Snapshotting a system drive would be really handy.