Linux的发明者和主要开发者Linus Torvalds近日公开反对ZFS文件系统。作出这番表态的时机不容忽视,因为ZFS只是最近才第一次正式实现在一款主要的发行版中。这个发行版就是Ubuntu 19.10,其中的ZFS文件系统被誉为是Canonical最新的Linux版本的主要功能之一。


Torvalds在一个论坛帖子中写道:“如果有人添加像ZFS这样的内核模块,他们就自行维护。我不会维护这样的内核模块,我也不可能被别人的内核更改所束缚。”

如果读者只考虑Torvalds的这个帖子,很容易得出他对ZFS持异议源自于潜在的许可问题这个结论。他写道:“除非我得到Oracle的主要法律顾问或最好得到Larry Ellison本人签署的Oracle正式信函,表示可以合并ZFS代码、将最终结果视作符合GPL的许可证,否则我不可能合并任何 ZFS代码。”

许可问题更加深入一点。要知道,Linux端口上的ZFS依赖两个已被弃用的内核函数:__kernel_fpu_begin()和__kernel_fpu_end()。取代了__kernel_fpu_begin()和__kernel_fpu_end()的函数被有意发布为只面向GPL许可证。

因此,如果Oracle尚未正式同意ZFS采用GPL许可证,而ZFS依赖的两个已被弃用的函数又被只面向GPL许可证的函数取而代之,就存在问题(即使目前仅仅是意识形态上的问题)。

但这不仅仅与GPL有关。引发这个问题的起因是有人抱怨Linux内核最近破坏了源代码树外(out-of-tree)ZFS模块。对此Torvalds说:“请注意,‘我们并不破坏用户’实际上关乎用户空间应用程序,关乎我维护的内核。”随后,Torvalds再次归结为许可问题,声称“但是考虑到Oracle好打官司的本性,加上许可方面的问题,这么做我绝对不会放心。”

ZFS方面还存在其他问题。最大的问题是它破坏了OSI 7层模型。具体来说,ZFS使用其自己的纠错机制,因此避开了对开放系统互连(OSI)模型下面几层的信任。请记住,OSI 7层模型的目标是各种通信系统与标准通信协议实现互操作性。因此,你的整个文件系统避免了Linux依赖的模型。

让事情变得更复杂的是,ZFS提供了少数几款生产级Linux文件系统所拥有的功能。唯一可与之匹敌的文件系统是Btrfs,该文件系统常常因不够稳定、无法用于生产系统而饱受诟病。

最后,Torvalds说:“不要使用ZFS。就这么简单。我觉得,它始终比其他任何系统更像是个时髦词;对我来说,许可问题完全使ZFS成为不值得考虑的文件系统。”他进一步表示:“在我见过的基准测试中,ZFS的结果并不是很棒。而据我所知,它再也没有得到任何真正的维护,因此从长期稳定性的角度来看,你何必要使用它?”

Canonical对这件事有什么看法?Canonical的工程主管Martin Wimpress通过电子邮件写道:“从最近ZFS方面的讨论来看,我们的客户和用户告诉我们他们希望Ubuntu中有ZFS,因为ZFS拥有许多所需要的功能,可以防止数据损坏、支持高存储容量、提供高效的数据压缩、快照和写入时复制克隆等功能。我们将继续与OpenZFS项目中的朋友合作,改善Ubuntu上的ZFS。”

读者只想知道ZFS文件系统接下来会发生什么。Oracle可能会给相应代码重新发许可证,以便它与主线内核变得“友好”吗?如果不是这样,Torvalds很可能会继续对ZFS保持冷漠的态度。

Torvalds 拒绝接受 ZFS 文件系统相关推荐

  1. Linux学习之文件系统zfs文件系统

    ZFS(Zettabyte File System)一个打破过去思维的文件系统,是 Sun Microsystems这家公司所开发出来的全新型态文件系统,因为License的问题所以目前只有在Sola ...

  2. Solaris ZFS文件系统rpool扩容

    ZFS文件系统简介 Solaris10默认的文件系统是ufs(Unix Filesystem),当然也可以选装zfs:Solaris11默认的文件系统是zfs(Zettabyte Filesystem ...

  3. windows文件服务器双机热备_遇到ZFS文件系统如此棘手的问题,这种办法简单又高效!...

    一.ZFS文件系统 ZFS是一款128bit文件系统,总容量是现有64bit文件系统的1.84x10^19倍,其支持的单个存储卷容量达到16EiB(2^64byte,即 16x1024x1024TB) ...

  4. linux zfs功能,linux – 有没有办法一次设置多个ZFS文件系统属性?

    我的正常ZFS文件系统构建过程可能类似于:zpool create vol1 -o autoexpand=on -o autoreplace=on mirror nvme0n1 nvme1n1 -f ...

  5. 转:苹果CEO库克:伟大的想法来自不断拒绝接受现状

    个人理解: 在你离开这个世界的时候,你应该让它变得比你到来那一天更好 -- 是不是太高的期望? 不要只接受世界的成规,也不要安于现状 -- 是突破?是打破?是反叛?成规让风险变低,让事情可预测,不守成 ...

  6. 【服务器数据恢复】EMC存储Zfs文件系统下raid5数据恢复案例

    服务器存储数据恢复环境: 某公司一台EMC存储,12块硬盘组成raid5,2块热备盘: Zfs文件系统. 服务器存储故障: 硬盘故障导致存储崩溃. 服务器存储数据恢复过程: 1.对故障存储所有硬盘进行 ...

  7. lil9341_使用Python评估Lil John的“拒绝接受什么”

    lil9341 拒绝什么? 我最近听了Lil John和DJ Snake永恒的经典作品" Turn Down for What". 在这部杰作中,他们提出了一个问题,我开始着手使用 ...

  8. 学会拒绝摔倒“哭泣”,拒绝接受“溺爱”

    ======================================== 学习的核心是养成好的学习习惯,培养自己的学习能力!提升自己的运维思想! 这些才是学习时,你要追求的真谛,其次才是知识! ...

  9. 终于有人把 ZFS 文件系统讲明白了

    本文主要介绍高级文件系统 ZFS,将讨论它的来源.它是什么以及为什么它在技术人员和企业中如此受欢迎. 注意: 本文多次提到 ZFS ,当谈到 ZFS 功能和安装时,其实说的是 OpenZFS.自从 O ...

最新文章

  1. Pytorch基础训练库Pytorch-Base-Trainer(支持模型剪枝 分布式训练)
  2. Java_Freemarker
  3. 深度学习导论(4)神经网络基础
  4. 联想成立数据智能事业部,前京东蓝烨回归;华为或已向多国知识产权组织提交「鸿蒙」商标申请……...
  5. Android图片编码机制深度解析(Bitmap,Skia,libJpeg)
  6. C++中的4种类型转换方式
  7. AspNetPager 万能分页存储过程(转来的)
  8. [翻译]关于Swift的编译时间优化
  9. linux 授信_Linux 配置双机SSH信任
  10. System.Transactions.Diagnostics.DiagnosticTrace 的类型初始值设定项引发异常。配置系统未能初始化
  11. 功能强大且易用的云打印解决方案
  12. python综合应用_班级管理系统
  13. npn三种波形失真_RF测试笔记:三阶交调失真概述及测试
  14. Tomcat环境配置 以及报错500的问题
  15. git冲突解决和放弃本地操作
  16. 量子卡塔教您如何在Q#中进行量子编程
  17. 计算机在哪里设置定时休眠,win7系统设置定时开关机休眠唤醒的详细办法
  18. 应用交付学习笔记三-BIG-IP LTM健康检查
  19. Hie with the Pie(旅行商问题)
  20. 类似元气骑士的九宫格随机地图实现

热门文章

  1. 最近微信上很火的小游戏【壹秒】android版——开发分享
  2. steam如何载入已经下载好的游戏
  3. 如何用15秒打动对方
  4. 使用YASM编程 - 01
  5. 关于Linux和Windows一个对比
  6. linux系统etc什么意思,请问linux下的etc是什么意思?
  7. 备战2018|春招or跳槽?大学生和职场新人最后的机会!
  8. wallpaper动态壁纸软件
  9. 眼睛怎么画?怎样才能画好人物的眼睛?
  10. Mysql(下载、安装、环境配置详细图文)