1
What Filesystem? (lemmy.world)
submitted 1 year ago by cianmor@lemmy.world to c/linux@lemmy.ml

What filesystem is currently best for a single nvme drive with regard to performance read/write as well as stability/no file loss? ext4 seems very old, btrfs is used by RHEL, ZFS seems to be quite good... what do people tend to use nowadays? What is an arch users go-to filesystem?

all 34 comments
sorted by: hot top controversial new old
[-] lazynooblet@lazysoci.al 3 points 1 year ago

Ext4 being "old" shouldn't put you off. It is demonstratively robust with a clear history of structure integrity. It has immense popularity and a good set of recovery tools and documentation. These are exactly what you are looking for in a filesystem.

I'm not saying EXT4 is the best for your requirements, just that age of a file system is like fine wine.

[-] bionicjoey@lemmy.ca 1 points 1 year ago

Calling Ext4 "old" is like saying that MySQL isn't webscale

[-] Dubious_Fart@lemmy.ml 3 points 1 year ago

ext4 being old, and still being the main file system most distros use by default, should be enough alone to tell you being old isnt bad.

it means its battle tested, robust, stable, and safe. Otherwise it wouldnt be old and still be in widespread use.

[-] art@lemmy.world 1 points 1 year ago

This is exactly my outlook. Ext4 has proven itself as a robust and reliable file system.

[-] Ultra980@lemmy.world 2 points 1 year ago

ext4 is good enough.

[-] tony@lemmy.hoyle.me.uk 1 points 1 year ago* (last edited 1 year ago)

It really depends on your priorities. Single drive is good for a home system with nothing really important on it.. once you get to wanting to keep it and where recovery from backups is too much downtime, you want at least a drive mirror.. nothing wrong with exr4+mdraid for that, although you don't get the checksumming that zfs gives it will be pretty fast & if a drive fails you can run degraded on one drive until you get the new drive in.

I've been running zfs for 10 years and not lost a single byte of data even after doing stupid shit like tripping over the sata cables and disconnecting half the drives. It's survived multiple drive failures (as long as the failures are on different bits of the disk, it recover get a clean copy onto a third drive, but it's a brown trousers moment when stuff like that happens).

Downsides, it aint fast, and it does tend to like lots of memory. You want it on your fileserver, not your gaming system.

IMO there's no point in a single drive zfs.. it'll warn you faster that the drive is f*cked but what do you do then?

[-] Bread@sh.itjust.works 1 points 1 year ago

I agree. Love ZFS for the NAS, but for a single drive desktop system, it is almost pointless and in my experience slower for desktop usage. ZFS is great for what it was designed for.

[-] backhdlp@lemmy.blahaj.zone 1 points 1 year ago

ext4 works perfectly fine for me and most people.

[-] bjoern_tantau@swg-empire.de 1 points 1 year ago

If you're married stay away from ReiserFS.

[-] captain_samuel_brady@lemm.ee 2 points 1 year ago

It has been suggested by some that there is no relationship between Reiser murdering wives and ReiserFS murdering file systems, but most steer clear of both out of an abundance of caution.

[-] r00ty@kbin.life 0 points 1 year ago

Even now? I remember when it was new I tried it, must have been 20 or so years ago. Super fast for the time, but had a nack for randomly corrupting data. After the third reformat, I went back to ext2.

[-] jhulten@infosec.pub 0 points 1 year ago

Hans Reiser murdered his wife.

[-] r00ty@kbin.life 1 points 1 year ago

Oh. I did not know that! I thought it was some vague reference to losing entire weekends fixing the corrupt data.

[-] shirro@aussie.zone 1 points 1 year ago* (last edited 1 year ago)

Be conservative and use the simplest thing that supports your needs and don't be suckered by feature lists. I have never needed more than ext4. It generally has the best all round performance and maturity is never a bad thing when it comes to filesystems. It isn't most suitable for some embedded and enterprise environments and if you are working with those you generally know the various tradeoffs.

[-] kogasa@programming.dev 1 points 1 year ago

Been using BTRFS for all disks and purposes for a few years, I would recommend it with the requirement that you research it first. There are things you should know, like how/when to disable CoW, how to manage snapshots, how to measure filesystem use, and what the risks/purposes of the various btrfs operations are. If you know enough to avoid doing something bad with it, it's very unlikely to break on you.

[-] sxan@midwest.social 1 points 1 year ago

Huh. I just realized the problem with "don't use upvotes to show agreement." It means encouraging low-effort "me-too" posts.

I don't have much to add to your comment, just... me too.

[-] kogasa@programming.dev 1 points 1 year ago
[-] maeries@feddit.de 1 points 1 year ago

ITT 5 answers by 4 people

[-] NegativeLookBehind@kbin.social 1 points 1 year ago
[-] drwankingstein@lemmy.dbzer0.com 0 points 1 year ago* (last edited 1 year ago)

I still swear by F2FS, been super reliable and very good perf

[-] odium@programming.dev 0 points 1 year ago

btrfs is great for system stability because of snapshots. You can set it up to automatically make snapshots at a timed interval or every time you run pacman.

If something breaks, you can just revert to a previous snapshot. You can even do this from grub. It's a bit hard to set up, so if you want, you could use an arch based distro which automatically sets it up like GarudaOS.

[-] Nonononoki@lemmy.world 0 points 1 year ago

Too bad btrfs still doesn't support encryption natively, unlike ext4.

[-] AffineConnection@lemmy.world 0 points 1 year ago

How much is ext4 filesystem-level encryption actually used though?

[-] Nonononoki@lemmy.world 0 points 1 year ago

I guess not much on desktop Linux, but every Android phone uses it. Really wish every Linux desktop would start encrypting their /home partition by default, which is the standard by many other operating systems.

[-] fraenki@feddit.de 1 points 1 year ago

I'm pretty sure default Android runs almost always on F2FS.

[-] housepanther@lemmy.goblackcat.com -1 points 1 year ago

XFS is a possibility

[-] exi@feddit.de -1 points 1 year ago

If you are planning to have any kind of database with regular random writes, stay away from btrfs. It's roughly 4-5x slower than zfs and will slowly fragment itself to death.

I'm migrating a server from btrfs to zfs right now for this very reason. I have multiple large MySQL and SQLite tables on it and they have accumulated >100k file fragments each and have become abysmally slow. There are lots of benchmarks out there that show that zfs does not have this issue and even when both filesystems are clean, database performance is significantly higher on zfs.

If you don't want a COW filesystem, then XFS on LVM raid for databases or ext4 on LVM for everything else is probably fine.

[-] Laser@feddit.de 1 points 1 year ago

Did you disable CoW for your database with btrfs? E.g. for PostgreSQL, the Arch Wiki states:

If the database resides on a Btrfs file system, you should consider disabling Copy-on-Write for the directory before creating any database.

[-] exi@feddit.de -1 points 1 year ago

From arch wiki:

Disabling CoW in Btrfs also disables checksums. Btrfs will not be able to detect corrupted nodatacow files. When combined with RAID 1, power outages or other sources of corruption can cause the data to become out of sync.

No thanks

[-] DaPorkchop_@lemmy.ml 1 points 1 year ago

that's no different than any "normal" filesystem with a traditional block-level RAID solution

[-] exi@feddit.de -1 points 1 year ago

Not really. You can still use dm-verity for a normal raid and get checksumming and normal performance, which is better and faster than using btrfs.

But in any case, I'd recommend just going with zfs because it has all the features and is plenty fast.

this post was submitted on 20 Jul 2023
1 points (60.0% liked)

Linux

47362 readers
944 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