Just a simple question : Which file system do you recommend for Linux? Ext4…?
I’ve been very happy with btrfs. Ext4 is basically rock solid, so you can’t really go wrong with it, but btrfs has some nice features that ext4 doesn’t have, like snapshots. And it’s fast. I have an extremely cheap SSD that’s too slow to run anything with ext4, but actually usable with btrfs.
btrfs is objectively slower than ext4. It is CoW and maintains more complex metadata.
Only situations it wins is when lots of copies are made at once. Not a super common workflow compared to writes imo.
If you’re just doing a vanilla Linux install, ext4 is the way to go.
Upvoted. Not everyone wants to rely on backups and restore broken system every month like on BTRFS
We’re not in 2014 anymore.
File system is a core component of any electronic system. Even if it’s just 1% less stable than other ones, it’s still less stable. Maybe it’s faster in some cases and supports better backups but ehh idk if it’s worth it. Losing documents is something you probably want to avoid at all costs
Yeah, but it isn’t noticeably “less stable” if at all anymore* unless you mean stable as in “essentially in maintenance mode”, and clearly good enough for SLES to make it the default. Stop spreading outdated FUD and make backups regularly if you care about your documents (ext4 won’t save you from disk failure either which is probably the more likely scenario).
* not talking about the RAID 5/6 modes, but those are explicitly marked unstable
Well gtk if it’s really as stable as ext4. I will still stick to ext4 though because why change what already works well and tested on almost any machine you can possibly imagine?
I suppose by being more efficient, “using modern technology” (everything saving Google, Meta, Amazon etc. money and is thus extremely well funded, all server related stuff), is good for the environment.
If something runs faster on the same hardware, it may use less energy. It may also just be restricted in hardware usage, like not using multithreading.
Linux Distros shipping x86_64-v2 packages is a whole other problem…
I have an x86_64-v2 CPU so I highly disagree with your statements.
My short BTRFS history
- Installed on a 1TB NVME
- used for 2 years
- Rebased my system a ton, used rpm-ostree a ton (which uses BTRFS for the snapshots I think?)
- Physically broke the SSD by bending (lol used a silicon cooler pad but it bent it) which resulted in hardware crashes
- With
dd
barely managed to get all the data onto a 1TB SATA SSD dd
-ed the SATA SSD onto a 2TB NVME- deleted and restored the MBR, resized the BTRFS partition to max, resized the BTRFS filesystem to max, balanced it
Still works, never had a single failure
And LVM is more than good enough for occasional snapshots before a major upgrade.
What’s lvm like compared to btrfs?
Well lvm makes a shit filesystem and btrfs is useless at volume management.
LVM creates “block devices” and is FS agnostic. You can install btrfs on an LVM volume if you wanted. Or any other FS for that matter.
But since it doesn’t know anything about the FS it can be a bit more cumbersome to modify volumes (especially when shrinking).
I disagree. My partition is ext4, but Timeshift saved my ass when an upgrade went wrong. I just had to restore the system from a previous snapshot before the upgrade.
Of course updates can break stuff. What I don’t understand is why would you intentionally go for a less stable FS that can break and corrupt all files? It’s especially bad on old machines with limited space where full backups are not possible
If full backups aren’t possible that’s an administrator failure.
Reliance on a file system to never fail rather than have proper backups, is an administrator failure.
ANY system can, and will, fail. Thinking and behaving otherwise is an administrator failure.
“Everything gets gone, sooner or later” - being prepared for it is good administrator behaviour.
Yes but why intentionally choose a worse option? Sorry but it’s not very smart imo.
And not having enough space is not an administrator failure. It’s usually budget issue. And are you saying that making apps bloated (like severely bloated) is ok and the user should always be blamed for having lower hardware?
I never tested BTRFS on SSDs under 128GB or even HDDs, but never had a corrupted one.
Those anecdotes are worth little so it would be best to have current data.
One of the above points was that the claims are outdated, which would be really interesting to verify.
Like, making a study with many different parameters
- hdd, sata ssd, nvme ssd, emmc, etc.
- size: 50-200MB, 1GB, 16GB, 128GB, 500GB, 4TB (from small embedded, to IOT, to usb flash drive, to smartphone, to laptop, to Server/Backup)
- amount of usage: percentage filled, read/write per minute
- BTRFS actions: snapshots, balance, defragment
Are you talking about ext4 or BTRFS?
Updates can break stuff on any file system but BTRFS is known for worse stability, at least in the past
I’m running it for over 3 years as complete linux moron with no issues whatsoever. It was default in openSUSE and its automatic snapshot feature saved my ass multiple times. I’ve heard everyone saying ext4 is super stable and I should use it, but I went with default and can’t complain.
Good that you mentioned that. Reminded me that I have an Arch Linux install here where I forgot that I did choose BTRFS during installation. Within maybe a month I noticed FS errors. Looked scary. Nervously searching for documentation was even more scary :
https://wiki.archlinux.org/title/btrfs#btrfs_check ->
This article or section is out of date.
(Discuss in Talk:Btrfs) Warning: Since Btrfs is under heavy development, especially the btrfs check command, it is highly recommended to create a backup and consult btrfs-check(8) before executing btrfs check with the --repair switch.What is this? My beloved Arch Wiki is not 100% perfect!
Then found this :
WARNING: Using ‘–repair’ can further damage a filesystem instead of helping if it can’t fix your particular issue.
Do not use --repair unless you are advised to do so by a developer or an experienced user, and then only after having accepted that no fsck successfully repair all types of filesystem corruption. E.g. some other software or hardware bugs can fatally damage a volume.
I figure this explains the popularity of BTRFS snapshot configurations. Luckily I had some backups :)
Filesystem snapshots won’t help, if the filesystem itself corrupts. But I’ve been using BTRFS for 6 years now and haven’t had a file system corruption, so mileage may obviously vary.
I would recommend using btrfs on SSDs and ext4 on hard drives.
Ok but please explain subvolumes, the information has failed to latch onto my brain
Subvolumes are somewhat like a partition, but they don’t have fixed size. What they allow you to do is take snapshots. Snapshots are used to backup and restore the subvolume. They can be created instantly and don’t take up any space until something is changed.
If I’m trying to install Linux with BTRFS, and it doesn’t work, what are some of the most likely mistakes I’ve made?
What distro? Some installers will set everything up for you and others you have to setup subvolumes manually.
Ext4 on hard drives? Btrfs would be better for both.
As someone who ran BTRFS for years, I’m personally switching back to EXT4. Yes, the compression and other features are nice, but when things go wrong and you have to do a recovery, it’s not worth the complexity
Care to explain?
When booting into a live CD, mounting the various subpartitions is super annoying.
When your disk space hits full, things break uncontrollably because different programs don’t have a consistent measurement of how much space is left.
When shrinking partitions, you can lose data if you shrink it too much. I’m not talking about forced overrides of any configs, I’m talking about things like KDE Partition Manager.
All of these things can be excused one way or another, but at the end of the day I just want a stable filesystem that doesn’t lose my docs.
Ah yes, the free space calculation stuff is still a mess.
Overall, I’ve been daily-driving btrfs on some system and it’s been treating me well. But yeah, they still got a long way to go.
I’ve found it much easier and way more reliable. If I pull out the power on ext4 it is likely to cause corruption and sometimes you can’t fix it.
Btrfs is pretty much impossible to completely corrupt. I’ve had drives fail and I didn’t lose anything
Lemme say this - While complex, I can vouch for recovering files on BTRFS. I can’t vouch for recovering files on ext4, because I never had to.
How about bcachefs. I’m waiting for it to support swapfiles, which seems to be in the TODO list, but so far doesn’t work. If you use swap partition[s], or prefer not to have swap at all (I never fell for this, and besides swap is required for hibernation if that’s a thing for you), then bcachefs is ready for you. It’s already part of linux since 6.7, and on Artix, current linux is 6.8.9…
To me is the FS to use. I’m still on luks + ext4 (no LVM) and do entire home backups with plain rsync to an external device. I’d have to learn new stuff, since ext4 is really basic and easy to configure if in need, but I think bcachefs is worth it, and as mentioned, just waiting for it to support swapfiles, :)
Thank you for sharing this. I didn’t know this FS yet. It seems new and have some nice goals. I always have a grudge against zfs/btrfs because of the resource usage/performance.
I’ll keep an eye on this. I’d love to find some benchmarks.
I always go LVM + BTRFS these days. I simply love the versatility.
I’m curious, why do you use LVM with BTRFS and not just use BTRFS built in subvolumes?
Because I’m stupid and like to run my partitions across multiple drives. 😅
No love for bcachefs?
Don’t use it quite yet
Why not? It seems to be working fine.
Chill. That thing just hit the mainline.
Thank you brave pioneers. I just felt confident to switch to btrfs last year.
Uff, somehow missed your post. See mine. That’s the FS I’m hoping to use next. I’m waiting for it to support swapfile, or alternatively read from official sources they won’t ever support it, :). But yes, that’s the one I’m looking forward to use.
I used ext4 for yeeeeaaaarrssss but now I’m using LUKS+btrfs, stable, encrypted.
Btrfs. Just format as one big partition (besides that little EFI partition of course) and don’t worry about splitting up your disk into root and home. Put home on its own subvolume so that root can be rolled back separately from it. You can have automatic snapshots, low-overhead compression, deduplication, incremental backups. Any filesystem can fsck its own metadata, but btrfs is one of the few that also cares if your data is also intact.
It cares so much that when it goes wrong you can’t even mount the partitions as readonly to try get your data back. It will stubbornly hold on to it and refuse any access at all. Boy I am so glad it didn’t let me access a potentially corrupted byte somewhere!
Btrfs or XFS.
No idea why people are into EXT4. XFS is more performant by far.
XFS is good but dated
I agree that’s why most of my systems run btrfs. (Maybe soon bcachefs).
But XFS is in the same tier of “datedness” as EXT4, just with more performance. Some apps like ScyllaDB actually require XFS performance crazily enough.
ext4 for system partitions and zfs for anything dedicated to personal data storage.
I love zfs. Started using it for my data storage pool and now I have it on root as well. It has some rough edges but overall it is very stable and has amazing features.
I have 3 drives in my pc. I have btrfs for root so I can do my snapshots, and the rest are on ext4. I’ve heard very good things about xfs, too, but I’m more familiar with btrfs and ext4
I’ve got a similar setup, but my non-root SSDs are F2FS.
How’s F2FS been treating you? I’ve been wanting to get into that. Also, why not for your rootfs?
For standard use, ext4. If you want to tinker and use fancy features, btrfs (or maybe zfs?).
XFS. It fills the same role as ext4 but it’s less likely to lose your data and that’s probably the most important part of a file system. Not that ext4 is bad or anything, but XFS is good. The only downside to XFS is you can’t shrink the filesystem size.