Answers:
ZFS不在正式的Linux内核中,除非Oracle在与GPL兼容的方式下重新许可代码,否则ZFS永远不会存在。
这种不兼容是有争议的。在Linux系统上允许ZFS的主要论点围绕着所谓的“公平原则”。在这种情况下,仅当ZFS作为与内核分开的模块提供,两者仅通过已发布的API通信且两个代码库可以彼此独立运行时,该规则才适用。这样的说法是,两个代码库的许可证都不会污染另一个,因为这两个库都不是另一个库的衍生产品。他们是独立的,但合作。尽管如此,即使按照这种解释,这也意味着ZFS模块仍必须与Linux内核分开运输,这就是我们今天看到Ubuntu提供的方式。
NetApp与CDDL vs GPL的论点完全不同,它声称自己拥有ZFS中使用的某些技术的专利。在Oracle收购甲骨文之后,NetApp与Sun达成了和解,但该和解不会保护任何其他Linux发行商。(Red Hat,Ubuntu,SuSE ...)
如我所见,这些是您的替代选择:
请改用btrfs,因为它具有与ZFS类似的功能,但没有GPL许可证冲突,并且自2.6.29(于2009年1月发布)以来一直在主线内核中进行测试。
btrfs的主要问题在于,其RAID 5/6功能存在悠久的历史。这些问题正在解决中,但是每次出现这些问题之一时,都会重置“稳定时钟”。
另一个问题是Red Hat 表示 Red Hat Enterprise Linux的下一版本将不包含btrfs。
红帽之所以在btrfs上占据一席之地的原因之一是,他们计划使用称为Stratis的不同技术栈提供类似的功能。因此,您还有另一个选择是等待Stratis出现,1.0计划于2018年上半年发布,大概与Red Hat Enterprise Linux 8一致。
对文件服务器(例如FreeBSD)使用其他操作系统,并使用NFS将其连接到Linux机器
该许可证冲突使得机构外的涉嫌违法的分配相结合的系统。我不是律师,但是我的感觉是,除了专利问题之外,在Linux上分发ZFS与在系统中分发非GPL二进制驱动程序(例如某些视频卡的驱动程序)一样令人担忧。如果其中一个困扰您,另一个也应该。
切换到Ubuntu,此版本自16.04起一直在操作系统中附带ZFS内核模块。Canonical认为将ZFS内核模块与操作系统本身一起分发在法律上是安全的。您将不得不决定是否信任Canonical的意见。还考虑如果出现法律问题,他们可能不愿意向您赔偿。
请注意,如果没有大量手动黑客,目前无法使用Ubuntu从ZFS引导。
顺便说一句,btrfs也得到了Oracle的支持,但是它在被Sun收购之前就已经开始了。我不认为两者会合并,或者由于许可证冲突和专利问题而弃用一个,而不再赞成。ZFS太流行了,以至于无法消失,但是仍然需要ZFS替代产品。
这里有几个答案提到Behlendorf ZFS端口。
请记住,Behlendorf ZFS端口当前面向具有超大型文件系统的Lustre用户。这是劳伦斯·利弗莫尔国家实验室,美国能源部和其他研究机构所需要的,因为它们运行着非常大的文件系统(在不久的将来将达到100TB的多PB系统)。Luster在Linux上运行,并且在用于某些大小以上的文件系统时遇到问题。有人希望使用ZFS解决此问题,这是zfsonlinux.org发挥作用的地方。
为了使ZFS对我们其他人有用,必须将ZPL(ZFS POSIX层)移植到Linux,以便管理员可以与文件系统进行交互。zfsonlinux.org具有ZPL的开发版本,KQ Infotech提供了ZPL的另一种实现,它是zfsonlinux.org代码的分支。
Behlendorf 希望获得帮助,以改进ZPL并将KQ Infotech的任何更改合并到zfsonlinux.org存储库中。如果您能做到这一点,社区将受益匪浅,您将成为摇滚明星。
我已经在debian / lenny上为我的家庭NAS 设置了ZFS Fuse。我没有遇到任何问题或限制。在我的博客上搜索ZFS,以获取更多相关文章。
我确实先尝试了BTRFS,但发现它还没有准备好。这是在2010年2月。