在Linux上zfs-fuse 0.6.9有多稳定?

我正在考虑将ZFS用于我自制的NASarrays。 我将有一个Ubuntu服务器10.04机器raidz 4硬盘。

我想在存储数据时使用快照function和重复数据删除function。 我没有太在意速度,因为机器是通过N无线networking访问,这可能会成为瓶颈。

那么是否有任何人在这种(或类似的)configuration上使用zfs-fuse 0.6.9的实际经验?

    我有两个500GB的驱动器在我的家庭NAS(debian lenny)zfs-fuse镜像设置。 现在已经跑了差不多6个月了,我没有遇到问题。 更多细节在我的博客上。

    现在有一个ZFS的本地linux端口 。 我最近才知道这个,所以没有机会去testing。 但是,这是一个很好的迹象。 只要你不必为自己编译内核模块和工具而感到恐惧,这可能值得一试。

    如果你能得到它的工作,毫无疑问,它会比zfs-fuse好得多。

    我知道这个线程是古老的,但从那以后,事情发生了很大的变化。 (例如,ZFS-FUSE和内核选项的状态,“Open”Solaris可争论的消失等)

    首先,ZFS的内核端口不一定比ZFS-FUSE的“毫无疑问”要好得多。 这个回答似乎回应了FUSE文件系统总是比内核更差的常见误解。 (如果你还不知道的话,简而言之:理论上内核文件系统性能更好,其他都相同,但影响性能的因素还有很多,比内核和用户空间的影响更大)。但是,使用ZFS-FUSE,它根据基准确实出现,在某些情况下,它明显比本地ZFS(或BTRFS)慢。 虽然我的用途,这是好的。

    Ubuntu现在通过他们的PPA存储库系统有一个“ubuntu-zfs”包,这只是一个很好的包装和本地zfs-on-linux项目的自动模块构build。 它运行在内核空间,并且支持比zfs-fuse更高的zpool版本。

    我曾经在一个大的冗余20tb服务器上使用OpenSolaris,现在使用Oracle Solaris 11。 Solaris有一些重大的问题和挑战(特别是如果你对configuration和pipe理Linux比老式的UNIX更舒适),他们已经彻底改变了许多操作系统版本和更新之间的硬件pipe理和其他configuration接口,使得它一个往往非常令人沮丧的移动目标(即使在升级到下一个版本之前,终于掌握了一个版本)。 但是,通过正确(兼容)的硬件和对变化和学习和调整的耐心,在文件系统方面它可以是一个惊人的select。

    还有一个build议:不要使用内置的CIFS支持。 使用Samba。 内置的支持被打破,可能永远不会准备好黄金时间。 上次我查了一下,有很多使用Samba的企业安装,但是由于权限pipe理的恶梦,没有一个使用CIFS的安装。

    我每天都会在Ubuntu上使用ZFS-FUSE(在个人工作站上),并发现它是一个非常好的解决scheme。 只有ZFS-FUSE才能想到的问题是:

    1. 你不能禁用ZIL(写caching),至less不是没有在源代码中设置一个标志并编译yourslef。 顺便说一句 – 禁用ZIL,与一个普遍的误解相反,不会导致你失去你的游泳池崩溃。 你只是失去了当时正在写的东西。 这与大多数文件系统没有什么不同。 对于许多关键任务服务器场景来说,这可能并不理想(在这种情况下,您可能应该使用本机Oracle Solaris),但是对于大多数工作站/个人用例来说,这通常是非常值得的权衡。 对于一个小规模的设置,ZIL可能是一个巨大的写入性能问题,因为默认情况下,caching在池本身之间传播 – 这可能会非常慢,特别是如果奇偶校验条带设置(RAIDZx)。 在Oracle Solaris上,禁用它很容易,我相信它是池的“同步”属性IIRC。 (我不知道是否可以在原生Linux内核版本上轻松禁用。)

    2. 另外,对于ZFS-FUSE,zpool版本不够高,无法支持更新版本的更好的池恢复选项,因此,如果您决定将写caching卸载到一个或多个SSD或RAM驱动器,请谨慎。 (总是镜像它!)如果你失去了ZIL,你几乎肯定也失去了整个游泳池。 (使用OpenSolaris时,我发生了这种灾难性的后果)。Oracle Solaris上更新的zpool版本已经缓解了这个问题。 我似乎无法确定内核级别的linux端口是否具有缓解function。

    此外,您可以放心地忽视那个似乎是垃圾邮件讨论的“ZFS ARC错误”警报。 我的服务器很难受到攻击,世界各地的无数生产服务器也是如此,而且从来没有经历过。

    就个人而言,虽然我非常不喜欢Solaris,但是ZFS真是太棒了,现在我已经依赖它的function了,离不开它。 我甚至在Windows笔记本上使用它。 (通过一个复杂的,但非常可靠的虚拟化解决scheme和USB驱动器魔术贴盖)。

    编辑:一些小的编辑澄清,相关性,并确认ZFS-FUSE的性能限制。

    为什么dimply你不使用opensolaris?
    你得到你需要的一切和最好的performance。

    我在Ubuntu下运行ZFS-FUSE将近一年,没有任何问题,然后将池迁移到OpenSolaris。 也就是说,多TB池上Dedup的内存要求可能会超过您的家用Linux服务器的内存。 一旦您的重复数据消除表从ARC(主内存caching)溢出,除非您有一个用于L2ARC的SSD来保持其可用状态,否则重复数据删除性能会非常糟糕。 如果没有内存中的重复数据删除表,一些操作会变得非常慢(删除文件目录,快照删除等)。 快照可以无需重复数据删除function,几乎没有任何开销,所以除非你存储了大量冗余,并且有8-16GB的内存和/或固态硬盘来解决问题,否则我会跳过重复数据删除。

    还有ZFS ARC 3年以上的bug仍然存在!

    http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6522017

    (这个是令人讨厌的,因为它也会超出虚拟机pipe理程序的虚拟机界限!)

    不知道是否ZFS保险丝地址这一个…