> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss- > boun...@opensolaris.org] On Behalf Of Harry Putnam > > As a common slob who isn't very skilled, I like to see some commentary > from some of the pros here as to any comparison of zfs against btrfs.
I recently put my first btrfs system into production. Here are the similarities/differences I noticed different between btrfs and zfs: Differences: * Obviously, one is meant for linux and the other solaris (etc) * In btrfs, there is only raid1. They don't have raid5, 6, etc yet. * In btrfs, snapshots are read-write. Cannot be made read-only without quotas, which aren't implemented yet. * zfs supports quotas. Also, by default creates snapshots read-only but could be made read-write by cloning. * In btrfs, there is no equivalent or alternative to "zfs send | zfs receive" * In zfs, you have the hidden ".zfs" subdir that contains your snapshots. * In btrfs, your snapshots need to be mounted somewhere, inside the same filesystem. So in btrfs, you do something like this... Create a filesystem, then create a subvol called "@" and use it to store all your work. Later when you create snapshots, you essentially duplicate that subvol "@2011-10-18-07-40-00" or something. * btrfs is able to shrink. zfs is not able to shrink. * btrfs is able to defrag. zfs doesn't have defrag yet. * btrfs is able to balance. (after adding new blank devices, rebalance, so the data & workload are distributed across all the devices.) zfs is not able to do this yet. * zfs has storage tiering. (cache & log devices, such as SSD's to accelerate performance.) btrfs doesn't have this yet. * btrfs has no dedup yet. They are planning to do offline dedup. ZFS has online dedup. I wouldn't recommend zfs dedup yet until performance issues are resolved, which seems like never. But when and if zfs dedup performance issues are resolved, online dedup should greatly outperform offline dedup, both in terms of speed and disk usage. * zfs has the concept of a zvol, you can export iscsi or format with any filesystem you like. If you want to do the same in btrfs, you have to create a file and use it loopback. This accomplishes the same thing, but the creation time is much longer (zero time versus linear time, could literally be called "infinitely" longer) ... so this is an advantage for zfs. * zfs has filesystem property inheritance and recursion of commands like "snapshot" and "send." Btrfs doesn't. * zfs has permissions - allow users or groups to create/destroy snapshots and stuff like that. In btrfs you'll have to kludge something through sudo or whatever. Similarities: * Both are able to grow. (Add devices & storage) * Neither one has a fsck. They both have scrub. (btrfs calls it "scan" and zfs calls it "scrub.") (Correction ... In the latest btrfs beta, I see there exists btrfsck, but I don't know if it's a full fledged fsck. Maybe it's just a frontend for scan? People are still saying there is no fsck.) * Both do compression. By default zfs compression is fast but you could use zlib if you want. By default btrfs uses zlib, but you could opt for fast if you want. _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss