Linux下的ZFS,它可以工作吗?


Answers:


35

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机器

  • 用户空间实现FUSE上使用ZFS,它可以很好地解决内核许可问题,但会牺牲大量性能

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

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

  • 切换到Ubuntu,此版本自16.04起一直在操作系统中附带ZFS内核模块。Canonical认为将ZFS内核模块与操作系统本身一起分发在法律上是安全的。您将不得不决定是否信任Canonical的意见。还考虑如果出现法律问题,他们可能不愿意向您赔偿。

    请注意,如果没有大量手动黑客,目前无法使用Ubuntu从ZFS引导。

顺便说一句,btrfs也得到了Oracle的支持,但是它在被Sun收购之前就已经开始了。我不认为两者会合并,或者由于许可证冲突和专利问题而弃用一个,而不再赞成。ZFS太流行了,以至于无法消失,但是仍然需要ZFS替代产品。


2
btrfs还不如ZFS成熟,ZFS在今天表现出色,尤其是在像Nexenta这样的发行版上,它具有面向Ubuntu / Debian风格的面向服务器的用户环境,对于熟悉Linux(IMO)的人来说更有用。
巴里·凯利

1
耸耸肩 我的ZFS冒险经历了一次Nexenta之旅,我无法在为测试ZFS选项而构建的完美标准的新PC上运行。我同时尝试了稳定版和Beta版。FreeBSD运行得很好,所以我同意了。
沃伦·杨

7
坦率地说,在ZFS和DTrace之间,我希望许可问题可以促使更多的人考虑使用FreeBSD。
gvkv

@gvkv,相当晦涩的,面向服务器系统管理员的功能永远不会吸引人们使用* BSD。Linux 在所有相关领域都在快速发展:更好的图形集成,进程隔离,虚拟化,最近通过systemd(取决于Linux内核特性)进行了更好的守护进程管理(以及即将对桌面进行集成处理)环境)。
vonbrand

5

这里有几个答案提到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存储库中。如果您能做到这一点,社区将受益匪浅,您将成为摇滚明星。


3

哦,是的,现在可以了!Linux项目ZFS。ZFS已成功移植到多个平台,现在有一个功能齐全的Linux ZFS内核端口。

  • 将Ubuntu + Native ZFS用于Linux PPA。
  • 使用兼容RPM的发行版,例如CentOS或OLE。
  • 您可以从Linux发行版的源代码中自己编译软件包。

我的真实经验是使用Ubuntu + Native ZFS-从日常存储库中运行非常稳定。





0

ZFS Fuse确实有效。

CAVEAT:确保将用于驱动器的“其他”操作系统支持与ZFS Fuse相同的版本-BSD通常运行几个版本,而Linux则晚一些。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.