ReFS

出自Local Chinese Wikipedia
imported>Zestbot2025年11月20日 (四) 08:48的修訂 top:​ bot:替換lang-x模板為langx
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

Template:更新

頁面Module:Message box/mbox.css沒有內容。頁面Template:Ambox/style.css沒有內容。

package.lua第80行Lua錯誤:module 'Module:CGroup/core' not found Template:Hatnote

頁面Module:Infobox/styles.css沒有內容。

ReFS
開發者Microsoft
全稱Resilient File System
發布2012年8月1日,​腳本錯誤:沒有「TimeAgo」這個模塊。​(2012-08-01[1] (Windows Server 2012)
限制
最大文件尺寸16 exabyte
最大卷容量1 yottabyte
功能
屬性
透明壓縮
寫入時複製
作業系統支持Microsoft Windows

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

設計理念[編輯]

ReFS旨在克服NTFS被構想以來出現的重要問題,面向已改變的數據存儲需求。ReFS的關鍵設計優勢包括自動腳本錯誤:沒有「ilh」這個模塊。數據清理、避免需要運行chkdsk、防止腳本錯誤:沒有「ilh」這個模塊。、內置硬碟故障冗餘的處理、集成RAID功能、數據和元數據更新切換到寫時複製/分配超長路徑和文件名的處理,以及存儲虛擬化和存儲池、包括幾乎任意大小的邏輯卷(與所用驅動器的物理大小無關)。

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

應用場景[編輯]

ReFS最初只被添加到Windows Server 2012,目標是逐步遷移到未來版本的消費者系統中(很快就有愛好者以腳本錯誤:沒有「ilh」這個模塊。方式解鎖這點)。最初的版本中移除了一些NTFS功能,例如腳本錯誤:沒有「ilh」這個模塊。備用數據流擴展屬性,因此引發了一定關注。有部分功能已在更高版本的ReFS中重新實現。

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

從Windows Server 2022和Windows 11 v21H2開始,其UEFI引導環境原生支持ReFS啟動,並允許將系統以特殊方式安裝在用ReFS v3格式化的卷中運行,如果是採用ReFS v1格式化的卷則不能使用ReFS啟動。[10]

Windows 11 Build 27823開始,微軟為Windows 11的安裝過程引入新的存儲配置選項,允許用戶在安裝系統時選擇使用ReFS替代默認NTFS格式,不過該功能尚未完全開放[11]

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

重要新功能[編輯]

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

已移除功能[編輯]

某些NTFS功能在ReFS的初始版本中已移除或不支持。這包括備用數據流對象ID8.3文件名NTFS壓縮加密文件系統(EFS)、腳本錯誤:沒有「ilh」這個模塊。硬連結擴展屬性腳本錯誤:沒有「ilh」這個模塊。[12][3][16]ReFS最初不提供重複數據刪除[12]在隨後的v3.2版本中實現。此外,Windows目前不能從ReFS卷引導啟動。[12]鏡像或條帶化卷的動態磁碟已被「存儲空間」提供的鏡像或條帶化存儲池取代;自動糾錯僅在鏡像空間支持。

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

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

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

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

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

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

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

參見[編輯]

參考資料[編輯]

  1. 腳本錯誤:沒有「citation/CS1」這個模塊。
  2. 腳本錯誤:沒有「citation/CS1」這個模塊。
  3. 3.0 3.1 腳本錯誤:沒有「citation/CS1」這個模塊。
  4. 腳本錯誤:沒有「citation/CS1」這個模塊。
  5. 腳本錯誤:沒有「citation/CS1」這個模塊。
  6. 腳本錯誤:沒有「citation/CS1」這個模塊。
  7. 7.0 7.1 7.2 腳本錯誤:沒有「citation/CS1」這個模塊。
  8. 8.0 8.1 腳本錯誤:沒有「citation/CS1」這個模塊。
  9. 9.0 9.1 9.2 腳本錯誤:沒有「citation/CS1」這個模塊。
  10. 腳本錯誤:沒有「citation/CS1」這個模塊。
  11. 腳本錯誤:沒有「citation/CS1」這個模塊。
  12. 12.0 12.1 12.2 12.3 12.4 12.5 12.6 腳本錯誤:沒有「citation/CS1」這個模塊。
  13. 13.0 13.1 腳本錯誤:沒有「citation/CS1」這個模塊。
  14. 腳本錯誤:沒有「citation/CS1」這個模塊。
  15. 腳本錯誤:沒有「citation/CS1」這個模塊。
  16. 腳本錯誤:沒有「citation/CS1」這個模塊。
  17. 腳本錯誤:沒有「citation/CS1」這個模塊。
  18. 腳本錯誤:沒有「citation/CS1」這個模塊。
  19. 腳本錯誤:沒有「citation/CS1」這個模塊。
  20. 腳本錯誤:沒有「citation/CS1」這個模塊。

外部連結[編輯]

Template:File systems Template:NavboxV2