Linux下的ZFS,好用嗎?
我可以讓 ZFS 在 Linux 中正常工作嗎?
有任何警告/限制嗎?
ZFS 不在官方 Linux 核心中,除非 Oracle 以與 GPL 兼容的方式重新許可程式碼,否則永遠不會。
這種不兼容是有爭議的。支持在 Linux 系統上允許 ZFS 的主要論據圍繞著所謂的“公平交易”規則。只有當 ZFS 作為獨立於核心的模組提供時,該規則才適用於這種情況,兩者僅通過已發布的 API 進行通信,並且兩個程式碼庫可以彼此獨立執行。然後聲稱程式碼庫的許可證都沒有污染另一個,因為兩者都不是另一個的派生作品;他們是獨立的,但合作。儘管如此,即使在這種解釋下,這意味著 ZFS 模組仍必須與 Linux 核心分開傳遞,這就是我們今天看到的 Ubuntu提供的方式。
與 CDDL 與 GPL 的爭論完全不同的是,NetApp 聲稱他們擁有 ZFS 中使用的某些技術的專利。NetApp 在甲骨文收購後與 Sun 達成和解,但該和解並未保護任何其他 Linux 分銷商。(紅帽、Ubuntu、SuSE…)
在我看來,這些是您的選擇:
- 請改用btrfs,因為它具有與 ZFS 相似的功能,但沒有 GPL 許可證衝突,並且自 2.6.29(2009 年 1 月發布)以來一直在主線核心中進行測試。
btrfs 的主要問題是它的RAID 5/6 功能長期以來一直存在問題。這些問題正在得到解決,但每次出現這些問題之一時,它都會重置“穩定時鐘”。
另一個擔憂是 Red Hat表示Red Hat Enterprise Linux 的下一個版本將不包含 btrfs。
- Red Hat 在 btrfs 上採取這種立場的原因之一是他們計劃使用他們稱為 Stratis 的不同技術堆棧來提供類似的功能。因此,另一個選擇是等待 Stratis 出現,1.0 計劃在 2018 年上半年發布,大概與 Red Hat Enterprise Linux 8 同步。
- 為您的文件伺服器使用不同的作業系統(例如 FreeBSD)並使用 NFS 將其連接到您的 Linux 機器
- 在 FUSE 上使用ZFS ,這是一種使用者空間實現,可以巧妙地解決核心許可問題,但會犧牲大量性能
- 安裝作業系統後在 Linux 上集成ZFS 。
許可證衝突使得在您的組織之外分發組合系統在法律上存在問題。我不是律師,但我的感覺是,拋開專利問題不談,在 Linux 上分發 ZFS 與在系統中分發非 GPL 二進制驅動程序(例如用於某些影片卡的驅動程序)一樣令人擔憂。如果其中一個讓您感到困擾,那麼另一個也應該如此。
- 切換到 Ubuntu,它自 16.04 以來一直隨作業系統一起提供 ZFS 核心模組。Canonical 認為將 ZFS 核心模組與作業系統本身一起分發在法律上是安全的。您必須決定是否相信 Canonical 的意見;還要考慮到,如果出現法律問題,他們可能不願意賠償您。
請注意,如果沒有大量手動操作,目前無法使用 Ubuntu 從 ZFS 引導。
順便說一句,btrfs 也得到了 Oracle 的支持,但在被 Sun 收購之前幾年就開始了。我不相信這兩者會合併,或者由於許可沖突和專利問題,一個被棄用而有利於另一個。ZFS 太受歡迎而不能消失,但對 ZFS 替代品的需求將繼續存在。