
基調講演では取り上げられなかったものの、今日の開発者にとっての大きなニュースの 1 つは、Apple が全製品のストレージ用に新しいファイル システムを展開していることです。
Apple File System(APFS)は、Apple WatchからMac Proまで幅広く対応できるよう設計された次世代ファイルシステムです。APFSはフラッシュ/SSDストレージに最適化されており、暗号化を主要機能として採用しています。HFS+と比較したAPFSの利点と、ファイルシステムコードの互換性を確認する方法についてご紹介します。
詳細はほとんど明らかにされていませんが、開発者はここから新しいファイル システムに関する情報にアクセスできます。ただし、当初は使用を制限する重要な注意事項や制限事項がいくつかあります。
- 起動ディスク: 現在、APFS ボリュームは起動ディスクとして使用できません。
- 大文字と小文字の区別: ファイル名は現在、大文字と小文字のみが区別されます。
- Time Machine : Time Machine バックアップは現在サポートされていません。
- FileVault : 現在、APFS ボリュームは FileVault を使用して暗号化できません。
- Fusion Drive : Fusion Drive は現在 APFS を使用できません。
一般的な特徴
Apple File SystemはApple製品向けの次世代ファイルシステムです
HFS+とその前身であるHFSは30年以上も前から存在しています。これらのファイルシステムは、ファイルサイズがキロバイトやメガバイト単位で計算されていたフロッピーディスクや回転式ハードドライブの時代に開発されました。今日では、ソリッドステートドライブには数百万ものファイルが保存され、ギガバイトやテラバイト単位のデータが格納されています。また、機密情報を安全に保管し、第三者の目に触れないようにすることが、より重要視されるようになりました。
Apple 製品の現在のニーズを満たし、今後数十年にわたって新しいテクノロジーをサポートするには、新しいファイルシステムが必要です。
次のセクションでは、HFS+ ファイル システムの機能に関連する Apple ファイル システムの一般的な特性について説明します。
コンテナとボリューム
コンテナはAPFSの基本ストレージユニットです。通常、GUIDパーティションテーブル(GPT)エントリに1対1でマッピングし、独自のスペース割り当てとクラッシュ保護スキームを管理します。各コンテナは1つ以上のボリューム(ファイルシステム)をエクスポートし、各ボリュームは独自の名前空間(ファイルとディレクトリのセット)を持ちます。
64ビットのiノード番号
APFSは64ビットのinode番号をサポートしており、これはHFS+がサポートする32ビットのファイルIDを改良したものです。64ビットファイルシステムであるAPFSは、単一ボリューム上で9京個を超えるファイルをサポートします。
ナノ秒単位のタイムスタンプ
APFS は 1 ナノ秒のタイムスタンプ粒度をサポートしており、これは HFS+ の 1 秒のタイムスタンプ粒度よりも優れています。
拡張可能なブロックアロケータ
APFSは拡張ブロックアロケータを備えており、単一のデバイスで任意のサイズのストレージを実現できます。非常に大きなディスクを初期化する際、ブロックアロケータはパフォーマンス向上のために、必要な場合にのみデータ構造を遅延初期化することがあります。一方、HFS+はアロケーションブロックサイズに制限があり、ファイルシステムの作成時にストレージ全体を初期化します。
スパースファイル
APFS はスパース ファイルをサポートしますが、HFS+ はサポートしません。
衝突保護
APFSは、ファイルシステムの更新がクラッシュセーフであることを保証するため、独自のコピーオンライトメタデータ方式を採用しています。このアプローチは、HFS+で発生するジャーナリングの追加オーバーヘッドも削減します。
拡張属性
APFS には拡張ファイル属性のサポートが組み込まれています。HFS+ では、この機能に Attributes ファイルが追加されました。これは、名前付きフォークの実装を可能にする B ツリーです。
TRIM操作
HFS+と同様に、APFSはTRIM操作をサポートしています。APFSでは、TRIM操作はファイルの削除時または空き領域の確保時とは非同期に発行されるため、メタデータの変更が安定したストレージに永続化された後にのみ、これらの操作が実行されます。
暗号化
セキュリティとプライバシーは、Apple ファイル システムの設計の基本です。
OS Xでは、OS X 10.7 Lion以降、フルディスク暗号化が利用可能です。iOSでは、iOS 4以降、iOSセキュリティガイドに記載されているように、各ファイルを独自のキーで個別に暗号化するデータ保護バージョンが利用可能です。APFSは、これら両方の機能を統合し、ファイルシステムのメタデータを暗号化する統合モデルです。
APFSはネイティブで暗号化をサポートしています。コンテナ内の各ボリュームに対して、暗号化なし、単一キー暗号化、またはファイルデータ用のファイルごとのキーと機密メタデータ用の別のキーを使用するマルチキー暗号化のいずれかの暗号化モデルを選択できます。APFS暗号化は、ハードウェアに応じてAES-XTSまたはAES-CBCを使用します。マルチキー暗号化により、物理的なセキュリティが侵害された場合でも、ユーザーデータの整合性が確保されます。
互換性
- 既存のサードパーティ製ユーティリティは、Apple File System をサポートするためにアップデートする必要があります。ユーティリティのドキュメントを参照するか、ベンダーに互換性情報をご確認ください。
- APFS 形式のボリュームは、OS X 10.11 Yosemite 以前では認識されません。
- APFS形式のボリュームは、SMBネットワークファイル共有プロトコルを使用して共有できます。AFPプロトコルは非推奨であり、APFS形式のボリュームの共有には使用できません。
havebin.com を Google ニュース フィードに追加します。
FTC: 収益を生み出す自動アフィリエイトリンクを使用しています。詳細はこちら。