1. 程式人生 > >FreeBSD中ZFS的未來

FreeBSD中ZFS的未來

  

原文地址

FreeBSD ZFS支援的原始碼目前直接來自Illumos,帶有本地ifdef,以支援FreeBSD的特性, 而Solaris可移植層(SPL)不足。

FreeBSD定期從Illumos中獲取更改並試圖反饋在FreeBSD環境下完成的任何修復和新功能。 在過去的幾年裡,ZFS的絕大多數新開發都在DelphixOS和zfsonlinux(ZoL)中進行。 今年早些時候,Delphix宣佈他們將轉向ZoLhttps://www.delphix.com/blog/kickoff-future-eko-2018 這一轉變意味著Illumos的新開發很少甚至沒有。

通過ZoL的git更新歷史, 我還發現ZoL中已經修復了許多種族和鎖定錯誤, 並且從未對Illumos和FreeBSD進行過修改。

這種狀況導致了我所談到的利益相關者之間的一致意見, 認為在 基於ZoL 重新開發FreeBSD的ZFS是有意義的。

Brian Behlendorfhas鼓勵我將FreeBSD支援直接新增到 ZoL https://github.com/zfsonfreebsd/ZoF, 這樣我們就可以擁有一個單獨的程式碼庫。

可以在https://github.com/miwi-fbsd/zof-port 找到zfs的移植(port)

Before可以提交一些額外的功能需要加入到FreeBSD opencrypto框架中。 這些可以在以下網址找到

https://reviews.freebsd.org/D18520

這個移植(Port)將為FreeBSD使用者提供多修改器保護, 專案配額, 加密資料集, 分配類, vectorized raidz, 向量化校驗和以及各種命令列改進。

在ZoF可以合併之前回到ZoL需要採取幾個步驟:

  • 將FreeBSD支援整合到ZoL CI中

  • 大多數ZFS測試套件都通過

  • 在iXWe上完成iXWe的額外QA測試

測試需要移植ZoL的EC2 CI指令碼以與FreeBSD一起工作並確保大多數ZFS測試套件(ZTS)通過。 整合到他們的CI將意味著,除了其他事項之外, 大多數整合問題將在PR合併到上游之前被捕獲, 而不是幾個月之後它被MFVed到FreeBSD中。我希望在1月份的某個時間將PR提交給ZoL。

這個移植(Port)將使終端使用者在一系列版本中輕鬆獲得最新版本的ZFS。 儘管如此,從基於Illumos的ZFS過渡不太可能是完全無縫的。 我與之談過的利益相關者都認為這是最好的途徑,但需要在適應當地消費者方面做出一定程度的努力。

目前的計劃是引進ZoF並取消掛鉤4月15日或者iX系統QA認為ZoF穩定後的兩個月內, 基於Illumos的舊版原始碼 將在以後移除,13日前。

這將為使用者提供3個月的時間段,在此期間, 使用者可以使用基於Illumos的移植(Port) 和傳統的ZFS。

Pools應該在ZoF和Lagacy 之間進行互操作 如果使用者未啟用僅在ZoF中可用的任何功能。

我們將努力適應任何下游消費者   如果那樣的話 他們需要推遲日期。

我們要求任何下游消費者 誰對變化特別敏感   開始測試移植(Port) 當正式宣佈時, 報告他們遇到的任何問題

我將盡最大努力確保將此資訊傳達給所有可能關心的人。 但是,我無法確保每個人都閱讀這些列表。

這是-CURRENT使用者的責任。