this post was submitted on 08 Aug 2024
165 points (97.1% liked)

Linux

48008 readers
1363 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 76 points 2 months ago (2 children)

Ext4 cause that's the default and I'm lazy.

[–] [email protected] 10 points 2 months ago (2 children)

That's a valid reason too. However sometimes btrfs has become the default ;)

load more comments (2 replies)
[–] [email protected] 8 points 2 months ago
[–] [email protected] 48 points 2 months ago* (last edited 2 months ago) (5 children)

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.
[–] [email protected] 11 points 2 months ago (1 children)

Thank you little amoeba 🦠

[–] [email protected] 13 points 2 months ago

biased random walk dance

load more comments (4 replies)
[–] [email protected] 47 points 2 months ago* (last edited 2 months ago) (4 children)

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.

[–] [email protected] 16 points 2 months ago

Amazing shitpost

[–] [email protected] 6 points 2 months ago (1 children)
[–] [email protected] 12 points 2 months ago* (last edited 2 months ago) (1 children)

Roughly the same speed of my dick slicing through frozen butter at the North Pole on January 1st, 1993

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 27 points 2 months ago* (last edited 2 months 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.

[–] [email protected] 27 points 2 months ago (4 children)

ext4 because its the default and works fine

load more comments (4 replies)
[–] ryannathans 26 points 2 months ago (8 children)

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

[–] [email protected] 13 points 2 months ago (9 children)

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.

load more comments (9 replies)
load more comments (7 replies)
[–] [email protected] 22 points 2 months ago (9 children)

ZFS, got 5 system with different zpools

load more comments (9 replies)
[–] [email protected] 19 points 2 months ago (1 children)
load more comments (1 replies)
[–] [email protected] 19 points 2 months ago (2 children)

Google cloud storage, copilot my files with Microsoft, crowdstrike running in background for better security.

[–] [email protected] 14 points 2 months ago

Apple chastity cage to prevent me from being tempted by Linux. /s

load more comments (1 replies)
[–] [email protected] 18 points 2 months ago (2 children)

BTRFS raid on LUKS-encrypted devices (no LVM, all unlocked with one password via SystemD encrypt hooks).

load more comments (2 replies)
[–] [email protected] 15 points 2 months ago (4 children)

ZFS on anything storage related. Enterprise level snapshot and replica management.

load more comments (4 replies)
[–] [email protected] 14 points 2 months ago (2 children)

Btrfs for everything these days, subvolume snapshots have been game-changing for me for doing backups.

load more comments (2 replies)
[–] [email protected] 12 points 2 months ago (2 children)

I'm pretty much all BTRFS at this point

load more comments (2 replies)
[–] [email protected] 12 points 2 months ago (5 children)

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.

load more comments (5 replies)
[–] [email protected] 11 points 2 months ago* (last edited 2 months ago) (2 children)

Edit: reasons added in because I can't read the post title

  • OpenBSD laptop: ffs2, vfat for efi system partition
    • Why: Contrary to popular belief, OpenBSD does not support zfs. The only other filesystem options are msdos (fat family), and ext2fs (mostly for Linux compatibility as far as I can tell, filesystem is experimental and lacks a bunch of features according to the manpage). Makes ffs2 the only sane option.
  • OpenBSD vps: ffs2
    • Why: See above.
  • Pinephone running PmOS: ext2 boot partition, ext4 root partition
    • Why: Defaults.
  • Void Linux VM: ext2
    • Why: I prefer not having journaling on flash memory. This hasn't bitten me in the ass too hard yet, and even when it does I can usually get around system files being lost with integrity tools. Maybe I'll dabble with f2fs some day, but I'll need to read about its features and shortcomings compared to ext2.
  • Alpine Linux VM: ext4
    • Why: Would have installed as ext2 as well, but I forgot
  • Steam Deck: ??? (too lazy to check, 9/10 chance it's ext4)
[–] [email protected] 7 points 2 months ago (1 children)

Yes the Steam deck FS is ext4.

Why ext2 on Void?

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 11 points 2 months ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 11 points 2 months ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 10 points 2 months ago* (last edited 2 months ago) (9 children)

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.

load more comments (9 replies)
[–] [email protected] 10 points 2 months ago (2 children)

Btrfs in a luks container so it's encrypted.

load more comments (2 replies)
[–] [email protected] 10 points 2 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 10 points 2 months ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 10 points 2 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 9 points 2 months ago (2 children)

Btrfs snapshots have saved my ass a few times with bad updates.

load more comments (2 replies)
[–] [email protected] 9 points 2 months ago (9 children)

Honestly I saw btrfs in the arch install guide and read about it because I thought the name sounded funny. I used it until I distro hopped to NixOS couldn't figure out how to install it with btrfs, so I'm back on ext4.

Maybe I'll give it another try next hop, which is likely soon since Qt theming seems impossible on Nix. :/

load more comments (9 replies)
[–] [email protected] 9 points 2 months ago (6 children)

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

load more comments (6 replies)
[–] [email protected] 8 points 2 months ago (3 children)

Btrfs, but I'm curious about ZFS.

load more comments (3 replies)
[–] [email protected] 8 points 2 months ago (4 children)

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.

load more comments (4 replies)
[–] [email protected] 7 points 2 months ago (11 children)

NTFS support is pretty solid on Linux these days, but just so you know, never use it as a root partition.

I have generally used ext4. There's ways to massage it to mount on Windows, as with btrfs. Ext4 is very likely what you should do if you're installing Linux for the first time, as it has had decades of testing and is rather battle-tested

I recently did my first btrfs install. For now, I've had no issues. Of course, some could happen, but I've generally heard btrfs is fine these days. One of its cool things is native compression support, although I forgot to enable it when I did that install.

I've never used XFS.

FAT32 should be rarely used these days due to file size limits and file name limits. The only place where it should still be used is for your EFI partition.

Now exFAT really isn't that unrecognizable. It's supported by pretty much every operating system these days. It's definitely not for root partitions, but should be your default for flash drives and portable hard drives.

On another note, I recently tried Bcachefs on Debian Testing on a random old Chromebook. It is still in development, and not all distros support it yet, but I liked what I saw from my limited experience. It also supports snapshots, and unlike btrfs, has native encryption. For now, just ignore it, but like many in this post have said, keep an eye out for it.

As for ZFS, I've never tried it. The main caveat is due to licensing incompatibility, it is not in the standard Linux kernel and you have to do some special stuff.

load more comments (11 replies)
[–] [email protected] 7 points 2 months ago* (last edited 2 months ago)

ExFAT is the LCD filesystem for flash sticks. FAT32 is the filesystem that you have to use for devices designed back when Microsoft was awful about Exfat licensing.

Everywhere else, Btrfs. If Oracle didn't poison-pill ZFS licensing and it was common on Linux, I would be using that instead. Basically, taking it on faith that a drive didn't fuck up your data is crazy. The most basic responsibility for a filesystem should be ensuring that "the files come out exactly the same as when they went in".

[–] [email protected] 7 points 2 months ago (2 children)

ZFS on TrueNAS SCALE (enables RAID-like functionality, along with many other features).

Ext4 or NTFS on everything else, simply because it's default and I don't use any advanced features.

load more comments (2 replies)
[–] [email protected] 7 points 2 months 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.

[–] [email protected] 7 points 2 months ago (2 children)

Btrfs, because I’ve heard good things.

load more comments (2 replies)
[–] nickiam2 6 points 2 months ago

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.

[–] [email protected] 6 points 2 months ago (3 children)

Btrfs cause I'm limited on storage rn. So the compression saves me good amount of space.

load more comments (3 replies)
[–] [email protected] 6 points 2 months ago

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.

[–] [email protected] 6 points 2 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 6 points 2 months ago* (last edited 2 months ago)
  • Btrfs on my laptop with openSUSE, mainly because it's default, but also for its snapshot capabilities.

  • Whatever file system my default Raspberry Pi installation uses (probably Ext4).

  • NTFS on my main computer With Windows 10, because... well... I don't really have any other choice, although I know there's some kind of 3rd party Btrfs driver for Windows as well and you can ever have boot partition formatted as Btrfs, but I think it's still experimental.

[–] [email protected] 6 points 2 months ago

@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.

load more comments
view more: next ›