Linux 下的 ZFS,它有效吗?

Sam*_*ron 40 linux filesystems zfs

我可以让 ZFS 在 Linux 中正常工作吗?

有什么注意事项/限制吗?

War*_*ung 35

ZFS 不在正式的 Linux 内核中,除非 Oracle 根据与 GPL 兼容的内容重新许可代码,否则永远不会。

这种不兼容性是有争议的。支持在 Linux 系统上使用 ZFS 的主要论据围绕着所谓的“公平交易”规则。该规则仅适用于这种情况,仅当 ZFS 作为独立于内核的模块提供时,两者仅通过已发布的 API 进行通信,并且两个代码库可以相互独立运行。然后声称两个代码库的许可证都不会污染另一个,因为它们都不是另一个的衍生作品;他们是独立的,但合作。尽管如此,即使在这种解释下,这意味着 ZFS 模块仍然必须与 Linux 内核分开提供,这就是我们今天看到的 Ubuntu提供的方式

与 CDDL 与 GPL 的争论完全不同,NetApp 声称他们拥有 ZFS 中使用的某些技术的专利。在 Oracle 收购之后,NetApp 与 Sun 达成了和解,但该和解并不保护任何其他 Linux 分销商。(红帽、Ubuntu、SuSE...)

在我看来,这些是您的选择:

  • 请改用btrfs,因为它具有与 ZFS 相似的功能,但没有 GPL 许可证冲突,并且自 2.6.29(2009 年 1 月发布)以来一直在主线内核中进行测试。

    btrfs 的主要问题是它的RAID 5/6 功能问题由来已久。这些问题正在得到解决,但每当这些问题中的一个出现时,它就会重置“稳定时钟”。

    另一个担忧是 Red Hat表示下一个 Red Hat Enterprise Linux 版本将不包含 btrfs。

  • Red Hat 在 btrfs 上采取这种立场的原因之一是他们计划使用他们称为 Stratis 的不同技术堆栈提供类似的功能。因此,您的另一个选择是等待 Stratis 出现,1.0 计划于 2018 年上半年发布,大概与 Red Hat Enterprise Linux 8 重合。

  • 为您的文件服务器(例如 FreeBSD)使用不同的操作系统,并使用 NFS 将其连接到您的 Linux 机器

  • 在 FUSE 上使用ZFS,这是一种用户空间实现,可以巧妙地解决内核许可问题,但会牺牲大量性能

  • 安装操作系统后在 Linux 上集成ZFS

    许可证冲突使得机构外的涉嫌违法的分配相结合的系统。我不是律师,但我的感觉是,撇开专利问题不谈,在 Linux 上分发 ZFS 与随系统分发非 GPL 二进制驱动程序(例如某些视频卡的驱动程序)一样令人担忧。如果其中一个困扰您,另一个也应该困扰您。

  • 切换到 Ubuntu,它从 16.04 开始就随操作系统一起提供 ZFS 内核模块。Canonical 认为将 ZFS 内核模块与操作系统本身一起分发在法律上是安全的。您必须决定是否相信 Canonical 的意见;还要考虑到,如果出现法律问题,他们可能不愿意赔偿您。

    请注意,目前无法在没有大量手动操作的情况下使用 Ubuntu 从 ZFS 启动。

顺便说一下,btrfs 也得到了 Oracle 的支持,但在 Sun 收购之前几年就开始了。我不相信这两者会合并,或者由于许可冲突和专利问题而弃用另一个。ZFS 太受欢迎了,无法消失,但对 ZFS 替代方案的需求将继续存在。

  • 坦率地说,在 ZFS 和 DTrace 之间,我希望许可问题会促使更多人考虑使用 FreeBSD。 (7认同)
  • btrfs 远不如 ZFS 成熟,后者在今天运行良好,特别是在像 Nexenta 这样的发行版上,它具有 Ubuntu/Debian 风格的面向服务器的用户空间,对于熟悉 Linux (IMO) 的人来说更有用。 (2认同)

Ste*_*ski 5

这里的几个答案提到了Behlendorf ZFS 端口

请记住,Behlendorf ZFS 端口目前面向拥有超大文件系统的Lustre用户。这是劳伦斯利弗莫尔国家实验室、美国能源部和其他研究机构所需要的,因为它们运行非常大的文件系统(100TB - 不久的将来会达到多 PB 系统)。Lustre 在 Linux 上运行,当用于超过特定大小的文件系统时会遇到问题。有些人希望使用 ZFS 解决这个问题,这就是 zfsonlinux.org 发挥作用的地方。

为了让 ZFS 对我们其他人有用,ZPL(ZFS POSIX 层)必须移植到 Linux,以便管理员可以与文件系统交互。zfsonlinux.org 有一个ZPL开发版本,KQ Infotech 提供了 ZPL 的另一个实现,它是 zfsonlinux.org 代码的一个分支。

Behlendorf希望帮助改进 ZPL,并将 KQ Infotech 的任何更改合并到 zfsonlinux.org 存储库中。如果你能做到这一点,社区将受益匪浅,你将成为摇滚明星。