Torvalds 拒绝接受 ZFS 文件系统
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 文件系统相关推荐
- Linux学习之文件系统zfs文件系统
ZFS(Zettabyte File System)一个打破过去思维的文件系统,是 Sun Microsystems这家公司所开发出来的全新型态文件系统,因为License的问题所以目前只有在Sola ...
- Solaris ZFS文件系统rpool扩容
ZFS文件系统简介 Solaris10默认的文件系统是ufs(Unix Filesystem),当然也可以选装zfs:Solaris11默认的文件系统是zfs(Zettabyte Filesystem ...
- windows文件服务器双机热备_遇到ZFS文件系统如此棘手的问题,这种办法简单又高效!...
一.ZFS文件系统 ZFS是一款128bit文件系统,总容量是现有64bit文件系统的1.84x10^19倍,其支持的单个存储卷容量达到16EiB(2^64byte,即 16x1024x1024TB) ...
- linux zfs功能,linux – 有没有办法一次设置多个ZFS文件系统属性?
我的正常ZFS文件系统构建过程可能类似于:zpool create vol1 -o autoexpand=on -o autoreplace=on mirror nvme0n1 nvme1n1 -f ...
- 转:苹果CEO库克:伟大的想法来自不断拒绝接受现状
个人理解: 在你离开这个世界的时候,你应该让它变得比你到来那一天更好 -- 是不是太高的期望? 不要只接受世界的成规,也不要安于现状 -- 是突破?是打破?是反叛?成规让风险变低,让事情可预测,不守成 ...
- 【服务器数据恢复】EMC存储Zfs文件系统下raid5数据恢复案例
服务器存储数据恢复环境: 某公司一台EMC存储,12块硬盘组成raid5,2块热备盘: Zfs文件系统. 服务器存储故障: 硬盘故障导致存储崩溃. 服务器存储数据恢复过程: 1.对故障存储所有硬盘进行 ...
- lil9341_使用Python评估Lil John的“拒绝接受什么”
lil9341 拒绝什么? 我最近听了Lil John和DJ Snake永恒的经典作品" Turn Down for What". 在这部杰作中,他们提出了一个问题,我开始着手使用 ...
- 学会拒绝摔倒“哭泣”,拒绝接受“溺爱”
======================================== 学习的核心是养成好的学习习惯,培养自己的学习能力!提升自己的运维思想! 这些才是学习时,你要追求的真谛,其次才是知识! ...
- 终于有人把 ZFS 文件系统讲明白了
本文主要介绍高级文件系统 ZFS,将讨论它的来源.它是什么以及为什么它在技术人员和企业中如此受欢迎. 注意: 本文多次提到 ZFS ,当谈到 ZFS 功能和安装时,其实说的是 OpenZFS.自从 O ...
最新文章
- Pytorch基础训练库Pytorch-Base-Trainer(支持模型剪枝 分布式训练)
- Java_Freemarker
- 深度学习导论(4)神经网络基础
- 联想成立数据智能事业部,前京东蓝烨回归;华为或已向多国知识产权组织提交「鸿蒙」商标申请……...
- Android图片编码机制深度解析(Bitmap,Skia,libJpeg)
- C++中的4种类型转换方式
- AspNetPager 万能分页存储过程(转来的)
- [翻译]关于Swift的编译时间优化
- linux 授信_Linux 配置双机SSH信任
- System.Transactions.Diagnostics.DiagnosticTrace 的类型初始值设定项引发异常。配置系统未能初始化
- 功能强大且易用的云打印解决方案
- python综合应用_班级管理系统
- npn三种波形失真_RF测试笔记:三阶交调失真概述及测试
- Tomcat环境配置 以及报错500的问题
- git冲突解决和放弃本地操作
- 量子卡塔教您如何在Q#中进行量子编程
- 计算机在哪里设置定时休眠,win7系统设置定时开关机休眠唤醒的详细办法
- 应用交付学习笔记三-BIG-IP LTM健康检查
- Hie with the Pie(旅行商问题)
- 类似元气骑士的九宫格随机地图实现