ZFS - The Last Word in File Systems

22 views
Skip to first unread message

kuli

unread,
Apr 13, 2007, 9:21:12 PM4/13/07
to jengyic's 個人群組
想出上述標題的人真厲害,光看標題就讓人熱血沸騰了。
本篇來分享一下這兩天 ZFS 的讀書心得報告 : )

ZFS 是 2004 / 2005 年間在 OpenSolaris 上開始的夢幻級 file system 計畫,主要目標是做出一個在
user 端來看,與現有的 POSIX 規格的 FS 沒有明顯不同 (例如 UFS),但在 admin 端來看,極具前瞻性、足供未來
10-20 年使用的先進 FS。它的夢幻程度,不如從 Sun 自己口中來說,請看一下這頁 http://www.sun.com/2004-0914/feature/

看完這些夢幻的形容後,可以看看這個 wiki,對於 ZFS 有明確的數字的描述,也對他的優點及其限制有一番相當中肯的說明
http://en.wikipedia.org/wiki/ZFS

因為這兩個網頁已經說的夠好,實在已無切入點可以自己再另寫一段文字加以介紹,所以不如從實務面上來看看這個 ZFS 究竟離我們還有多遠。ZFS 繼
在 Solaris 10 中正式現身後,現在也已經成功 porting 進入 FreeBSD 7 中,大概下一個 snapshot 就可以用
了。zfs 目前無法用來開機 (也就是說,無法用來容納 /boot,不過在 Solaris 已解決,FreeBSD 遲早也會跟上),但是超大的
空間、可以自由增減 zpool 中的實體磁碟 (目前 FreeBSD 這頭能增不能減)、具備自行修復特性、又可以非常有效率的進行 FS 的
snapshot 及 clone,真是很完美的資料碟方案。

很特別的一點是,在 ZFS 的支援上 FreeBSD 跑在 Linux 前面,卻不是因為技術的理由,而是因為 license 的關
係。FreeBSD license 與 ZFS 所屬的 CDDL 授權是相容的,因此可以合法將 ZFS porting 到 FreeBSD 的
系統中。但是 Linux kernel 是 GPL,與 CDDL 不相容,因此讓 ZFS 的程式碼與 Linux kernel 連結在一起是非
法的。為此,Linux 世界下,目前只能把 ZFS 以 userland 程式的方式實作,靠 fuse 連入系統。但是當然,透過
userland 的 fuse 方案,效率要大打折扣。不巧版權的問題是政治問題,並非技術面所能解決,所以 linux 短期內大概不會有
kernel 的 ZFS 出現了。

很勁爆的是,Sun 在推出 ZFS 時,是故意選擇與 GPL 不相容的 CDDL 的。對於 license 何以不相容有興趣的人可以從這頁開始
尋寶 http://www.gnu.org/licenses/license-list.html#SoftwareLicenses (請往下搜
尋 CDDL) 簡略的說,CDDL 對於程式碼的管控有相當多的限制,是 Free Software Foundation 看不下去,被認定為不
夠 open 的。大概兩家有仇吧。

kuli

unread,
Apr 13, 2007, 10:42:27 PM4/13/07
to jengyic's 個人群組
補充一些資料

ZFS 已 porting 進入 FreeBSD 的正式新聞在此 http://lists.freebsd.org/pipermail/freebsd-current/2007-April/070544.html
目前在 FreeBSD 的主要限制為:
1. 目前不能用來開機 (所以暫時不能用做 / slice 的 FS)
2. 目前還不支援 ACL
3. 目前還沒完整支援 iSCSI

此外從最近一季的 FreeBSD Status Report 來看,最新的 FreeBSD 7 具備了下列新玩意:
1. ZFS
2. 8 CPU 以內的 SMP 效能大增。主因為 giant lock 的逐步移除,及 scheduler lock 轉移為 per
CPU lock
3. 支援 802.3ad,使單台 server 可藉由多個網路界面合併頻寬、網路容錯、線路 load balance
詳情請參考 http://www.freebsd.org/news/status/report-2007-01-2007-03.html

因此做為一個計算或提供服務的 server 來看,FreeBSD 的戰力大增。



Reply all
Reply to author
Forward
0 new messages