What’s the problem with btrfs really?
It is nice but it also feels like it is perpetually unfinished. Is there some major flaw in the design?
I’ve seen ZFS in production use on pools with hundreds of TBs, clustered together into clusters of many PBs. The people running that don’t even think about BTRFS, and certainly won’t actively consider it for anything.
- BTRFS once had data corruption bugs. ZFS also had that, but only in very specific edge cases. That case was taken very seriously, but basically, ZFS has a reputation for not fucking up your bits even close to BTRFS
- ZFS was built and tested for use on large pools from the beginning, by Sun engineers from back when Sun was fucking amazing and not a pile of Oracle managed garbage. BTRFS still doesn’t have stable RAID5/6.
- ZFS send/recv is amazing for remote replication of large filesystems.
- DRAID is kind o the only sane thing to do with todays disk sizes, speeds and pool sizes.
But those are ancillary reasons. I’ll quote the big reason from the archwiki:
The RAID 5 and RAID 6 modes of Btrfs are fatally flawed, and should not be used for "anything but testing with throw-away data”.
For economic reasons, you need erasure coding for bigger pools, either classic RAID5/6 or DRAID. BTRFS will either melt your data in RAID5/6 or not support DRAID at all.
Mostly just the RAID5 and 6 instability, it’s fantastic otherwise. But I’m kinda excited to try out bcachefs pretty soon, as well.
So one should use ext4 for RAID 5&6?
Me too. (And when the author gets a chill pill)
ZFS: 🙂
I wish the licensing would be Linux compatible
Overall solid but BTRFS has the advantage of being Linux native in the way it works. Right now I wouldn’t use btrfs for a critical raid system but it is great for single disks.
But we have OpenZFS, which is under CDDL (=LGPL). So it’s fine.
Edit: I was wrong, see comment below.
CDDL is not LGPL and is GPL incompatible
How so?
https://www.gnu.org/licenses/license-list.en.html#CDDL
Canonical ships ZFS like Nvidia ships proprietary drivers, which seems to work (legally and technically) but it means the development of ZoL is a bit cumbersome and can never be integrated in the kernel development like other filesystems.
Isn’t OpenZFS compatible though?
I believe the license isn’t, and would be next to impossible the change.
Friends don’t let friends use filesystem level deduplication.
IDK what they mean by better ssd I/O performance, btrfs was the worst FS I tested for some heavy SSD workloads (like writing thousands of little pngs in short time, file searches, merging huge weights with some paging)…
The features are fantastic, especially for HDDs, but it’s an inherently high overhead FS.
ext4 was also bad. F2FS and XFS are great, and I’ve stuck with F2FS for now.
That surgeon general’s warning sent me into a giggle fit.
I can’t be the only one that reads BTFRS as butt farts
Notice the hard drive is a Southern Numeric branded Xavier Blue.
The CoW nature of Btrfs means it’s often slower than ext4 for common tasks, right? It also means more writes to your SSDs.
I’ve stuck to ext4 so far, as someone who doesn’t really have a need for snapshotting.
Edit: I’m not an expert on file systems in the least, so do chime in if these assumptions are incorrect.
Meh, ssds are basically cow by nature anyway, you have to erase large blocks, you can’t just rewrite into them.
But if the file system needs extra writes anyway for CoW, and the SSD needs its own CoW, then wouldn’t that end up being exponential writes? Or is there some mechanism which mitigates that?
The fs does cow then releases the old block if appropriate.
The ssd has a tracking map for all blocks, it’s cow relies on a block being overwritten to free the old block.
Basically it works out the same either way.
your data will have the same fate as that baby
I zoomed in to read what they’re saying on the bottom right and was disappointed.
What do you think they should be saying?
She: Btrfs snaps like a pro!
Him: Like a file system should!