> Oh, if you need a safe COW filesystem today I'd definitely recommend
> ZFS over btrfs for sure, although I suspect the people who are most
> likely to take this sort of advice are also the sort of people who are
> most likely to not be running Gentoo.  There are a bazillion problems
> with btrfs as it stands.

There is significant interest in ZFS in the Gentoo community,
especially on freenode. Several veteran users are evaluating it and
others have already begun to switch from other filesystems, volume
managers and RAID solutions.

> However, fundamentally there is no reason to think that ZFS will
> remain better in the future, once the bugs are worked out.  They're
> still focusing on keeping btrfs from hosing your data - tuning
> performance is not a priority yet.  However, the b-tree design of
> btrfs should scale very well once the bugs are worked out.

ZFSOnLinux performance tuning is not a priority either, but there have
been a few patches and the performance is good. btrfs might one day
outperform ZFS in terms of single disk performance, assuming that it
does not already, but I question the usefulness of single disk
performance as a performance metric. If I add a SSD to a ZFS pool
machine to complement the disk, system performance will increase
many-fold. As far as I can tell, that will never be possible with
btrfs without external solutions like Google's flashcache, which
killed an OCZ Vertex 3 within 16 days about a month ago that Wyatt in
#gentoo-chat on freenode had to replace. I imagine that its death
could have been delayed through write rate limiting, which is what ZFS
uses for L2ARC, but until you can replace the Linux page replacement
algorithm with either ARC or something comparable, flashcache will be
inferior to ZFS L2ARC. You can read more about this topic at the
following link:

http://linux-mm.org/AdvancedPageReplacement

ZFS at its core is a transactional object store and everything that
enables its use as a filesystem is implemented on top of that. ZFS
supports raidz3, zvols, L2ARC, SLOG/ZIL and endian independence, which
as far as I can tell, are things that btrfs will never support.. ZFS
also has either first-party or third-party support on Solaris,
FreeBSD, Linux, Mac OS X and Windows, while btrfs appears to have no
future outside of Linux.

Lastly, ZFS' performance scaling exceeds that of any block device
based filesystem I have seen (which excludes comparisons with
tmpfs/ramfs and lustre/gpfs). The following benchmark is of a SAN
device using ZFS:

http://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking/2

While ZFS performance in that benchmark is impressive, ZFS can scale
far higher with additional disks and more SSDs. SuperMicro has a
hotswappable 72-disk enclosure that should enable ZFS to far exceed
the performance of the system that Anandtech benchmarked, provided
that it is configured with a large ARC cache and multiple vdevs each
with multiple disks, some SSDs for L2ARC and a SLC SSD-based SLOG/ZIL.
I would not be surprised if ZFS performance were to exceed 1 million
IOPS on such hardware. Nothing that I have seen planned for btrfs can
perform comparably, in any configuration.

Reply via email to