I zoomed in to read what they’re saying on the bottom right and was disappointed.
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.
Oh dear, I didn’t know that. Thanks for the info. I genuinely wish that people would stop using these pushover licenses. I thought it was like the LGPL, but sadly it isn’t. At least the base remains free though.
Isn’t OpenZFS compatible though?
As someone who uses btrfs mostly (sometimes ext4, but I don’t really know why…), can someone explain the benefits of ZFS over the previous two I mentioned?
The two biggest benefits are that it’s basically a finished implementation of btrfs (see data corruption in large pools and raid 5 and 6), as well as being able to encrypt and compress at the same time.
Plus, and I don’t know if this is a ZFS-specific thing, being able to group disks into VDevs and not just into one big raid.
Tbf, the one thing I find nice, at least for home users, is the ability to throw JBOD and it makes it all work. Less cumbersome for newcomers. Zfs needs disks of the same size or it will only group disks into a vdev and use the smallest of the disks for capacity.
That said, I run zfs and no btrfs anywhere. Had high hopes for bcachefs but… That’s not going particularly well.
Different tools, different jobs. On my computer I also use btrfs, but on the family archive server ZFS (TrueNAS Scale). Right tool for the right job.
Thanks for the info. Does ZFS allow for easy snapshotting like btrfs? Or like the stuff in the backend that allows you to do things like, say, edit a filename while the file is open?
edit a filename while the file is open?
that should work on all filesystems on linux, shouldn’t it? linux keeps file handles by inode number, not filename. this is also the reason system updates can happen while everything is running, because replacing the open files is possible too, and the processes that opened it earlier keep seeing the old version of it
Snapshots like btrfs, yes. But I think every copy-on-write system can do that. But I don’t know about the rest.
Does ZFS allow for easy snapshotting like btrfs?
Absolutely
edit a filename while the file is open
Any Linux filesystem will do that
I can’t be the only one that reads BTFRS as butt farts
And here I thought it was “butt first”.
Wtf lol
Still no built-in encryption support :(
What are the benefits of built-in encryption versus LUKS ?
LUKS encrypts the whole drive, native FS encryption can encrypt it partially (e.g. just the home partition). Additionally, decrypting without a keyboard is a pain or impossible (e.g. touch screen only devices).
PostmarkedOS was able to encrypt disk while offering on screen touch keyboard to unlock it on my pinePhone “pro”.
I’m the furthest thing from an expert in linux encryption, but can you not use KDE’s “Vaults” feature to create encrypted folders/drives? I think it uses “CryFS” as the backend (according to KDE. Don’t really know enough about it).
I’ve used them on my btrfs drive and seemed to work fine.
If the home/root partition is a physical or logical volume you most certainly can leave that decrypted while encrypting other volumes. The system could not boot if that were the case as the efi partition cannot be encrypted.
That surgeon general’s warning sent me into a giggle fit.
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.
idk man I just wanted to make a funny meme I’ve never run benchmarks myself and I just use btrfs for the features
Oh cool! Share the funny meme when it’s done.
(just pulling your leg. ^^)
Brutal lol
Yeah I meant no harm :P
Yeah none taken ;)
Really? I’ve found that btrfs is generally more performant than XFS
Yeah, it’s like night and day. btrfs and ext4 clog up and stall on the PNG workload, it’s why I switched in the first place.
This is on a PCIe ssd though. On an HDD or maybe a big SATA drive, features probably win out over the overhead.
Hot format. Invest invest INVEST
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?
Mostly just the RAID5 and 6 instability, it’s fantastic otherwise. But I’m kinda excited to try out bcachefs pretty soon, as well.
Me too. (And when the author gets a chill pill)
Isn’t bcachefs in danger of being removed from the kernel?
Just gotta hope Kent gets his pull requests there in time lol
The Linux kernel uses mailing lists so technically it is called a patch.
I think the biggest issue was that Kent had/has a attitude problem. It feels weird to pick a fight with Torvalds since he is kind of known for destroying devs but Kent did it anyway.
So one should use ext4 for RAID 5&6?
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.
Friends don’t let friends use filesystem level deduplication.
Why?
It’s just too slow and memory consuming. Leave it for backup solutions like Borg.
What BTRFS stand for? (Wrong answers only)
Bro The RAID Fuckin Sucks
Breast, Thighs, and Ribs For Supper
Buttered Toast and Recursive Folder Shenanigans
BlueTooth Rams Family Sister
Better FS
Unfortunately, no. FOSS devs are notoriously known for picking bad names for their projects and BTRFS is no exception. The official name is Butter FS, likely because it’s supposed to make your experience smooth, yet anyone who tried to use its RAID5/6 implementations can tell you that it’s furthest from the truth.
its very truthful though. butter melts easily, like your data in RAID5/6 mode
Who needs RAID when you have mergerfs
mergerfs in the kernel would be cool for better performance.
for those that don’t know, it’s a FUSE based filesystem, which is also cool, but can be slow at times.
Weirdly enough because of the way mergerfs does writes across multiple drives, the main issue that FUSE filesystems face performance wise (namely writing a bunch of small files and their metadata) actually gets pretty well mitigated.
How about lvmvdo
Oh thanks for this.
what’s the advantage of raid 5&6 over something like raid 4&5 - it reads essentially the same to me - a parity redundancy.
6 is preferable over 5 because with today’s disk sizes, swapping in a new drive and resilvering it (full disk write basically in terms of amount of data) takes so long that statistically you might just encounter a second failure during that, which for raid 5 would mean complete failure of the array.
Of course, that’s just an uptime issue, since raid is not backup.
4 is bad because parity is on one drive so no matter what happens that drive is the write bottleneck. Raid5 is basically raid4 + raid0.
5 is just fine but low safety, I run 6 always and it has basically never let me down.
As someone who uses openSUSE, this is great I love it.