BTRFS与ZFS相比如何?

我正在考虑在一些新的服务器上使用哪种操作系统和文件系统,我正在考虑使用带有ZFS的Free BSD,或者使用带有BTRFS的Linux。

我在两个系统上运行的程序,唯一的问题是文件系统和性能的可靠性等。

    截至2010年4月,Btrfs仍处于开发阶段,尚未准备好用于生产(实际上,并不是 – 我一直在试用kernel 2.6.32)。 function明智的btrfs包含一些但不是全部的ZFSfunction。 最值得注意的是RAID-Z和重复数据删除都不见了。

    与btrfs一起工作的是快照,写时复制,校验和以及将多个磁盘作为单个卷使用。 GNU cp最近得到了一个整洁的“reflink”函数来拷贝文件作为copy-on-write的副本。

    ZFS-FUSE似乎比btrfs更稳定,所以如果你使用Linux,可能是一个选项( http://zfs-fuse.net/ )。 Solaris ZFS的大部分function都已实现。 但是,无法find最新的性能基准。

    对于一个坚如磐石的解决scheme,我仍然会说Linux和XFS。 如果您需要快照,请添加LVM2。 如果您需要软件RAID,请添加mdadm。

    截至今天(2012-02-01)btrfs仍然缺乏fsck工具,这意味着如果系统崩溃(认为内核恐慌,电力损失和许多其他情况),所有数据都有风险。 我亲身体验过这种数据丢失。 如果你正在寻找数据安全(而不是谁?),那么就避免使用btrfs。 截至目前,BTRFS正在试验文件系统垃圾或非必要的数据。

    当然,你应该保留有价值的数据备份,对吧?

    对于在PC / FreeBSD 9上使用ZFS的超稳定替代scheme.ZFS是一个值得信赖的企业文件系统,已经有很多年了。 RAIDZ2是一个救命稻草。

    正如其他人所说,Btrfs仍然是实验性的,所以你可能不想依赖Btrfs。

    人们通常对BSD上的ZFS感到满意,但是您也可能要考虑在Solaris上运行ZFS。

    ZFS的BSD端口可能是最成熟的端口,但在Solaris上ZFS的后端仍然滞后一些,所以你不会马上获得所有的最新function。 从FreeBSD 8.0开始,只支持ZFS版本13 – 例如,您将不会获得重复数据删除(ZFS版本21中引入的重复数据删除)。 FreeBSD 8.0也不能使用iSCSI。

    如果您希望在引入最新的ZFSfunction时,可能需要selectOpenSolaris或Oracle Solaris或Nexenta(具有GNU用户空间的Solaris衍生产品)。

    正如其他人已经指出的那样,BTRFS并不是真正的生产质量,所以如果你需要今天有效的东西,ZFS是一个更好的select。

    有关BTRFS的一些背景知识,以及它与ZFS的区别,请参阅LWN文章 。

    我仍然是一个ZFS用户(在Solaris和Linux上),但是对于后者,现在我将考虑btrfs作为其最新(2012年3月)版本包括新function,性能改进,错误修复以及非常期望的btrfsfsck具有修复function 。

    根据该新闻稿 ,Btrfs文件系统现在已经可以生产了。

    当我在寻找同样的东西的时候,我曾在FreeBSD维基上find有关FreeBSD中ZFS状态的信息。 看起来像FreeBSD正在赶上。

    资料来源: http : //wiki.freebsd.org/ZFSTuningGuide

    使用ZFS的FreeBSD发行版的历史如下:

    • 7.0+ – 原始的ZFS导入,ZFS v6; 需要重大调整才能稳定运行(不再支持)
    • 7.2 – 仍然是ZFS v6,改进了内存处理,amd64可能不需要内存调整(不再支持)
    • 7.3+ – 支持新的ZFS v13代码,类似于8.0代码
    • 8.0 – 新的ZFS v13代码,大量的bug修复 – 推荐在所有以前的版本。 (不再支持)
    • 8.1+ – ZFS v14
    • 8.2+ – ZFS v15
    • 9.0+ – ZFS v28