Linus Tovalds,你根本不懂 ZFS

oschina
 oschina
发布于 2020年01月14日
收藏 9

上周 Linus Torvalds 在某个论坛上讨论关于内核的相关问题时,提到了 ZFS on Linux,他表明了自己的态度,在 Oracle 对 ZFS 的代码进行重新授权以使其能更友好地被引入到 Linux 内核主线之前,他不会推荐使用 ZFS,同时,即便抛开许可证的原因,Linus 也觉得 ZFS 的综合性能并不特别强。

本周,FOSS 作者 Jim Salter 针对 Linus 影响广泛的言论进行了回应,他觉得 Linus 对于 ZFS on Linux 不了解,表示“Linus 应当避免对自己不熟悉的项目发表权威性的言论”。

Getty Images

关于 ZFS on Linux 许可证方面的问题,要追溯到 2019 年 1 月,当时内核开发人员 Greg Kroah-Hartman 决定禁止将某些内核符号导出到非 GPL 可加载内核模块,这直接限制了 ZFS(一度引起 ZFS On Linux 在 Linux Kernel 5.0 上陷入困境完美彩票_[官网首页])。

内核符号导出将有关内核状态的内部信息公开给可加载的内核模块,比如_kernel_fpu_跟踪处理器浮点单元的状态,无法访问该符号,ZFS 直接访问 FPU 的外部内核模块就必须实现自己的状态保存代码。具体来讲,拒绝继续导出_kernel_fpu_符号的技术影响不是防止模块直接访问 FPU,而是阻止模块使用内核的状态管理工具来保存和恢复状态。

因此,要删除对该符号的访问,就需要模块开发人员分别重新创建自己的状态保存代码,这会增加内核本身发生灾难性错误的可能性,因为恢复状态不正确可能会导致之后的内核操作崩溃。

另一方面,通常,在包括 BSD 在内的任何平台上,ZFS 都使用 SSE/AVX SIMD 矢量优化来加速某些操作,由于无法访问该_kernel_fpu_完美彩票_[官网首页]符号,ZFS 开发人员最初被迫完全禁用 SIMD 优化,这导致了相当大的性能下降。

许可证的问题不明确,所以内核人员才做出这样的限制,像此次 Linus 所说“老实说,在我收到 Oracle 的正式来信之前,我无法合并 ZFS 的任何工作。”、 “其他人认为将 ZFS 代码合并到内核中是可以的,并且模块接口可以使它正常,这是他们的决定。但是考虑到 Oracle 的诉讼性质以及许可方面的问题,我永远无法安心这样做。”

Linus 在讨论中继续说到 Linux 上包括 ZFS、Nvidia 专有图形驱动等在内的非 GPL 项目使用的内核模块“shim”在法律上的脆弱性。Jim 认为这里有一些问题,就是这是否构成“合理的防御”,也就是 20 年过去了,现在还没有人提出任何项目使用 LGPL shim 的问题。完美彩票_[官网首页]LGPL 内核模块 shim 的真正功能不是制裁使用非 GPL 代码接触内核,而是防止在 GPL 实施诉讼胜诉的情况下,保护 shim 另一端的专有代码不会被强制发布。关于脆弱性,Jim 认为至少到目前为止,一切都很好。

除了许可方面的讨论,Linus 认为他见过的基准测试也并没有使 ZFS 看起来那么出色,同时据他所知,ZFS 背后也没有任何真正的维护人员。这样的言论让 Jim 怀疑他是否实际使用过或认真研究过 ZFS。同时他指出此前 15 年中,Linus 也针对 ZFS 技术上的东西发表过评论,包括原子快照、快速复制、磁盘压缩、按块校验和自动数据修复等。

Jim 接下来在文章中针对这些问题给出回应,比如 ZFS 的逐块校验和自动数据修复功能在他自己的实际使用中多次防止了数据丢失,包括 SATA 控制器受到狂轰滥炸的特别糟糕的情况。一个标准的 RAID1 镜像本可以很好地返回 119GB 的坏数据,而不会发出任何警告,但是 ZFS 的实时校验和和错误检测使整个事情减轻到了不必备份的程度。比如原子快照可以在一个时间点上以一个块为单位保留完整的存储副本,而性能开销可以忽略不计,存储开销最小,并且这些快照的复制通常快数百或数千倍,比非文件系统集成的解决方案(如 rsync)更可靠。

最后 Jim 表示,ZFS 可能没有个人需要,但是把它贬低为什么也不是,似乎暴露出对它的无知。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://bsy-cn.com]
本文标题:Linus Tovalds,你根本不懂 ZFS
加载中

精彩评论

冰鸟
冰鸟
支持大神,绝不能允许邪恶Oracle把爪子伸进Linux内核!要永远铭记当年这个混蛋对sun留下的大量开源项目做了什么!!!
ibrucekong
ibrucekong
Linus一狠心,自己写一个更溜的
薛小猫
薛小猫
完美彩票_[官网首页]把Linus逼急了,他自己会写一个出来,分分钟让你成为废弃的历史。
卫慧杰
卫慧杰
加油,使劲喷 Linus,喷急了,大神写个更牛逼的,我们就享福了
xw_y_am
xw_y_am
比尔盖茨认真的?

最新评论(38

沧海一刀
沧海一刀
恭喜WE
_Anonymous_
_Anonymous_
类似ZFS的Linux对应对手不是早就有了吗?btrfs没人知道?
ucer
ucer
oracle专门搞破坏的
yangjin1
yangjin1
考虑到oracle的诉讼性质 这就是关键
叶知泉
叶知泉
期待新神作
吾运昌隆
考虑到oracle的诉讼性质, 说别的都没用
zhuzhu0330
zhuzhu0330
哇塞!膜拜大神了!
拜仁慕尼黑
拜仁慕尼黑
我还是支持祖师爷
卫慧杰
卫慧杰
加油,使劲喷 Linus,喷急了,大神写个更牛逼的,我们就享福了
blu10ph
blu10ph
Oracle相关的恭喜坚决反对~
返回顶部
顶部

页面底部区域 foot.htm