およそ20年ほど前、MicrosoftはWindows NTの一部としてNTFS(New Technology File System)を導入した。それ以来、NTFSには多くの機能が追加されたが、その時点で有望だと目されていたが結局そうではなかった、というものも中には含まれていた。また、NTFSアーキテクチャと互換性のない最先端のファイルシステムの開発も続けられてきた。そして、何度かの失敗を経験した後、Microsoftは有望な新ファイルシステムを生み出した。
Resilient File System(ReFT)というこの新たなファイルシステムは、信頼性、特に停電やメディアの劣化(つまりディスクの消耗)に対する信頼性が向上するよう設計されている。この信頼性向上の要因の1つは、ファイルのメタデータの保存場所や更新方法の根本的な変更である。メタデータはジャーナルと一緒にin-placeで更新されるのではなく、allocate-on-writeで更新される。もし書き込み中に停電してしまったら、ファイルシステムは部分的に書きこまれた新しいメタデータではなく、古いメタデータを使い続ける。
ReFSはディスクスパン(大きなファイルを複数のディスクにまたがって格納すること)テクノロジであるStorage Spacesと互換性がある。Storage Spaces自身もパフォーマンスや信頼性を向上させる仕組み(特に壊滅的なディスク障害の取り扱い)を備えている。残念ながらデータの破損が起こる可能性はわずかにあるのだが、ReFSはチェックサムを使ってこの種のエラーを検出することができる。データ破損が発生した時は、Storage Spacesドライブの該当ファイルのコピーを全て調べ、どのデータが正しいのかを決める。
ドライブとファイルの完全性を積極的に保証するため、ReFSは時々バックグラウンドプロセスでファイルの抜き取り検査を行う。このプロセスは上記の例のようにメタデータとファイルの各コピーのコンテンツを比較し、正しいコピーでそれ以外を訂正する。これは特に、稀にしかアクセスされないファイルにとって重要である。これにより、あるコピーで発生した破損を、別のコピーでも同様の破損が起こる前に検出できるだろう。
もう1つの信頼性向上のためのメカニズムに“整合性ストリーム”がある。メタデータと同じように、整合性ストリームもディスク書き込み時の失敗を減らすためにallocate-on-writeを使用する。整合性ストリームはあらゆる種類のファイルに適している訳ではなく、物理ファイル構造の制御が必要なアプリケーション(例えばデータベース)では、この機能を無効にすべきである。
互換性を高めるため、ReFSは低レベルの部分のみを差し替えたNTFS APIのもとで動作するようになっている。しかし、ReFSではサポートされないNTFSの機能もある。
- 名前付きストリーム
- オブジェクトID
- 短縮名
- 圧縮
- ファイルレベルの暗号化(EFS)
- ユーザーデータトランザクション
- スパースファイル
- ハードリンク
- 拡張属性
- クォータ
“BitLockerによる暗号化、アクセス制御リスト(ACL)によるセキュリティ、USNジャーナル、変更通知、シンボリックリンク、接合ポイント、マウントポイント、再解析ポイント、ボリュームスナップショット、ファイルID、Oplock”といったその他の機能は引き続きサポートされる予定である。
ReFSの初期リリースはファイルサーバをターゲットにしているようだ。これは、Windows 8 Serverでのみ有効であり、ブータブルディスクをサポートしないことを意味している。徐々に時間をかけてクライアントバージョンのWindowsに提供されていき、最終的にはブートディスクとして使えるようになるだろう。ファイルシステムは危険な欠陥になり得るので、Microsoftはこの漸進的なアプローチがより賢明だと考えている。
NTFSからReFSへin-placeでデータを変換することはサポートされていないので、ReFSへデータを移行する際には新たなドライブを作成してデータをコピーする必要がある。