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
- delirious_owl ( @delirious_owl@discuss.online ) 37•1 month ago
Every year I buy a couple ~$5 USB drives and plug them into my jbod machine in a software raid1. At this point there’s about a hundred in long array of daisy chained USB hubs.
Each drive is formatted with fat32 and added to an LVM. Don’t judge my ghetto NAS.
- itslilith ( @itslilith@lemmy.blahaj.zone ) 11•1 month ago
Amazing shitpost
- slice ( @slice@feddit.org ) English5•1 month ago
I would love to see a complete post about this.
- The Doctor ( @drwho@beehaw.org ) English2•1 month ago
So would I. I’m really curious about how well it works.
- Avid Amoeba ( @avidamoeba@lemmy.ca ) 37•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
.
- Elise ( @xilliah@beehaw.org ) 11•1 month ago
Thank you little amoeba 🦠
- Avid Amoeba ( @avidamoeba@lemmy.ca ) 13•1 month ago
biased random walk dance
- delirious_owl ( @delirious_owl@discuss.online ) 19•1 month ago
ext4 because its the default and works fine
Never doubted it. Do you use journaling feature on it?
- billgamesh ( @billgamesh@lemmy.ml ) 5•1 month ago
I like ext4 because it’s easy. If anything breaks, ANY live USB can fix it. I use fat32 for my removeable drives, because anything can read it. I don’t use journalling for anything manually, but I imagine it’s useful when my disk crashes because I let my laptop die
- Empricorn ( @Empricorn@feddit.nl ) English4•1 month ago
Wasn’t that the entire purpose of ext4 vs ext3? As the default, I also keep journaling on for ext4 partitions. Even /boot.
- theroff ( @theroff@aussie.zone ) 2•1 month ago
ext3 had journaling, but not ext2. Also ext3 doesn’t really exist anymore as it was merged into the ext4 driver which can read the old format.
- ryannathans ( @ryannathans@aussie.zone ) 19•1 month ago
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
- Avid Amoeba ( @avidamoeba@lemmy.ca ) 10•1 month ago
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.
- The Doctor ( @drwho@beehaw.org ) English1•1 month ago
…and that’s why Oracle fucked up the licensing on it. We are not allowed to have nice things.
- Avid Amoeba ( @avidamoeba@lemmy.ca ) 3•1 month ago
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.
- ryannathans ( @ryannathans@aussie.zone ) 4•1 month ago
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
- Avid Amoeba ( @avidamoeba@lemmy.ca ) 2•1 month ago
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.
- ryannathans ( @ryannathans@aussie.zone ) 3•1 month ago
Yet practically no distros support it out of the box
And on root? Can practically forget it
Sad
- Avid Amoeba ( @avidamoeba@lemmy.ca ) 2•1 month ago
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.
- The Doctor ( @drwho@beehaw.org ) English1•1 month ago
I didn’t mean the license. I meant, it was a “fuck you” from Oracle.
- ghjones ( @ghjones@beehaw.org ) 2•1 month ago
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.
- The Doctor ( @drwho@beehaw.org ) English1•1 month ago
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).
Holy xfs is probably not close to that?
- youRFate ( @youRFate@feddit.org ) 1•1 month ago
Well, encryption is very much not a strong point of zfs. I agree on all other points tho.
- ScottE ( @ScottE@lemm.ee ) 3•1 month ago
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.
- ghjones ( @ghjones@beehaw.org ) 2•1 month ago
Yeah, but it’s had some actual data corruption bugs related to sending encrypted snapshots (off the top of my head).
- ryannathans ( @ryannathans@aussie.zone ) 1•1 month ago
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
- teawrecks ( @teawrecks@sopuli.xyz ) 17•1 month ago
Not only is there btrfs support for Windows, but since windows and linux root structures don’t conflict, someone got both arch and windows booting from the same partition. Is it a good idea? Hell no. But can it be done? Apparently yes.
- Ooops ( @Ooops@feddit.org ) 12•1 month ago
BTRFS raid on LUKS-encrypted devices (no LVM, all unlocked with one password via SystemD encrypt hooks).
Which RAID? I need to read about SystemD encrypt hooks because I know nothing. Also why not LVM? Is btrfs more flexible in partitioning when you want to extend it or shrink it? I heard that you can merge “partitions” on 2 different disks so they are visisble under one mount point.
- Ooops ( @Ooops@feddit.org ) 2•1 month ago
Btrfs can mostly fo everything you would normaly use LVN or raid for natively.
Btrfs raid0 lets you combine any number of differently sized drives into one (just without the speed boost of traditional raid0 because with flexible drive sizes data is not symmetrical striped). And btrfs raid1 keeps every data duplicated, again with flexible number and sizes of drive (also with metadata on every drive).
The sytemd hooks (instead of the traditional busybox ones) then manage the one other task you use LVM for: unlocking multiple partitons (for example multiple raid partitons and swap) with just one password. Because the systemd encrypt function tries unlooking all luks partitions it finds with the first password provided and only asks for passwords for each partition if that doesn’t work.
PS: btrfs subvolumes are already flexible in size and don’t need predefined sizes. So the only things that need to be created separately are non-btrfs stuff like the efi system partition or a physical swap (which you can also skip by using a swap file instead of a partition).
- thingsiplay ( @thingsiplay@beehaw.org ) 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 ( @henfredemars@infosec.pub ) English2•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.
- Gianni R ( @gianni@lemmy.ml ) English10•1 month ago
I’m pretty much all BTRFS at this point
Me too, but why in your case?
- Gianni R ( @gianni@lemmy.ml ) English2•1 month ago
Filesystem compression is dope.
- thejevans ( @thejevans@lemmy.ml ) 9•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.
- Dataprolet ( @dataprolet@lemmy.dbzer0.com ) English3•1 month ago
Why do you wipe your root dir?
- itslilith ( @itslilith@lemmy.blahaj.zone ) 3•1 month ago
Preventing unwanted state
If you install and then uninstall something, it will almost certainly leave logs, configurations and other garbage in places you don’t expect. Next time you want to use it, it isn’t the clean install you expected
- ryannathans ( @ryannathans@aussie.zone ) 1•1 month ago
apt purge is calling and would like a word
- anothermember ( @anothermember@lemmy.zip ) 9•1 month ago
Btrfs for everything these days, subvolume snapshots have been game-changing for me for doing backups.
Could you please elaborate on doing backups with btrfs?
- anothermember ( @anothermember@lemmy.zip ) 3•1 month ago
Sure, I pretty much use the method explained here for weekly backups: https://fedoramagazine.org/btrfs-snapshots-backup-incremental/
- kittenroar ( @kittenroar@beehaw.org ) English9•1 month ago
Just ext4 on my Linux things; I got scared away from btrfs because of some file loss horror stories
- Possibly linux ( @possiblylinux127@lemmy.zip ) English2•1 month ago
Ext4 is prone to corruption as it doesn’t have much error detection. Whatever you do don’t lose power.
- thingsiplay ( @thingsiplay@beehaw.org ) 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.
- Possibly linux ( @possiblylinux127@lemmy.zip ) English2•1 month ago
I have had it get corrupted. This isn’t an issue on btrfs and zfs
- thingsiplay ( @thingsiplay@beehaw.org ) 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 ( @possiblylinux127@lemmy.zip ) English1•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.
Tell me about those stories, maybe we can debunk or prevent them today.
- fossphi ( @fossphi@lemm.ee ) English9•1 month ago
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.
- henfredemars ( @henfredemars@infosec.pub ) English4•1 month ago
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.
- henfredemars ( @henfredemars@infosec.pub ) English9•1 month ago
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 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 over 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 root file system there.
- Telorand ( @Telorand@reddthat.com ) 2•1 month ago
So, genuine question: why btrfs instead of zfs? Sounds like your use case would fit the latter.
- Kualk ( @Kualk@lemm.ee ) 6•1 month ago
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.
- marty_relaxes ( @marty_relaxes@discuss.tchncs.de ) 1•1 month ago
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.
- henfredemars ( @henfredemars@infosec.pub ) English3•1 month ago
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.
- Dataprolet ( @dataprolet@lemmy.dbzer0.com ) English8•1 month ago
Btrfs, but I’m curious about ZFS.
Me too.
- lnxtx ( @lnxtx@feddit.nl ) English1•1 month ago
Btrfs’ grandperson.
It needs a time to fully understand all features and quirks.- ryannathans ( @ryannathans@aussie.zone ) 2•1 month ago
Yet surprisingly simple and easy to use
- MoogleMaestro ( @MoogleMaestro@lemmy.zip ) English7•1 month ago
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?