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?
ZFS is more than just a filesystem, it’s a fully-integrated disk management system which replaces mdadm, LVM, LUKS, nfsd, rsync, as well as the filesystem. It’s great for NAS boxes and file servers, since you can give it a big pile o’ disks, and it slices and dices, and offers simple commands to create whatever volumes you need.
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.
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?
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
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.
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.
It’s kinda comparable in terms, but because both licenses have comparable copyleft “no rights may be removed and no terms added” restrictions they conflict and can’t be merged.
CDDL came after GPL, and I’m not convinced by the arguments for why it was used (to make some kind of development with commercial modules easier, but this could’ve been done with GPL + exceptions)
That license plus patents (which only are freely licensed to the CDDL implementation specifically) means you can’t just rewrite it for Linux either. You’d have to wait for the patents to expire and then do clean room reverse engineering.
Thanks, TIL. I always assumed the Open version originated on OpenBSD, and therefore licensed under a BSD license. So TrueNAS is technically violating the licenses by using it in their Linux based systems?
I don’t think that it’s like a patent where the holder has to defend it; Oracle can decide to go after a license violation if they want to.
I’d imagine that if a real competitor or someone with deeper pockets shipped it, they’d be hearing from the throngs of lawyers that oracle keeps on staff in short order.
I guess my point was that if Canonical did it and nothing came of it, and Canonical isn’t poor, probably nothing’s going to come of it. Proxmox has been shipping ZFS for years, as well as the BSDs. Not a peep.
To be pedantic, it’s trademarks you have to actively defend. With copyright and patents there’s different exceptions, but you can usually sue for at minimum expected license fees (although sometimes you give up the possibility to sue for willful infringement & additional damages if you wait)
ZFS: 🙂
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?
ZFS is more than just a filesystem, it’s a fully-integrated disk management system which replaces mdadm, LVM, LUKS, nfsd, rsync, as well as the filesystem. It’s great for NAS boxes and file servers, since you can give it a big pile o’ disks, and it slices and dices, and offers simple commands to create whatever volumes you need.
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?
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.
Absolutely
Any Linux filesystem will do that
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.
It’s kinda comparable in terms, but because both licenses have comparable copyleft “no rights may be removed and no terms added” restrictions they conflict and can’t be merged.
CDDL came after GPL, and I’m not convinced by the arguments for why it was used (to make some kind of development with commercial modules easier, but this could’ve been done with GPL + exceptions)
That license plus patents (which only are freely licensed to the CDDL implementation specifically) means you can’t just rewrite it for Linux either. You’d have to wait for the patents to expire and then do clean room reverse engineering.
Isn’t OpenZFS compatible though?
I believe the license isn’t, and would be next to impossible the change.
https://news.ycombinator.com/item?id=24269167
Oracle could change it if they wanted to. (They don’t care though)
Thanks, TIL. I always assumed the Open version originated on OpenBSD, and therefore licensed under a BSD license. So TrueNAS is technically violating the licenses by using it in their Linux based systems?
Oh Ubuntu even had an edition that defaulted to ZFS. The license violation ship has sailed.
I don’t think that it’s like a patent where the holder has to defend it; Oracle can decide to go after a license violation if they want to.
I’d imagine that if a real competitor or someone with deeper pockets shipped it, they’d be hearing from the throngs of lawyers that oracle keeps on staff in short order.
I guess my point was that if Canonical did it and nothing came of it, and Canonical isn’t poor, probably nothing’s going to come of it. Proxmox has been shipping ZFS for years, as well as the BSDs. Not a peep.
Yeah, the fact that ZFS is in Oracle’s hands is the real crime here. I miss Sun.
To be pedantic, it’s trademarks you have to actively defend. With copyright and patents there’s different exceptions, but you can usually sue for at minimum expected license fees (although sometimes you give up the possibility to sue for willful infringement & additional damages if you wait)
This is the way