ZFS文件系统:Linux,让我们约会在9月
创始人
2024-07-11 17:41:30
0

如果你是 FreeBSD 或 Solaris 用户的话,一定对 ZFS 有所了解,这是由 SUN ( 现在被 Oracle 合并了)开发的一款新型文件系统,应用在 Solaris 上,后来被移植到了 FreeBSD 和 NetBSD 等系统上。很多人称 ZFS 为***文件系统,因为 ZFS 代表” last word in file system “,Z 是字母表的***一个字,意思是此后再也不需要开发其他的文件系统了。 事实上,ZFS 的确带来了很多崭新的观念,对文件系统来讲是一个划时代的作品。

51CTO编辑推荐专题:下一代Linux文件系统

zfs_feature_2.jpg

面对这样一个强大的文件系统,当然 Linux 社区也并没有闲着,他们因而推出了 Btrfs 文件系统,有趣的是这也是由 Oracle 发起开发的,关于 BTRFS 的详细介绍可以看这篇文章”新一代 Linux 文件系统 btrfs 简介“。BTRFS 初始目标是取代 Linux 目前的 ext3/4 文件系统,不过通过比较,你会发现 BTRFS 和 ZFS 在很多特性上非常的类似,比如具备相当强的可扩展性、支持 Snapshots 、内置卷管理功能等等。

 

另外,说到 BTRFS ,这里要插播一下,根据 Ubuntu 开发团队称,由于没有充足的时间,无法完成余下的 BTRFS 开发工作,因此也就是说在 10.10 中将不会完全支持 BTRFS 。

OK ,我们继续说 ZFS 。虽然 Linux 社区已经有了 BTRFS 用来作为对 ZFS 的回应了,但前段时间有消息传出称有开发团队(来自印度的 KQ Infotech 公司) 开始着手移植 ZFS 到 Linux 系统上,这个项目的主页在这里:Native ZFS for Linux 。事实上早在这之前就有一个基于 FUSE 框架的 ZFS for Linux 项目,但它是用户级的 ZFS 文件系统,性能上要逊色很多,所以 Native ZFS for Linux 项目的目的之一也就是要取代这个 ZFS-FUSE ,为 Linux 提供原生的 ZFS 支持。(相关报道:6月第3周系统升级录:ZFS与Linux文件系统的变革)

但问题是,由于 Linux Kernel 用的是 GPL 许可协议,而 ZFS 则是基于 Sun 的 CDDL 许可协议,由于这两个许可协议存在着不兼容性,随之而来的就是版权问题。所以为了解决版权问题,这个 Native ZFS for Linux 项目将会以内核模块的形式进行分发,同时版权许可与 ZFS 一样也基于 CDDL 协议。

而根据 Phoronix 的报道,开发 Native ZFS for Linux 项目的 KQ Infotech 公司将于下个月 ( 大约为 9 月 15 日左右) ,会正式发布一个完全可用的 Linux Kernel ZFS 模块。这个 ZFS 模块基于 ZFS Pool 18 ,已经实现了 ZFS POSIX 层。但目前这个代码只支持 64 位 Linux 系统,同时他们还会发布适用于 Fedora 12 和 Red Hat Enterprise Linux 6 Beta 2 的 RPM 包。当然你也可以在 Ubuntu 10.04 LTS 上使用该模块,但必须要从源代码手工编译安装。

有关ZFS文件系统的使用方法,可以参考以下文章:

  1. 轻松玩转Solaris ZFS文件系统的备份恢复
  2. 全面了解Solaris 10 ZFS文件系统的管理

以下是来自Phoronix的详细报导:

#p#

本部分来源:http://linuxtoy.org/archives/linux-native-zfs-support-is-coming.html

美国Lawrence Livermore National Laboratory依据该实验室安全部门和美国能源部的一份协议开发了ZFS的Linux的原生支持,但此项目的代码并不可以直接使用——因其不提供POSIX接口。印度的Knowledge Quest Infotech公司则达到了该目标,他们从去年开始自己的移植工作

早些时候KQ Infotech的Business Manager, Darshin Vyas,在Phonronix论坛中发出声明(此链接指向的讨论包含了比本文更加详尽的信息),该项目已接近Beta状态。

由于Solaris自身发布协议和专利纠纷的限制,此项目的代码仍是基于CDDL发布的,因而不会进入主线内核,故他们只会提供可以编译为内核模块的源代码,由最终用户自行“嵌入”GPL的内核,并且不使用任何GPL-only symbols,规避了GPL的Copyleft条款要求将非GPL程序嵌入GPL程序的行为人(此场合下即最终用户,无再发布的需要)分发程序必须以GPL发布的协议冲突问题(这是常见的GPL规避手段之一)。同时该公司似乎确信Oracle不会对他们采取法律行动。

代码预计在九月15日发布,将只能支持64位内核,同时将提供用于Fedora 12和Red Hat Enterprise Linux 6 Beta 2的RPM包。Ubuntu10.04亦可安装,但需自行编译,期待届时的Phoronnix的Ext4 & Btrfs V.S. ZFS on Linux测评。(译者私心希望有Reiser4出场,但按其进度——2.6.37才能进主线——来讲,属不可能。)

存在的问题:

KQ Infotech记的ZFS on Linux虽好,但不能确定其未来的法律风险,也不能指望得到Oracle/Sun的许可。由于上述的许可证纠纷,无论是官方内核还是主要的发行版都不可能采用它,任何人想用ZFS作为Linux的根文件系统的人都必须自己编译内核并自行处理安装问题

同时其基于ZFS Pool 18,虽然较新,但非***的21,故仍缺乏de-duplication support和其他一些在OpenSolaris解散前加入的更新颖的功能。只有X86-64支持,也进一步限制了其应用。同样令其前景模糊不清的是——KQ Infotech一直在关门开发,至今外界无法得到一行代码——该公司是会一直以自由许可提供该模块,还是会将其拿来用商业许可套现。

由于功能上与向ZFS看齐的Btrfs日趋完善,并正在成为Linux的下一代“标准”文件系统,所以如果这项工作早个两三年完成的话,重要性可能会比现在大。在Phoronix上个月进行的一系列测试:Running ZFS with CAM-based ATAZFS On FreeBSD vs. EXT4 & Btrfs On LinuxBtrfs, EXT4, & ZFS On A Solid-State Drive中,Ext4/Btrfs on Linux无论是机械硬盘还是固态硬盘性能都把ZFS on FreeBSD 8.1甩开了好几条街。虽然可以将之归咎为FreeBSD自身的瓶颈,但也很难指望ZFS在Linux上能比EXT4/Btrfs有什么性能优势(如果不说完全不可能的话)。

考虑到以上几点,这个模块可能用于尝鲜会很有趣,但不可能改变Linux文件系统的前景,它自身估计也只会在小范围内应用。

LLNL方面的情况:

劳伦斯—利物浦国家实验室(Lawrence Livermore National Laboratories)的Linux ZFS移植项目的领导人Brian Behlendorf向Phoronix方面提供了以下信息:

1.KQ Infotech的工作是基于LLNL的基础上的,具体来说是该实验室发布在Github上的SPL ZFS 0.4.9源代码。

2.Brian Behlendorf打算把KQ Infotech的改进合并回自己方面的代码库

3.LLNL的ZFS移植最终会升级到onnv_147——Oracle废弃OpenSolaris之前的***一版,不过这之前要花些时间,因为他们需要“维持现有的稳定性和Linux内核的可移植性。

4.虽然KQ Infotech方面在Phoronix论坛上放言:ZFS是“ by far the best file system”,并且甩下了诸如“Thats why its long awaited, am not just bullshitting here, arival lot of storage companies are keenly looking forward to this solution and only if you are related to the storage industry, will you know the real gem ZFS is! Nothing to laugh on ZFS being the best file system, hell it is!!!”这样的狠话,但Behlendorf仍警告说ZFS for Linux仍在开发中,还有大量工作要做,它目前的状况并不是那么乐观。

不管怎么说,好在有LLNL的技术支持和美国能源部的合同在那里,Linux的原生ZFS支持还是可以期待的。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...