A year ago I set up Ubuntu server with 3 ZFS pools on my server, normally I don’t make copies of very large files but today I was making a copy of a ~30GB directory and I saw in rsync that the transfer doesn’t exceed 3mb/s (cp is also very slow).
What is the best file system that “just works”? I’m thinking of migrating everything to ext4
EDIT: I really like the automatic pool recovery feature in ZFS, has saved me from 1 hard drive failure so far
Ext4 does not have snapshots, COW or similar features. I am very happy with BTRFS. It just “works” out of the box.
Yes and BTRFS, unlike Ext4, will not go corrupt on the first power outage of slight hardware failure.
This will also happen to Ext4. You just wouldn’t know it.
I’m confused with your answer. BTRFS is good and reliable. Ext4 gets fucked at the slightest issue.
Yes both BTRFS and Ext4 are vulnerable to unplanned powerloss when writes are in flight. Commonly knows as a write hole.
For BTRFS since it use of Copy of Write, it is more vulnerable. As metadata needs to be updated and more. Ext4 does not have CoW.
That’s the only true part of this comment.
As for everything else:
Ext4 uses journaling to ensure consistency.
btrfs’ CoW makes it resistant to that issue by its nature; writes go elsewhere anyways, so you can delay the “commit” until everything is truly written and only then update the metadata (using a similar scheme again).
Please read https://en.wikipedia.org/wiki/Journaling_file_system.
BTRFS is currently not Journaling
https://lore.kernel.org/linux-btrfs/20220513113826.GV18596@twin.jikos.cz/T/#m46f1e018485e6cb2ed42602defee5963ed8c2789
Qu Wenruo did a write up on some of the edge cases. Partial write being one of them.
What you just posted concerns the experimental RAID5/6 mode which, unlike all other block group modes, did not have CoW’s inherent safety.
As it stands, there is no stable RAID5/6 support in btrfs. If we’re talking about non-experimental usage of btrfs, it is irrelevant.
ZFS will perform better on a NAS
FWIW lvm can give you snapshots and other features. And mdadm can be used for a raid. All very robust tools.
Yes but BTRFS can this out of the box without extra tools. Both ways have their own advantage, but I would still prefer BTRFS
I’m in BTRFS, and wish I wasn’t.
Booting into a failed mdadm RAID1 is normal,
whereas booting into a failed BTRFS RAID1 requires competent manual intervention, and special parameters given to the boot-kernel.
mdadm & lvm, with a fixed version of ZFS would be my preference.
ZFS recently had a bug discovered that was silently corrupting data, and I HOPE a fix has been got in.
Lemme see if I can find something on both of these points…
https://linuxnatives.net/2015/using-raid-btrfs-recovering-broken-disks
https://www.theregister.com/2023/11/27/openzfs_2_2_0_data_corruption/
_ /\ _
I use BTRFS on everything too nowadays. The thing that made me switch everything to BTRFS was filesystem compression.