ReFS
開發者 | Microsoft |
---|---|
全稱 | Resilient File System |
發布 | 2012年8月1日Windows Server 2012) | (
限制 | |
最大檔案尺寸 | 16 exabyte |
最大卷容量 | 1 yottabyte |
功能 | |
內容 | 是 |
透明壓縮 | 否 |
寫入時複製 | 是 |
作業系統支援 | Microsoft Windows |
彈性檔案系統(英語:Resilient File System,簡稱ReFS),代號「Protogon」。這是一個微軟在Windows Server 2012中引入的專有檔案系統,目的是成為NTFS之後的「下一代」檔案系統。
ReFS旨在克服NTFS被構想以來出現的重要問題,面向已改變的資料儲存需求。ReFS的關鍵設計優勢包括自動完整性檢查和資料清理、避免需要執行chkdsk、防止資料衰落、內建硬碟機故障和冗餘的處理、整合RAID功能、資料和元資料更新切換到寫時複製/分配、超長路徑和檔名的處理,以及儲存虛擬化和儲存池、包括幾乎任意大小的邏輯卷(與所用驅動器的物理大小無關)。
儲存系統和使用情況的需求已發生改變——儲存裝置的大小(大容量或TB級儲存陣列正日益常見)和持續可靠性需求。因此,該檔案系統需要根據物理磁碟和邏輯卷之間的抽象層或虛擬化完成自我修復,避免介入緩慢或必須中斷的磁碟檢查)。
ReFS最初只被添加到Windows Server 2012,目標是逐步遷移到未來版本的消費者系統中(很快就有愛好者以修改方式解鎖這點)。最初的版本中移除了一些NTFS功能,例如磁碟配額、備用資料流和擴充內容,因此引發了一定關注。有部份功能已在更高版本的ReFS中重新實現。
在ReFS的早期版本(2012年-2013年)中,它在測試中類似或略高於NTFS的水平,但在完整性檢查時遠慢於NTFS,這是因為ReFS新採用了奇偶效驗。也有使用者在預發布版本中提到了到儲存空間,該儲存系統旨在支撐ReFS,但據稱它可能會導致ReFS自動恢復失敗。
相較NTFS的功能變化
重要新功能
- 改進磁碟結構可靠性
- ReFS對所有儲存在磁碟上的結構使用B+ 樹,包括所有元資料和檔案資料。元資料和檔案資料被組成一個類似關聯式資料庫的資料表。檔案大小、資料夾內的檔案數和卷總大小及卷中資料夾數量都採用64位元數字;因此,ReFS支援最多16 EB的檔案大小,最多18.4 × 1018個目錄和最大1 YB(64 KB簇的卷),這允許較大的可延伸性,對檔案和目錄大小沒有實際限制(硬體限制仍適用)。空閒空間是由一個分層分配器計算,其中包括三個單獨的表,分別儲存大、中、小塊。
- 內建復原
- ReFS對元資料採用allocation-on-write更新策略,每次更新時分配新塊並採用批次IO。所有ReFS元資料都採用獨立儲存的64位元校驗和。檔案資料可以單獨擁有可選的「完整性流」校驗和,那種情況下檔案更新策略也實現寫時複製;新的「完整性」內容可套用到檔案和目錄。如果檔案資料或元資料損壞,檔案可以直接刪除而無需離線維護整個卷,並且檔案可以從備份恢復。因為內建彈性設計,管理員不需要對ReFS定期執行錯誤檢查工具,例如CHKDSK。
- 與現有API和技術相容
- ReFS支援NTFS特性的一個子集,並且僅「廣泛使用」的Win32 API支援它;但它不需要新的系統API,並且大多數檔案系統篩選器可在ReFS卷工作。ReFS支援許多現有的Windows和NTFS特性,例如BitLocker 加密、訪問控制列表、USN紀錄檔、變更通知、符號連結、junction點、掛載點、重解析點、卷快照、檔案ID和操作釘選。ReFS與儲存空間無縫整合,儲存虛擬化層允許資料被鏡像或條帶化,以及作為機器之間的共享儲存池。ReFS的可恢復功能增強了儲存空間提供的鏡像功能,可以使用資料清理流程檢測是否有任何檔案的鏡像副本已經損壞(可選啟用) ,它會定期讀取所有副本並驗證它們的校驗和,然後使用良好副本替換損壞副本。
已移除功能
某些NTFS功能在ReFS的初始版本中已移除或不支援。這包括備用資料流、對象ID、8.3檔名、NTFS壓縮、加密檔案系統(EFS)、事務性NTFS、硬連結、擴充內容和磁碟配額。ReFS最初不提供重複資料刪除,在隨後的v3.2版本中實現。此外,Windows目前不能從ReFS卷引導啟動。鏡像或條帶化卷的動態磁碟已被「儲存空間」提供的鏡像或條帶化儲存池取代;自動糾錯僅在鏡像空間支援。
在後續實現的Windows 8.1 64位元和Server 2012 R2的ReFS中,檔案系統開始支援備用資料流,最大長度128K,以及完整性流在奇偶效驗空間上自動糾正損壞資料。ReFS在缺乏備用資料流的支援時不適合Microsoft SQL Server實例分配。
穩定性和已知問題
一些ReFS與「儲存空間」共同執行時的出現問題已被提出或建議,包括:
- 在「儲存空間」上添加自動精簡組態的ReFS可能以非正常的方式失敗,卷會沒有警告地變為無法訪問或無法管理。發生此情況的可能原因是,如果物理磁碟的基本儲存空間太慢。Smallnetbuilder評論說,這種情況下,修復可能會「望而卻步」,因為理論上進展需要需要辨識儲存空間的布局和恢復它們,而這在開始前需要恢復任何ReFS檔案系統內容;因此推薦同時採用備份手段。
- 即使「儲存空間」非自動精簡組態,ReFS在某些情況下仍可能無法有把握的糾正所有檔案錯誤。因為儲存空間以塊而非檔案操作,如果儲存空間的某些部份工作異常,某些檔案可能會缺乏必要的塊或恢復資料。因此,磁碟和資料的添加和刪除可能會受損,以及冗餘轉換變得困難或不可能。
- 因為ReFS不是為應對故障設計,如果它發生故障,目前沒有工具來修復它。第三方工具只能逆向工程該系統,截至2014年只有寥寥幾個工具。
與競爭對手的效能比較
2014年,一篇對ReFS的評論與準備在生產中使用的評估顯示,ReFS在與它的兩個主要競爭對手(檔案系統)的比較中具有關鍵優勢。ZFS(在Solaris和FreeBSD中使用)被廣泛批評為使用數GB的記憶體用於連線重複資料消除,這影響了它在大量中小型系統上的使用。但是,在關閉ZFS的連線重複資料消除後(因為ReFS不支援此功能),ZFS只占用幾百MB記憶體,與另外兩個系統相對持平。Drobo等方案使用專有方法,這意味著如果故障且廠商也無法解決,沒有其他解決方案。
2012年,Phoronix撰寫了一篇ReFS對戰Btrfs的分析(Btrfs是適用於Linux的一個寫時複製檔案系統)。兩者具有類似的特性,都支援校驗和、類RAID使用多塊磁碟,以及錯誤檢測與糾正。但是,當時的ReFS缺乏重複資料刪除、寫時快照和壓縮,而Btrfs和ZFS支援上述技術。
參見
參考資料
外部連結
|
|