i’ve instaled opensuse tumbleweed a bunch of times in the last few years, but i always used ext4 instead of btrfs because of previous bad experiences with it nearly a decade ago. every time, with no exceptions, the partition would crap itself into an irrecoverable state
this time around i figured that, since so many years had passed since i last tried btrfs, the filesystem would be in a more reliable state, so i decided to try it again on a new opensuse installation. already, right after installation, os-prober failed to setup opensuse’s entry in grub, but maybe that’s on me, since my main system is debian (turns out the problem was due to btrfs snapshots)
anyway, after a little more than a week, the partition turned read-only in the middle of a large compilation and then, after i rebooted, the partition died and was irrecoverable. could be due to some bad block or read failure from the hdd (it is supposedly brand new, but i guess it could be busted), but removed like this never happens to me on extfs, even if the hdd is literally dying. also, i have an ext4 and an ufs partition in the same hdd without any issues.
even if we suppose this is the hardware’s fault and not btrfs’s, should a file system be a little bit more resilient than that? at this rate, i feel like a cosmic ray could set off a btrfs corruption. i hear people claim all the time how mature btrfs is and that it no longer makes sense to create new ext4 partitions, but either i’m extremely unlucky with btrfs or the system is in removeding perpetual beta state and it will never change because it is just good enough for companies who can just, in the case of a partition failure, can just quickly switch the old hdd for a new one and copy the nightly backup over to it
in any case, i am never going to touch btrfs ever again and i’m always going to advise people to choose ext4 instead of btrfs
I realize this is a rant but you coulda included hardware details.
I’m gonna contrast your experience with about 300 or so installs I did in the last couple of years, all on btrfs, 90% fedora, 9% ubuntu and the rest debian and mint and other stragglers, nothing but the cheapest and trashiest SSDs money can buy, the users are predominantly linux illiterate. I also run all my stuff (5 workstations and laptops) exclusively on btrfs and have so for 5+ years. not one of those manifested anything close to what you’re describing.
so I hope the people that get your recommendations also take into consideration your sample size.
I run btrfs on every hard drive that my Linux boxes use and there’s the occasional hiccup but I’ve never run into anything “unrecoverable.”
I will say that compared to extfs, where the files will just eat removed if there’s a write corruption, because btrfs tries to baby the data I think there appear to be more “filesystem” issues.
My system has been btrfs since 2017. No issues. Maybe you have random powerloss?
You know, protecting against Powerloss was the major feature of filesystems in a time gone by…
Yep, this entry explains about btrfs zfs and powerloss reovery, but that buggy hardware could mess with that system. https://unix.stackexchange.com/questions/340947/does-btrfs-guarantee-data-consistency-on-power-outages#520063
Maybe you have random powerloss?
who doesn’t? even if rarely, but it just happens
I lost data on Windows in 2010. Since them I have had a decent UPS. Cheap insurance
I am running BTRFS on multiple PCs and Laptops since about 8-10 years ago, and i had 2 incidents:
- Cheap SSD: BTRFS reported errors, half a year later the SSD failed and never worked again.
- Unstable RAM: BTRFS reported errors, i did a memtest and found RAM was unstable.
I am using BTRFS RAID0 since about 6 years. Even there, i had 0 issues. In all those years BTRFS snapshoting has saved me countless hours when i accidentially misconfigured a program or did a accidential rm -r ~/xyz.
For me the real risk in BTRFS comes from snapper, which takes snapshots even when the disk is almost full. This has resulted in multiple systems not booting because there was no space left. That’s why i prefer Timeshift for anything but my main PC.
Have you tested your RAM?
not sure what the relation would be. my ram is fine afaik
Typically when there are “can’t mount” issues with btrfs it’s cause the write log got corrupted, and memory errors are usually the cause.
BTRFS needs a clean write log to guarantee the state of the blocks to put the filesystem overlay on top of, so if it’s corrupted btrfs usually chooses to not mount until you do some manual remediations.
If the data verification stuff seems more of a pain in the ass than it’s worth you can turn most of those features off with mount options.
oh wow, that’s crazy. thanks for the info, but it’s a little removeded up that btrfs can make a memory failure cause a filesystem corruption
Not really. Even TrueNAS Core (ZFS) highly recommends ECC memory to mitigate this possibility from occurring. After reading more about filesystems in general and when money allowed, I took this advice as gospel when upgrading my server from junk I found laying around to a proper Supermicro ATX server mobo.
The difference I think is that BRTFS is more vulnerable to becoming unmountable whereas other filesystems have a better chance of still being mountable but contain missing or corrupted data. The latter usually being preferable.
For desktop use some people don’t recommend ZFS as if the right memory corruption conditions are met, it can eat your data as well. It’s why Linus Torvalds goes on a rant every now and then about how bullremoved it is that Intel normalized paywalling ECC memory to servers only.
I disagree and think the benefits of ZFS on a desktop without ECC outweigh a rare possibility that can be mitigated with backups.
Run memtest86+. I had similar issues and it was due to faulty RAM.
This is just telling me that my loyalty to FAT(32) is valid.
I’ve had btrfs go into an error state because of a bad write before, but it was pretty easy to recover from
My two cents: the only time I had an issue with Btrfs, it refused to mount without using a FS repair tool (and was fine afterwards, and I knew which files needed to be checked for possible corruption). When I had an issue with ext4, I didn’t know about it until I tried to access an old file and it was 0 bytes - a completely silent corruption I found out probably months after it actually happened.
Both filesystems failed, but one at least notified me about it, while the second just “pretended” everything was fine while it ate my data.
Sad to hear. I don’t know if it’s luck or something else.
I’ve been running Debian on btrfs on my laptop for 3 months without issue; I still use ext4 on my desktop, as I just went with defaults when I installed the operating system.
You’re right to give up on btrfs. It’s been so long in development and it just isn’t ready. Ext4 or ZFS are mature and excellent file systems. There’s no need for btrfs these days. It always has and always will disappoint.
Everyone singing the praises of it are the sysadmin equivalent of the software engineer yelling ‘it works on my machine’ when a user finds an issue.
I can’t comment on its server use cases or exotic workstation setups with RAID, NAS, etc. but I’ve been running Fedora on Btrfs for quite a few years now and I’ve had zero issues with it. Am I deliberately using all of its features like CoW, compression, snapshots…? No, but neither would your average Linux user who just wants something that works, like ext4.
I don’t miss ext4, Btrfs worked for me since day 1.
So, what you’re saying is, “it works on my machine”
Aren’t we all? Aren’t Ext4 and ZFS considered mature because so many people have said “it works on my machine”?
I agree this person’s experience may contrast to your own, but I don’t think the fact that something has worked well for some people, and perhaps not for yourself, is a reason to discount it entirely.
I’ve never heard anyone say ZFS broke, corrupted their data or failed in any way at all. With btrfs it’s a consistent complaint. And btrfs literally has modes of operation that are known to be broken. I could understand if it was a new file system, but it can almost drink in pubs.
And everyone else’s that uses Fedora?
I mean, unless you really like one of the weird bells and whistles btrfs supports ext4 is just faster and more reliable. If you don’t have weird power user needs then anything else is a downgrade. Even ZFS really only makes a significant difference if you’re moving around gigabytes of data on a daily basis. If you’re on a BSD anyway feel free to go for it, but for most people there is no real benefit. Every other fancy new file system is just worse for typical desktop use cases. People desperately want to replace ext4 because it’s old, but there’s just really nothing to gain from it. Sometimes simple and reliable is good.
being able to revert a failed upgrade by restoring a snapshot is not a power user need but a very basic feature for everyday users who do not want to debug every little problem that can go wrong, but just want to use their computer.
ext4 does not allow that.
You know file systems are not the only way to do that, right? Heck, Timeshift is explicitly designed to do that easily and automatically without ever even having to look at a command line. Backup before upgrade is a weird thing to cram into a file system.
Timeshift is explicitly designed to do that easily and automatically
by consuming much more space. but you’re right, I did not think about it
Backup before upgrade is a weird thing to cram into a file system.
I agree, but these are not really backups, but snapshots, which are stored more efficiently, without duplicating data. of course it does not replace an off site backup, but I think it has its use cases.
By using NixOS I can do this on ext4. Just reboot back to the previous image before the update. Not saying everyday users should be running nixos but there are other Immutable distros that can do the same.
will that also restore your data? what happens when a program updates its database structure with the update, and the old version you restore won’t understand it anymore?
That is a good point. I’ve only had to rollback twice and nether time had any issues. But from my understanding of how it works, you are correct, the data wouldn’t rollback.
I’ve learned this lesson with my Android phone a few years ago. There it was actually about sqlite databases of a system app (contacts I think?), but this can happen with other formats too. Worst is if it doesn’t just error out, but tries to work with “garbage”, because it’ll possibly take much more time to debug it, or even realize that your data is corrupt.
Copy on write, compression, and snapshots are really good whistles, though.
Copy on write is pretty overrated for most use cases. It’d be nice to have, but I don’t find it’s worth the bother. Disk compression and snapshots have had solutions for longer than btrfs has existed, so I don’t understand why I’d want to cram them into an otherwise worse file system and call it an improvement. I will admit that copy on write and snapshots do at least have a little synergy together, but storage has gotten to be one of the cheapest parts of a computer. I’d rather just have a real backup.
Myself and many others have found lots of use in these features. If it’s not important to you that’s fine, but there ARE reasons many of us default to btrfs now.
Sure, if it’s making your life easier or making you happy or whatever, then have it. Don’t let me yuck your yum. I just think it doesn’t provide any real benefit for most people. Am I not allowed to talk about my opinion?
Won’t say it… Won’t say it… ZFS!! Oops.
i’ve been meaning to try it, but i installed freebsd to an ufs partition instead of zfs because ufs was marked by default in the installer 🤦
It’s fantastic, IMO. Still use LUKS and software raid for root, but everything else is encrypted raidz.
what’s the point in using software raid? or do you mean the raidz setups of zfs?
Oh, I mirror my root drives. So:
- 2 drives with 3 partitions each (/boot, /root, swap)
- Root and boot are mirrored software RAID
- Root and swap are encrypted with LUKS
- Swap is big enough to hibernate to
- SSH server installed in init.d boot, so I can SSH in to enter thr LUKS password
- Storage drives in a RAIDZ with the encryption key stored on the root partition
- 2 drives with 3 partitions each (/boot, /root, swap)
Get on FreeBSD + ZFS
You can use Linux with zfs if you install open zfs.
you can, but from what i heard, maybe you shouldn’t, bc openzfs is much more unreliable than true zfs
OpenZFS is the zfs now. There is no difference.
Oh
Been using BTRFS since I learned I could squeeze more data on my cheap-ass drive and… It’s been 3 years, no problem at all, and I have backups anyway.
I literally daily drive btrfs. Just don’t use a crappy drive or use raid5/raid6.
deleted by creator