ZFS文件系統(tǒng):Linux,讓我們約會在9月
如果你是 FreeBSD 或 Solaris 用戶的話,一定對 ZFS 有所了解,這是由 SUN ( 現(xiàn)在被 Oracle 合并了)開發(fā)的一款新型文件系統(tǒng),應(yīng)用在 Solaris 上,后來被移植到了 FreeBSD 和 NetBSD 等系統(tǒng)上。很多人稱 ZFS 為***文件系統(tǒng),因為 ZFS 代表” last word in file system “,Z 是字母表的***一個字,意思是此后再也不需要開發(fā)其他的文件系統(tǒng)了。 事實上,ZFS 的確帶來了很多嶄新的觀念,對文件系統(tǒng)來講是一個劃時代的作品。
51CTO編輯推薦專題:下一代Linux文件系統(tǒng)
面對這樣一個強大的文件系統(tǒng),當(dāng)然 Linux 社區(qū)也并沒有閑著,他們因而推出了 Btrfs 文件系統(tǒng),有趣的是這也是由 Oracle 發(fā)起開發(fā)的,關(guān)于 BTRFS 的詳細(xì)介紹可以看這篇文章”新一代 Linux 文件系統(tǒng) btrfs 簡介“。BTRFS 初始目標(biāo)是取代 Linux 目前的 ext3/4 文件系統(tǒng),不過通過比較,你會發(fā)現(xiàn) BTRFS 和 ZFS 在很多特性上非常的類似,比如具備相當(dāng)強的可擴展性、支持 Snapshots 、內(nèi)置卷管理功能等等。
另外,說到 BTRFS ,這里要插播一下,根據(jù) Ubuntu 開發(fā)團隊稱,由于沒有充足的時間,無法完成余下的 BTRFS 開發(fā)工作,因此也就是說在 10.10 中將不會完全支持 BTRFS 。
OK ,我們繼續(xù)說 ZFS 。雖然 Linux 社區(qū)已經(jīng)有了 BTRFS 用來作為對 ZFS 的回應(yīng)了,但前段時間有消息傳出稱有開發(fā)團隊(來自印度的 KQ Infotech 公司) 開始著手移植 ZFS 到 Linux 系統(tǒng)上,這個項目的主頁在這里:Native ZFS for Linux 。事實上早在這之前就有一個基于 FUSE 框架的 ZFS for Linux 項目,但它是用戶級的 ZFS 文件系統(tǒng),性能上要遜色很多,所以 Native ZFS for Linux 項目的目的之一也就是要取代這個 ZFS-FUSE ,為 Linux 提供原生的 ZFS 支持。(相關(guān)報道:6月第3周系統(tǒng)升級錄:ZFS與Linux文件系統(tǒng)的變革)
但問題是,由于 Linux Kernel 用的是 GPL 許可協(xié)議,而 ZFS 則是基于 Sun 的 CDDL 許可協(xié)議,由于這兩個許可協(xié)議存在著不兼容性,隨之而來的就是版權(quán)問題。所以為了解決版權(quán)問題,這個 Native ZFS for Linux 項目將會以內(nèi)核模塊的形式進行分發(fā),同時版權(quán)許可與 ZFS 一樣也基于 CDDL 協(xié)議。
而根據(jù) Phoronix 的報道,開發(fā) Native ZFS for Linux 項目的 KQ Infotech 公司將于下個月 ( 大約為 9 月 15 日左右) ,會正式發(fā)布一個完全可用的 Linux Kernel ZFS 模塊。這個 ZFS 模塊基于 ZFS Pool 18 ,已經(jīng)實現(xiàn)了 ZFS POSIX 層。但目前這個代碼只支持 64 位 Linux 系統(tǒng),同時他們還會發(fā)布適用于 Fedora 12 和 Red Hat Enterprise Linux 6 Beta 2 的 RPM 包。當(dāng)然你也可以在 Ubuntu 10.04 LTS 上使用該模塊,但必須要從源代碼手工編譯安裝。
有關(guān)ZFS文件系統(tǒng)的使用方法,可以參考以下文章:
以下是來自Phoronix的詳細(xì)報導(dǎo):
#p#
本部分來源:http://linuxtoy.org/archives/linux-native-zfs-support-is-coming.html
美國Lawrence Livermore National Laboratory依據(jù)該實驗室安全部門和美國能源部的一份協(xié)議開發(fā)了ZFS的Linux的原生支持,但此項目的代碼并不可以直接使用——因其不提供POSIX接口。印度的Knowledge Quest Infotech公司則達(dá)到了該目標(biāo),他們從去年開始自己的移植工作。
早些時候KQ Infotech的Business Manager, Darshin Vyas,在Phonronix論壇中發(fā)出聲明(此鏈接指向的討論包含了比本文更加詳盡的信息),該項目已接近Beta狀態(tài)。
由于Solaris自身發(fā)布協(xié)議和專利糾紛的限制,此項目的代碼仍是基于CDDL發(fā)布的,因而不會進入主線內(nèi)核,故他們只會提供可以編譯為內(nèi)核模塊的源代碼,由最終用戶自行“嵌入”GPL的內(nèi)核,并且不使用任何GPL-only symbols,規(guī)避了GPL的Copyleft條款要求將非GPL程序嵌入GPL程序的行為人(此場合下即最終用戶,無再發(fā)布的需要)分發(fā)程序必須以GPL發(fā)布的協(xié)議沖突問題(這是常見的GPL規(guī)避手段之一)。同時該公司似乎確信Oracle不會對他們采取法律行動。
代碼預(yù)計在九月15日發(fā)布,將只能支持64位內(nèi)核,同時將提供用于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雖好,但不能確定其未來的法律風(fēng)險,也不能指望得到Oracle/Sun的許可。由于上述的許可證糾紛,無論是官方內(nèi)核還是主要的發(fā)行版都不可能采用它,任何人想用ZFS作為Linux的根文件系統(tǒng)的人都必須自己編譯內(nèi)核并自行處理安裝問題。
同時其基于ZFS Pool 18,雖然較新,但非***的21,故仍缺乏de-duplication support和其他一些在OpenSolaris解散前加入的更新穎的功能。只有X86-64支持,也進一步限制了其應(yīng)用。同樣令其前景模糊不清的是——KQ Infotech一直在關(guān)門開發(fā),至今外界無法得到一行代碼——該公司是會一直以自由許可提供該模塊,還是會將其拿來用商業(yè)許可套現(xiàn)。
由于功能上與向ZFS看齊的Btrfs日趨完善,并正在成為Linux的下一代“標(biāo)準(zhǔn)”文件系統(tǒng),所以如果這項工作早個兩三年完成的話,重要性可能會比現(xiàn)在大。在Phoronix上個月進行的一系列測試:Running ZFS with CAM-based ATA、ZFS On FreeBSD vs. EXT4 & Btrfs On Linux、Btrfs, EXT4, & ZFS On A Solid-State Drive中,Ext4/Btrfs on Linux無論是機械硬盤還是固態(tài)硬盤性能都把ZFS on FreeBSD 8.1甩開了好幾條街。雖然可以將之歸咎為FreeBSD自身的瓶頸,但也很難指望ZFS在Linux上能比EXT4/Btrfs有什么性能優(yōu)勢(如果不說完全不可能的話)。
考慮到以上幾點,這個模塊可能用于嘗鮮會很有趣,但不可能改變Linux文件系統(tǒng)的前景,它自身估計也只會在小范圍內(nèi)應(yīng)用。
LLNL方面的情況:
勞倫斯—利物浦國家實驗室(Lawrence Livermore National Laboratories)的Linux ZFS移植項目的領(lǐng)導(dǎo)人Brian Behlendorf向Phoronix方面提供了以下信息:
1.KQ Infotech的工作是基于LLNL的基礎(chǔ)上的,具體來說是該實驗室發(fā)布在Github上的SPL ZFS 0.4.9源代碼。
2.Brian Behlendorf打算把KQ Infotech的改進合并回自己方面的代碼庫。
3.LLNL的ZFS移植最終會升級到onnv_147——Oracle廢棄OpenSolaris之前的***一版,不過這之前要花些時間,因為他們需要“維持現(xiàn)有的穩(wěn)定性和Linux內(nèi)核的可移植性。
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仍在開發(fā)中,還有大量工作要做,它目前的狀況并不是那么樂觀。
不管怎么說,好在有LLNL的技術(shù)支持和美國能源部的合同在那里,Linux的原生ZFS支持還是可以期待的。