ReFS

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
ReFS
開發者Microsoft
全稱Resilient File System
發布2012年8月1日,​11年前​(2012-08-01[1] (Windows Server 2012)
限制
最大文件尺寸16 exabyte
最大卷容量1 yottabyte
功能
屬性
透明壓縮
寫入時複製
操作系統支持Microsoft Windows

彈性文件系統(英語:Resilient File System,簡稱ReFS[2],代號「Protogon」[3]。這是一個微軟Windows Server 2012中引入的專有文件系統,目的是成為NTFS之後的「下一代」文件系統。

ReFS旨在克服NTFS被構想以來出現的重要問題,面向已改變的數據存儲需求。ReFS的關鍵設計優勢包括自動完整性檢查英語File_integrity_monitoring數據清理、避免需要運行chkdsk、防止數據衰落英語Data_degradation、內置硬盤驅動器故障英語Hard_disk_drive_failure冗餘的處理、集成RAID功能、數據和元數據更新切換到寫時複製/分配超長路徑和文件名的處理,以及存儲虛擬化和存儲池、包括幾乎任意大小的邏輯卷(與所用驅動器的物理大小無關)。

存儲系統和使用情況的需求已發生改變——存儲設備的大小(大容量或TB級存儲陣列正日益常見)和持續可靠性需求。因此,該文件系統需要根據物理磁盤和邏輯卷之間的抽象層或虛擬化完成自我修復,避免介入緩慢或必須中斷的磁盤檢查)。

ReFS最初只被添加到Windows Server 2012,目標是逐步遷移到未來版本的消費者系統中(很快就有愛好者以修改英語Modding方式解鎖這點)。最初的版本中移除了一些NTFS功能,例如磁盤配額英語Disk_quota備用數據流擴展屬性,因此引發了一定關注。有部分功能已在更高版本的ReFS中重新實現。

在ReFS的早期版本(2012年-2013年)中,它在測試中類似或略高於NTFS的水平[4],但在完整性檢查時遠慢於NTFS,這是因為ReFS新採用了奇偶效驗。[5][6]也有用戶在預發布版本中提到了到存儲空間,該存儲系統旨在支撐ReFS,但據稱它可能會導致ReFS自動恢復失敗。[7][8][9]

相較NTFS的功能變化[編輯]

重要新功能[編輯]

改進磁盤結構可靠性
ReFS對所有存儲在磁盤上的結構使用B+ 樹,包括所有元數據和文件數據。[10][11]元數據和文件數據被組成一個類似關係數據庫的數據表。文件大小、文件夾內的文件數和卷總大小及卷中文件夾數量都採用64位數字;因此,ReFS支持最多16 EB的文件大小,最多18.4 × 1018個目錄和最大1 YB(64 KB的卷),這允許較大的可擴展性,對文件和目錄大小沒有實際限制(硬件限制仍適用)。空閒空間是由一個分層分配器計算,其中包括三個單獨的表,分別保存大、中、小塊。
內置復原
ReFS對元數據採用allocation-on-write更新策略[10],每次更新時分配新塊並採用批次IO。所有ReFS元數據都採用獨立存儲的64位校驗和。文件數據可以單獨擁有可選的「完整性流」校驗和,那種情況下文件更新策略也實現寫時複製;新的「完整性」屬性可應用到文件和目錄。如果文件數據或元數據損壞,文件可以直接刪除而無需脫機維護整個卷,並且文件可以從備份恢復。因為內置彈性設計,管理員不需要對ReFS定期運行錯誤檢查工具,例如CHKDSK
與現有API和技術兼容
ReFS支持NTFS特性的一個子集,並且僅「廣泛使用」的Win32 API支持它;但它不需要新的系統API,並且大多數文件系統篩選器可在ReFS卷工作。[10]ReFS支持許多現有的Windows和NTFS特性,例如BitLocker 加密、訪問控制列表USN日誌、變更通知[12]符號鏈接junction點英語NTFS_junction_point掛載點重解析點卷快照文件ID操作鎖定。ReFS與存儲空間無縫集成[10]存儲虛擬化層允許數據被鏡像或條帶化,以及作為機器之間的共享存儲池。[13]ReFS的可恢復功能增強了存儲空間提供的鏡像功能,可以使用數據清理流程檢測是否有任何文件的鏡像副本已經損壞(可選啟用) [11],它會定期讀取所有副本並驗證它們的校驗和,然後使用良好副本替換損壞副本。

已移除功能[編輯]

某些NTFS功能在ReFS的初始版本中已移除或不支持。這包括備用數據流對象ID8.3文件名NTFS壓縮加密文件系統(EFS)、事務性NTFS英語Transactional_NTFS硬鏈接擴展屬性磁盤配額英語Disk_quota[10][3][14]ReFS最初不提供重複數據刪除[10]在隨後的v3.2版本中實現。此外,Windows目前不能從ReFS卷引導啟動。[10]鏡像或條帶化卷的動態磁盤已被「存儲空間」提供的鏡像或條帶化存儲池取代;自動糾錯僅在鏡像空間支持。

在後續實現的Windows 8.1 64位和Server 2012 R2的ReFS中,文件系統開始支持備用數據流,最大長度128K,以及完整性流在奇偶效驗空間上自動糾正損壞數據。[15]ReFS在缺乏備用數據流的支持時不適合Microsoft SQL Server實例分配。[16]

穩定性和已知問題[編輯]

一些ReFS與「存儲空間」共同運行時的出現問題已被提出或建議[9],包括:

  • 在「存儲空間」上添加自動精簡配置的ReFS可能以非正常的方式失敗,卷會沒有警告地變為無法訪問或無法管理。[7]發生此情況的可能原因是,如果物理磁盤的基本存儲空間太慢。Smallnetbuilder英語Smallnetbuilder評論說,這種情況下,修復可能會「望而卻步」,因為理論上進展需要需要識別存儲空間的布局和恢復它們,而這在開始前需要恢復任何ReFS文件系統內容;因此推薦同時採用備份手段。[7]
  • 即使「存儲空間」非自動精簡配置,ReFS在某些情況下仍可能無法有把握的糾正所有文件錯誤。因為存儲空間以塊而非文件操作,如果存儲空間的某些部分工作異常,某些文件可能會缺乏必要的塊或恢復數據。因此,磁盤和數據的添加和刪除可能會受損,以及冗餘轉換變得困難或不可能。[8]
  • 因為ReFS不是為應對故障設計,如果它發生故障,目前沒有工具來修復它。第三方工具只能逆向工程該系統,截至2014年只有寥寥幾個工具。[9]

與競爭對手的性能比較[編輯]

2014年,一篇對ReFS的評論與準備在生產中使用的評估顯示,ReFS在與它的兩個主要競爭對手(文件系統)的比較中具有關鍵優勢。ZFS(在SolarisFreeBSD中使用)被廣泛批評為使用數GB的內存用於聯機重複數據消除,這影響了它在大量中小型系統上的使用。但是,在關閉ZFS的聯機重複數據消除後(因為ReFS不支持此功能),ZFS只占用幾百MB內存,與另外兩個系統相對持平。Drobo英語Drobo等方案使用專有方法,這意味着如果故障且廠商也無法解決,沒有其他解決方案。[17]

2012年,Phoronix撰寫了一篇[18]ReFS對戰Btrfs的分析(Btrfs是適用於Linux的一個寫時複製文件系統)。兩者具有類似的特性,都支持校驗和、類RAID使用多塊磁盤,以及錯誤檢測與糾正。但是,當時的ReFS缺乏重複數據刪除、寫時快照和壓縮,而Btrfs和ZFS支持上述技術。

參見[編輯]

參考資料[編輯]

  1. ^ Snover, Jeffrey. Windows Server 2012 released to manufacturing!. Windows Server Blog. Microsoft Corporation. 2012-08-01 [2014-09-02]. (原始內容存檔於2015-12-22). 
  2. ^ Lucas, Martin. Windows Server 2012: Does ReFS replace NTFS? When should I use it?. Ask Premier Field Engineering (PFE) Platforms. Microsoft. TechNet blogs. 2013-01-01 [2013-01-20]. (原始內容存檔於2013-05-15). 
  3. ^ 3.0 3.1 Foley, Mary Jo. Microsoft goes public with plans for its new Windows 8 file system. ZDNet. CBS Interactive. 2012-01-16 [2013-01-21]. (原始內容存檔於2013-05-15). 
  4. ^ ReFS vs NTFS Benchmark - First Ever - Exclusive Technology News. firstever.eu. [2016-06-26]. (原始內容存檔於2014-07-08). 
  5. ^ Relative Performance of Parity .vs. Mirror in Storage Spaces. Baris Eris's Blog. [2016-06-26]. (原始內容存檔於2014-06-22). 
  6. ^ 存档副本. [2016-06-26]. (原始內容存檔於2014-06-17). 
  7. ^ 7.0 7.1 7.2 Elena Pakhomova of ReclaiMe.com. Data Recovery Tales: When Windows Storage Spaces Go Bad. 2012-08-08 [2016-06-26]. (原始內容存檔於2016-07-30). 
  8. ^ 8.0 8.1 Windows 8 Storage Spaces: Bugs and Design Flaws. helgeklein.com. [2016-06-26]. (原始內容存檔於2016-06-18). 
  9. ^ 9.0 9.1 9.2 存档副本. [2014-06-17]. (原始內容存檔於2014-08-08). 
  10. ^ 10.0 10.1 10.2 10.3 10.4 10.5 10.6 Verma, Surendra. Sinofsky, Steven , 編. Building the next generation file system for Windows: ReFS. Building Windows 8. Microsoft. MSDN blogs. 2012-01-16 [2013-01-20]. (原始內容存檔於2013-05-15). 
  11. ^ 11.0 11.1 Meyer, David. Microsoft takes wraps off new Windows file system. ZDNet. CBS Interactive. 2012-01-17 [2013-01-20]. (原始內容存檔於2013-05-15). 
  12. ^ ReadDirectoryChangesW function. MSDN Library. Microsoft. 2012-11-08 [2013-01-21]. (原始內容存檔於2013-05-15). 
  13. ^ Nagar, Rajeev. Sinofsky, Steven , 編. Virtualizing storage for scale, resiliency, and efficiency. Building Windows 8. Microsoft. MSDN blogs. 2012-01-05 [2013-01-18]. (原始內容存檔於2013-05-15). 
  14. ^ Windows Server 2012: Does ReFS replace NTFS?. [2016-06-26]. (原始內容存檔於2013-05-15). 
  15. ^ Resilient File System Overview. TechNet Library. Microsoft. 2012-02-29 [2013-12-25]. (原始內容存檔於2017-02-01). 
  16. ^ Cherry, Denny. SQL Server Pro magazine. Troubleshooting SQL Server Storage Problems. Penton Media. 2012-08-21 [2016-06-26]. (原始內容存檔於2017-10-10). 
  17. ^ Windows Storage Spaces and ReFS: Is it time to ditch RAID for good?. BetaNews. [2016-06-26]. (原始內容存檔於2014-01-31). 
  18. ^ Microsoft's ReFS File-System: Competitor To Btrfs? - Phoronix. phoronix.com. [2016-06-26]. (原始內容存檔於2016-09-08). 

外部連結[編輯]