close

這可能是將影響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的磁區,加入更大儲存空間,每個磁區就能隨著擴大。你可以依磁區擴充幅度再加大實體儲存空間,而不必真正去調整邏輯磁區的大小。

 

參考資料:http://news.networkmagazine.com.tw/classification/software-application/2016/06/15/66933/

arrow
arrow
    文章標籤
    網路資訊
    全站熱搜
    創作者介紹
    創作者 網路資訊 的頭像
    網路資訊

    網路資訊的部落格

    網路資訊 發表在 痞客邦 留言(0) 人氣()