BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース APFS、iOSとmacOSのためのAppleの新しいファイルシステム

APFS、iOSとmacOSのためのAppleの新しいファイルシステム

原文(投稿日:2016/06/20)へのリンク

WWDC 2016でAppleが発表した中で多くの開発者の興味を引いたものに、新しいファイルシステムAPFSがある。Appleが公開した予備的な開発者向けドキュメントによると、APFSは次のようなものだという。

Flash/SSDストレージに最適化されており、強力な暗号化、Copy-on-Writeメタデータ、スペース共有、ファイルとディレクトリのクローン、スナップショット、高速ディレクトリ・サイジング、アトミックSafe-Saveプリミティブ、ファイルシステム基盤の改善を特徴としています。

HFS+との簡単な比較

Appleによると、APFSはHFS+の全機能をサポートし、それらを様々な方法で改善しているという。

  • HFS+が32ビットのファイルIDを使っているのに対し、APFSは64ビットのinode番号をサポートする。これにより、単一ボリュームに900京以上のファイルを格納することができる。
  • HFS+はファイルシステムの全ストレージを一度に初期化しなければならないが、APFSは拡張可能なブロックアロケータを備えており、データ構造の遅延初期化を可能にする。これにより、大規模ボリュームでの性能が大幅に改善される。
  • APFSは暗号化に3つのモデル(暗号化なし、単一キー暗号化、マルチキー暗号化)をサポートし、ファイルごとのキーとメタデータキーを管理する。

HFS+を改善するためにAPFSに追加された機能には、Sparse File(疎ファイル)のサポート、TRIMオペレーションの改善、拡張属性のビルトインサポートがある。

APFSの新機能

APFSはいくつかの先進的な機能も提供しており、数年前にAppleがOS Xに移植しようとしたZFSやHAMMERのようなモダンなファイルシステムに属している。

  • アップデートをクラッシュセーフにするため、APFSは新しいCopy-on-Writeメカニズムを用いる。
  • スペース共有により、共有された物理ボリューム上で複数のファイルシステムを柔軟に拡張することができる。厳密なパーティショニングは必要ない。
  • クローンにより、変更されるまで追加のスペースを必要とせずに、ファイルやディレクトリのコピーを作成することができる。変更されたブロックだけがディスクに格納されることになる。この挙動は、copyItemAtURL:toURL:error:copyItemAtPath:toPath:error:といったNSFileManagerメソッドにより透過的に強制適用される。
  • スナップショットはファイルシステム全体のリードオンリー・インスタンスであり、効率的なバックアップの基礎を提供する。ただし、開発者がスナップショットを管理するためのAPIはまだ提供されていない。
  • アトミックセーブにより、成功あるいは失敗する単一トランザクションで、バンドルやディレクトをリネームすることができる。この新しい挙動は、moveItemAtURL:toURL:error:moveItemAtPath:toPath:error:といったNSFileManagerメソッドにより透過的に強制適用される。

APFSの使用

現在のところ、APFSはmacOS 10.12の開発者向けプレビューとしてリリースされ、新しいファイルシステムを扱えるようにアップデートされたhdutilコマンドが提供されている。APFSパーティションを作るには、以下のようにすればよい。

$ hdiutil create -fs APFS -size 1GB foo.sparseimage

これは開発者向けプレビューであり、Appleは開発者に向けて、APFS使用時の動作不良やデータ損失の可能性を警告している。加えて、以下のような制限事項がある。

  • 起動ディスクに使えない。
  • ケースセンシティブである。
  • Time Machine、FileVault、Fusion Driveでうまく動かない。

APFSは2017年に出荷される予定だ。最終的に、30歳を越えるAppleのHFS+ファイルシステムを置き換えることになるだろう。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT