Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

WindowsのReFSとは?仕組み・特徴・NTFSとの違いを徹底解説

ReFS(Resilient File System:回復性ファイルシステム)は、MicrosoftがWindows OS向けに開発したファイルシステムです。従来の標準ファイルシステムであるNTFS(New Technology File System)が抱えていたいくつかの制限を克服することを目的として設計されており、データ破損への耐性の向上、特定のワークロードにおけるパフォーマンス改善、そして非常に大規模なファイルシステムへのスケーラビリティを実現しています。

WindowsのReFSとは?仕組み・特徴・NTFSとの違いを徹底解説

ReFSの歴史

ReFSは2012年9月、Windows Server 2012のリリースとともにMicrosoftによって初めて導入されました。増大し続けるデータ保存要件や大規模なワークロードに対応するためのオプションのファイルシステムとして位置づけられていました。

その後、2013年10月にリリースされたWindows 8.1からはデスクトップ版Windowsにも搭載されましたが、利用できるのはドライブプーリング機能である「Storage Spaces(記憶域スペース)」の一部としてのみでした。Windows 10にも引き継がれましたが、2017年のFall Creators Updateにおいて、Windows 10 Pro for Workstationsを除いてReFSボリュームを作成する機能は削除されました。ただし、OSがReFSを読み取る機能自体は残されています。

ReFSの仕組み

ReFSはNTFSと高い互換性を持ち、NTFSをベースにより一貫性のある動作と優れたデータ整合性を実現するために構築されました。OSがシステムエラーを検出し、データの消失や破損が発生した場合でも、ReFSは失われたデータや破損したデータを復元できます。また、「ビットロット(bit rot)」と呼ばれる、時間の経過に伴うファイルシステム内のビット単位の劣化に対しても、ディスクスクラビングタスクによるデータの読み取りと検証を通じて対抗します。

MicrosoftはNTFSコードベースの一部を流用してReFSを開発し、Win32 APIのサポートを追加することで既存のAPIとの互換性を確保しました。これにより、アクセス制御リスト(ACL)やファイルIDなど、複数の機能がReFSでサポートされています。

NTFSでは、停電時の突然のシャットダウンやブロックの部分的な書き込みなど、さまざまな要因によってファイルメタデータが破損する可能性があります。このようなデータ破損を防ぐため、ReFSはallocate-on-write(アロケートオンライト)という手法を採用しています。この手法では、ソースデータベースのシンプロビジョニングクローンを使用して破損の発生確率を低減します。

さらに、ReFSはB+ツリー構造を採用し、メタデータのインデックス化によってデータを管理しています。B+ツリーはルート、内部ノード、リーフで構成され、各ノードには順序付けられたキーのリストと、下位ノードまたはリーフへのポインタが格納されます。レコードはリーフレベルに保存されるため、より多くの分岐が可能になり、ディスクI/Oが削減され、優れたパフォーマンスが得られます。

なお、ReFSはNTFSの直接の置き換えではありません。マスターファイルテーブル(MFT)、ページファイルサポート、オブジェクトIDなど、一部のNTFS機能はサポートされておらず、NTFSの機能にしか対応しないアプリケーションも存在します。一方で、代替ストリーム、名前付きストリーム、スパースファイルなど、初期のNTFSになかった多くの機能は、後のアップデートでReFSにも追加されています。

主な特徴と変更点

  1. ReFSはStorage Spaces(記憶域スペース)機能と統合されています。ReFSを使用したミラーリングされた記憶域スペースを設定すると、Windowsがファイルシステムの破損を検出し、別ドライブ上のデータの代替コピーを使って自動的に修復します。この機能はWindows 10とWindows 8.1の両方で利用可能です。WindowsのReFSとは?仕組み・特徴・NTFSとの違いを徹底解説
  2. ReFSがデータの破損を検出し、復元に使える代替コピーがない場合でも、ファイルシステムは破損したデータを即座にドライブから除去できます。NTFSの場合のようにシステムの再起動やドライブのオフライン化は不要です。
  3. 読み書きの際にReFSはファイルの破損チェックを行うだけでなく、ドライブ上のすべてのファイルを自動化されたデータ整合性スキャナーが定期的にチェックし、破損を特定して修復します。つまり、自己修復型のファイルシステムであり、chkdskを実行する必要は一切ありません。
  4. ReFSは他の面でもデータ破損に強い構造を持っています。たとえば、ファイル名などのファイルメタデータを更新する際、NTFSはメタデータを直接書き換えるため、処理中にコンピュータが故障したり停電したりするとデータ破損が起こり得ます。一方ReFSは、メタデータ更新時に新しいコピーを作成し、新しいメタデータの書き込みが完了した時点で初めてファイルをそちらに向けるため、メタデータ破損のリスクがありません。これは「copy-on-write(コピーオンライト)」と呼ばれる手法で、LinuxのZFSBtrFS、AppleのAPFSといった最新のファイルシステムでも採用されています。
  5. ReFSはメタデータにチェックサムを使用し、オプションでファイルデータにもチェックサムを使用できます。ファイルの読み書きのたびにチェックサムを検証するため、ファイルシステム自体にデータ破損をリアルタイムで検出する仕組みが組み込まれています。
  6. データ整合性の機能に加えて、ReFSはNTFSと比較して長期的に見てより大きなボリュームサイズとファイルサイズに対応でき、重要な改善点となっています。
  7. ReFSの最大ボリュームサイズは262,144エクサバイト(16エクスビバイト)で、NTFSの16エクサバイトを大きく上回ります。また、ファイル名の最大長もNTFSの255文字に対し、ReFSでは32,768文字までサポートされています。
  8. その他のReFSの特徴としては、Hyper-Vでのパフォーマンス向上、チェックサムを使ってデータの状態を評価する整合性ストリームのサポート、RAIDに類似したパフォーマンスを実現するデータストライピングなどがあります。
  9. バージョン1.2では代替データストリームのサポートが追加され、Microsoft SQL Server環境でReFSを利用できるようになりました。その他の注目すべきアップデートとしては、2017年10月のSemi-Annual ChannelでのWindows Server バージョン1709のリリースに合わせて、ReFSバージョン3.2でストレージ最適化機能であるデータ重複排除のサポートが追加されました。
  10. ReFSはDOS形式の8.3ファイル名を廃止しました。NTFSボリュームでは互換性のため「C:\Program Files\」が「C:\PROGRA~1\」としてアクセスできますが、こうしたレガシーなファイル名はReFSではサポートされません。
  11. ReFSは単なるNTFSの改良版ではなく、Microsoftは特定のケースでReFSがはるかに高いパフォーマンスを発揮できるよう、重要な最適化に焦点を絞っています。
  12. ReFSをStorage Spacesと組み合わせると、「リアルタイム階層最適化」がサポートされます。パフォーマンス重視のドライブと容量重視のドライブを含むドライブプールを構成でき、ReFSは常にパフォーマンス層のドライブに書き込むことでパフォーマンスを最大化します。その一方で、バックグラウンドで大容量のデータ塊を長期保存用の低速ドライブへ自動的に移動させます。
  13. Windows Server 2016では、ReFSは特定のVM(仮想マシン)機能でより高いパフォーマンスを発揮できるよう改善されました。Microsoft純正のHyper-V仮想マシンソフトウェアはこれらを活用しており(理論上、他の仮想マシンソフトウェアも対応可能です)、例えばReFSはブロッククローンをサポートし、仮想マシンのクローン作成やチェックポイントのマージ操作を高速化します。仮想マシンのクローンコピーを作成する際、ReFSはドライブ上にメタデータの新しいコピーを作成し、既存のデータを指すだけで済みます。これは、ReFSでは複数のファイルがディスク上の同じ基盤データを参照できるためです。仮想マシンが変更され新しいデータが書き込まれる際には、別の場所に書き込まれ、元の仮想マシンのデータはドライブ上に保持されます。これにより、クローン作成プロセスが大幅に高速化し、必要なディスクスループットも大幅に削減されます。
  14. ReFSには「スパースVDL」という新機能も追加され、大きなファイルへ高速にゼロを書き込めるようになりました。これにより、空の固定サイズの仮想ハードディスク(VHD)ファイルの作成が大幅に高速化されます。NTFSでは10分ほどかかる処理も、ReFSならわずか数秒で完了します。
  15. ReFSおよびサポートされる具体的な機能の詳細については、Microsoftの公式サイトをご覧ください。

ReFSの欠点

これらの機能は非常に魅力的ですが、NTFSからReFSへ簡単に切り替えられるわけではありません。

  1. WindowsはReFSから起動(ブート)できず、起動にはNTFSが必要です。
  2. ReFSはNTFSと比較して、より多くのシステムリソースを消費します。
  3. ディスクアレイが大きくなるほど、ファイル整合性の維持のためにReFSが使用するRAMとIOPSも増加します。
  4. NTFSのデータをReFSに変換することはできません。
  5. ReFSには、ファイルシステムの圧縮や暗号化、ハードリンク、拡張属性、データ重複排除、ディスククォータなど、NTFSが備える他の機能もありません。ただし、ReFSはNTFSの他の多くの機能と互換性があります。たとえば、ファイルシステムレベルでの特定データの暗号化はできませんが、BitLockerによるフルディスク暗号化とは互換性があります。
  6. Windows 10では、既存のパーティションをReFSとしてフォーマットすることもできません。現時点でReFSを使用できるのはStorage Spaces経由のみで、そこで信頼性機能がデータ破損からの保護に役立ちます。Windows Server 2016では、仮想マシンを保存する予定のボリュームなどをNTFSの代わりにReFSでフォーマットすることが可能です。ただし、それでもブートボリュームでReFSを使うことはできません。WindowsはNTFSドライブからしか起動できないためです。
  7. ReFSドライブはアプリやプログラムのインストールをサポートしていません。これはReFSがハードリンクをサポートしないためで、ReFSボリュームへのインストールを許可するプログラムはごくわずかであり、そのようなプログラムでも実行時に問題が発生することがあります。

ReFSの使い方

  1. Windows Serverでは、通常のディスク管理ツールを使って一部のボリュームをReFSとしてフォーマットできます。特に、それらのドライブで仮想マシンを使用している場合に有用です。ただし、ブートドライブをReFSとしてフォーマットすることはできず、一部のNTFS機能へアクセスできなくなります。WindowsのReFSとは?仕組み・特徴・NTFSとの違いを徹底解説
  2. ReFSの機能は現在、Windows 10 Pro for Workstationsの一部として利用できます。
WindowsのReFSとは?仕組み・特徴・NTFSとの違いを徹底解説
  1. DATファイルとは?Windowsで開く方法をわかりやすく解説

    DATファイルは、さまざまなアプリケーションによって作成される汎用的なデータファイルです。Windowsユーザーであれば、この形式のファイルを目にする機会は少なくありません。「そもそもDATファイルとは何なのか」「何のために必要なのか」と疑問に思う方も多いでしょう。また、中身を確認するために開いてみようと考えるユーザーもいます。本記事では、DATファイルの概要と、Windowsで開く具体的な方法について詳しく解説します。WindowsにおけるDATファイルとは?DATファイルには、そのファイルを作成したプログラムに関連する特定の情報が格納されています。データはテキスト形式の場合もあれば、バイナ

  2. Windows 11 SEとは?教育向けOSの特徴・入手方法・対応アプリを徹底解説

    ChromebookとChrome OSが教育市場を大きく席巻する中、Microsoftは長年にわたりこの分野への本格参入を模索してきました。その切り札となるのが「Windows 11 SE」です。このOSはK-8(幼稚園〜中学校段階)の教室を想定して設計されており、使いやすさ、高いセキュリティ、そして低価格ながら性能が限られたPCへの適合性を重視しています。開発にあたってMicrosoftは、教育者、学校のIT担当者、管理者と緊密に連携しました。 Windows 11 SEは、同OS専用に設計された特別なデバイス上で動作することを前提としています。その代表格が、249ドルから提供されるMi