APFS用於macOS,iOS,watchOS和tvOS
APFS(Apple文件系統)是用於組織和構建存儲系統上的數據的系統。 最初與macOS Sierra一起發布的APFS取代了30年前的HFS + 。
HFS +和HFS(分層文件系統的稍早版本)最初是在軟盤時創建的,而軟盤是用於Mac的主要存儲介質,因為旋轉硬盤是第三方提供的昂貴選項。
過去,蘋果一直在替換HFS +,但已經包含在iOS , tvOS和watchOS中的 APFS現在成為macOS High Sierra和後來的默認文件系統。
APFS針對今天和未來的存儲技術進行了優化
HFS + 在800kb軟盤為王時實施。 目前的Mac可能不會使用軟盤,但旋轉硬盤似乎已經過時了 。 隨著Apple在所有產品中強調基於閃存的存儲,優化用於旋轉媒體的文件系統以及等待磁盤旋轉的固有延遲並沒有太大意義。
APFS的設計始於SSD和其他基於閃存的存儲系統。 儘管APFS針對固態存儲器的工作原理進行了優化,但它與現代硬盤驅動器的配合良好。
未來打樣
APFS支持一個64位的inode編號。 inode是標識文件系統對象的唯一標識符 。 文件系統對象可以是任何東西; 一個文件,一個文件夾。 使用64位的inode,APFS可以容納大約9個百萬個文件系統對象,超過21億的舊限制。
Nine quintillion可能看起來像一個相當大的數字,你可以正確地問什麼存儲設備將有足夠的空間來容納這麼多的對象。 答案需要窺探存儲趨勢。 考慮一下:蘋果已經開始將企業級存儲技術轉移到消費級產品上,例如Mac和其使用分層存儲的能力。 這在Fusion驅動器中首次出現,它將數據在高性能SSD和較慢但體積較大的硬盤之間移動。 經常訪問的數據保存在快速SSD上,而使用較少的文件則存儲在硬盤上。
通過macOS ,Apple通過添加基於iCloud的存儲擴展了這一概念。 允許您已經觀看過的電影和電視節目存儲在iCloud中,以釋放本地存儲空間。 雖然這最後一個例子並不需要跨分區存儲系統使用的所有磁盤都使用統一的inode編號系統,但它確實表明了蘋果可能正在進入的一個大方向; 將多種最適合用戶需求的存儲技術結合在一起,並讓操作系統將其視為單個文件空間。
APFS特性
APFS具有許多將舊版文件系統與眾不同的功能。
- 克隆 - 克隆允許幾乎即時的文件副本而不使用額外的空間。 而不是將文件從一個位置逐位拷貝到另一個位置,而是使用克隆引用原始文件,共享兩個文件之間相同的數據塊。 對一個文件進行更改,只有已更改的數據塊被寫入新克隆,而原始和克隆都會繼續共享未更改的數據塊。 這不僅使文件複製和保存特別快,而且還節省了存儲空間需求。
- 快照 - APFS可以創建代表某個時間點的捲快照。 可以使用快照來促進高效的備份,並且可以讓您回到特定時間點的事情。 快照是指向原始卷及其數據的只讀指針。 除了存儲指向原始卷的指針所需的空間量之外,新快照不會佔用實際空間。 隨著時間的流逝,對原始捲進行更改,快照僅更新為僅發生更改。
- 加密 - APFS使用AES-XTS或AES-CBC模式支持強大的全盤加密 。 文件和元數據都將被加密。 支持的加密方法包括:
- 清除(不加密)。
- 單密鑰。
- 多密鑰,包含數據和元數據的每個文件密鑰。
- 空間共享 - 空間共享結束了預定義的分區大小; 相反, 所有捲都共享驅動器上的基礎可用空間 。 空間共享將允許驅動器上的多個卷根據需要動態增長和減少,而不需要重新分區。
- 寫時復制 - 這種數據保護方案允許數據結構只要沒有改變就可以共享。 一旦請求更改(寫入),就會創建一個新的唯一副本,確保原始文件保持不變。 只有在寫入完成後,文件信息才會更新以指向新數據。
- 原子安全保存 - 這與寫時復制的想法類似,但適用於任何文件操作,例如重命名或移動文件或目錄。 以重命名為例,即將重命名的文件將與新數據(文件名)一起復制; 直到復製過程完成,文件系統才會更新以指向新數據。 這可以確保,如果由於任何原因(如電源故障或某種類型的CPU打嗝),寫入未完成,原始文件保持不變。
- 稀疏文件 - 這種分配文件空間的更有效方式允許文件空間僅在實際需要時增長。 在非稀疏文件系統中,即使沒有數據準備好存儲,也必須預先保留文件空間。