Appleの新しいファイルシステム「Apple File System (以下、APFS)」についての情報をまとめました。詳細は以下から。
2016年7月 : APFSの発表
AppleがAPFSを初めて公に発表したのは現地時間2016年07月15日、WWDC 2016のSession 701「Introducing Apple File System」で、この中でAppleのローカルファイルシステム・エンジニアマネージャーのEric Tamuraさんは「APFSはこれまで30年間利用されていたHFS+に代わるファイルシステムで、FlashやSSDストレージのI/Oに最適化され暗号化に焦点を当て、Apple WatchからMac Proスケールのストレージ容量に対応する」と紹介し、
Introducing Apple File System
The Apple File System (APFS) is the next-generation file system designed to scale from an Apple Watch to a Mac Pro. APFS is optimized for Flash/SSD storage, and engineered with encryption as a primary feature. Learn about APFS benefits versus HFS+ and how to make sure your file system code is compatible.Introducing Apple File System – Apple
この開発にはBeOSのファイルシステム”BFS“の開発に携わり、現在はAppleのファイルシステム部門のシニアソフトウェアエンジニアとなったDominic Giampaoloさんが参加していることも発表されエンジニアたちを驚かせていました。
APFSの特徴
また、AppleはWWDC 2016のSessionの中でAPFSについて「APFSは2017年に公開されるAppleデバイスやOSのデフォルトファイルシステムになり、Open Source化は現在のところ未定だが、いくつかのドキュメントを公開する」として以下の様な特徴を公開しています。
- Clones : クローン機能はファイルシステムが他の追加ストレージスペースを利用することなく、ファイルやディレクトリを即時コピーする機能で、ファイルが変更されると新しいデータが他のスペースに書き込まれ、変更されていないブロックはそのまま共有され、ストレージスペースの削減やバージョン管理スペースが削減されます。
- Snapshots : ファイルシステムに変更があるとRead-onlyインスタンスを作成し、その時点でのコピーを取る機能で、macOSのバックアップ機能である「Time Machine」とは別に「Mobile Time Machine」としてデモされています。
- Space Sharing : APFSでは複数のファイルシステムが物理ボリューム上で空きスペースを共有できます。その為コンテナのスペースが全てのボリュームで共有され、これまでの固定パーティションニング手法と違い、ボリュームの再パーティションが必要なく拡張/縮小が可能です。
- Encryption : AppleはmacOSでディスク全体をXTS-AES 128暗号方式を用いて暗号化する「FileVault 2」という暗号化機能をオプションで提供していますが、APFSではApple WatchからMacまでストレージのスケールに応じてAES-XTS/AES-CBC暗号化を用いてコンテナ内のボリュームに対し「暗号化しない」, 「単一キーでの暗号化」, 「パーファイル(Per-file)キーを用いたファイルごとのマルチキー暗号化および」
- Crash Protection : Copy-On-Write機構をサポートし、新しい”Crash Protection Scheme”を採用する。
- Sparse Files : APFSはHFS+ではサポートされていないSparse Fileをサポートする。
- Nanosecond Timestamp Granularity : タイムスタンプ処理はHFS+が1秒単位だったのに対し、APFSではナノ秒単位へ
- 64-bit Inode Numbers : APFSはHFS+の32-bitファイルIDと違い「64-bit iノード」をサポートするため、約900京のファイル数をサポートする。
- TRIM Operations : HFS+同様フラッシュストレージおよびSSDで「Trim」をサポート
- Network Share : APFSフォーマットされたボリュームはOS X 10.11 El Capitan以前では認識されず、AFPは非対応で、SMBネットワーク共有ファイルプロトコルを利用して共有可能。