WWDC 2016 沒說到的秘密:APFS 檔案系統

這可能是將影響macOS未來數十年的重要技術,但在今年蘋果的WWDC 2016開幕演說中卻沒被提及。但對開發人員來說,Apple檔案系統(Appl File Sytem, APFS)卻很令人興奮。目前初版開發文件已經放上網站了,看來新增了許多好用的功能,其中幾個和ZFS有關。

這可能是將影響 macOS 未來數十年的重要技術,但在今年蘋果的 WWDC 2016 開幕演說中卻沒被提及。但對開發人員來說,Apple 檔案系統 (Apple File Sytem, APFS) 卻很令人興奮。目前初版開發文件已經放上網站了,看來新增了許多好用的功能,其中幾個和 ZFS 有關。

APFS 是蘋果傳統 HFS+檔案系統技術的重大更新版,後者已經用了幾十年。多年來業界一直呼籲 HFS+要擴充、新增功能,但它的延展性及彈性卻始終不及其他次世代檔案系統技術。 HFS+這次終於脫胎換骨,而不只是在舊程式碼外堆疊一堆東西。

首先,APFS 還在開發中

首先,在介紹它新增的好東西前,我們先談談它美中不足的地方,或是「還在開發中、還不太穩定的功能」。蘋果文件指出,由於 APFS 仍是開發者版本,因此 APFS 磁區不能作為啟動磁碟、設定給 Time Machine 用,或是組合成 Fusion Drive,也不能使用 File Vault 加密。

最重要的是,APFS 檔案系統目前區分英文字母大小寫,而且無法取消該設定。事實上 HFS+之所以能打敗大部份 Unix-y 檔案系統,正是因為它可以設定成不區分大小寫;事實上,在 OS X—現在該改叫 macOS—上執行區分大小寫的 HFS+可能就會有問題。不過目前如果你想用 APFS,必須在非啟動磁區上進行,還要小心大小寫的問題。

有鑒於現有限制,蘋果建議開發人員在沒有什麼重要資料的外接磁碟上測試 APFS 。如果你現在已拿到 Sierra,可以從 hdiutil 公用程式著手。

奈秒級時間戳記與檔案中繼資料寫入保護檔案

蘋果的技術文件列出這個檔案系統的許多特點。首先,它指出 APFS 是以 inodes 計算,支援 64-bit inode 編碼方式,在物件的時間戳記精密度上也大幅提升:APFS 支援 1 奈秒的時間戳記,不像 HFF+只有到 1 秒鐘的時間戳記而已。奈秒級時間戳記對現代化的檔案系統相當重要,因為對必須記錄每一筆寫入資料 (Atomicity) 的檔案系統來說,這種精確度有助於正確記錄所有步驟讀寫的順序。

APFS 也增加了「寫入即複製 (copy-on-write)」的 metadata 技術,蘋果稱之為「當機防護 (Crash Protection)」,它旨在確保即使寫入過程中發生什麼事如停電,也能確保資料的同步。

文件第一部份還有一些有趣的東西,包括支援 Sparse 檔案、 TRIM 支援(不論預設是不是蘋果的 SSD),並支援可延伸區塊配置 (Extensible Block Allocation),以便必要時能在大型磁碟上輕鬆初始化資料結構,無需一次設定所有東西,而且還必須使用 SMB 協定在網路上分享 APFS 磁區。但它並不支援 AFP(Apple Filing Protocol) 作 APFS 的分享。此外,技術文件中說明 APFS 內建支援延伸物件屬性,如果你還有資源複製 (fork) 的需求,這就滿有用的。

APFS 內建支援磁碟加密與寫入聚合

蘋果先前的全磁碟加密技術-File Vault 在新檔案系統有了大幅改進。其一,APFS 原生支援磁碟加密,而不必透過 File Vault 。有 3 種運作模式:無加密、單金鑰加密及多金鑰加密-包含每把金鑰的檔案 (per-key file) 及敏感 metadata 專屬的另一把金鑰。它還支援 AES-XTS 及 AES-CBC 加密演算法,「視硬體而定」。這讓你可視需要採用安全性防護措施,小從「我不在乎」到「所有人都不得刪除我電腦磁碟資料」,到「任何人都不得獲知我的機密」。

此外,蘋果硬體終於也有了寫入聚合 (write coalescing) 。這個技術很早就是企業磁碟陣列的基本配備,可提供檔案系統一點餘裕,將多個較短而不相關的寫入動作合併成一個較長的寫入,以提高實體儲存使用效率。

一名為「快速資料夾容量識別 (fast directory sizing)」的功能則讓 macOS 快速查詢目錄大小以及其子物件,不用枯等一堆狀態查詢結束。

磁碟快照將取代 Time Machine

APFS 也即將有快照和複本 (clone) 的功能。快照功能讓你可以丟入任何時間的唯讀 instance,當檔案系統狀態和快照產生差異時,變動的區塊就會儲存為快照的一部份。這和微軟的影子複製 (shadow copies) 很像,是相當好用的功能。這對 Time Machine 運作方式顯然有極大影響—真正的快照檔案系統可能完全取代由 Time Machine 建立與維護連線的笨拙舊機制。

複本和快照不同,因為複本可寫入而非唯讀。根據蘋果的技術文件,APFS 可以建立檔案、也可以建立目錄的複本—而且和其他次世代檔案系統一樣,可以馬上執行,不必等所有資料到齊再複製。一個檔案或目錄複本可儲存與原始物件的差異部份,可寫入、又可編輯、任何時間點都可以。一如文件所說,這讓你修改文件或進行版本追蹤都變得很簡單。

另一個有趣的概念是「空間共享」,意指在底層實體磁碟同一區塊上、可建立多個磁區。這乍聽起來很像企業儲存的 thin provisioning 的概念,後者是在單一 1TB 磁碟上建立起 4 個 1TB 的磁區,加入更大儲存空間,每個磁區就能隨著擴大。你可以依磁區擴充幅度再加大實體儲存空間,而不必真正去調整邏輯磁區的大小。

Source: arstechnica

發表迴響

關於我們

自 1990 年創刊 UXmaster 雜誌,1991 年獲得美國 LAN Magazine 獨家授權中文版,2006 年獲得 CMP Network Computing 授權,2009 年合併 CMP Network Magazine 獨家授權中文版,2014 年轉型為《網路資訊》雜誌網站,為台灣中小企業協助技術領導者落實企業策略,了解網路規劃及應用,為企業網路應用、管理、 MIS 、 IT 人員必備之專業雜誌網站。


與我們聯絡

加入《網路資訊》雜誌社群

© Copyright 2025 本站版權所有,禁止任意轉載 網路資訊雜誌 / 心動傳媒股份有限公司 聯絡電話:+886 2 29432416

探索更多來自 網路資訊雜誌 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading

Secret Link