現在のWindows OSでは、一部を除いてファイルシステムとして基本的にNTFSを採用している。

 NTFSでは、ファイルの読み書きを行っている時に、自己修復できない破損ファイルができた場合は、ユーザーがCHKDSKコマンドを明示的に起動することで、ボリュームをアンマウントして全スキャンする必要がある。このため、CHKDSKを実行するために、システムを再起動して、長時間のディスクスキャンを実行することになる。例えば、1Tバイトのデータをチェックするのに3~4時間かかることもある。

 サーバーにおいては、これだけの長時間システムが利用できなくなるのは、大きな問題になる。そこで考えられたのが、Windows Server 2012で搭載している新しいNTFSだ。

ディスク障害時の修復時間を大幅に短縮

 Windows Server 2012のNTFSは、オンラインで破損ファイルのスキャンと自己修復機能が強化された。機能強化により、ほとんどのスキャンと自己修復がサーバーが動作しているオンライン中に行われることになり、オフラインでCHKDSKコマンドの実行がほとんどなくなった。

 とはいえ、完全にオンラインでの自己修復機能ができるということではない。やはり、オフラインでしか対処できない問題も存在する(図1)。ただそれでも、Windows Server 2012では長時間のオフラインでスキャンと修復を行うのではなく、短時間で処理できるようになっている。

図1●オフラインで行うデータ修復は破損している部分だけを対象とするのでCHKDSKの実行時間が圧倒的に短くなる(Building Windowsより)
図1●オフラインで行うデータ修復は破損している部分だけを対象とするのでCHKDSKの実行時間が圧倒的に短くなる(Building Windowsより)
[画像のクリックで拡大表示]

 具体的には、Windows Server 2012では「スポット検証サービス」という新しいサービスにより、サーバーが動作している(オンライン中)に、バックグラウンドでディスクをスキャンする。もしエラーが検出されると、オンラインスキャンを行い、発見した問題点をログに記録しておく。

 このログに記録されたエラー部分を参照して、CHKDSKが修復を行う。このため、CHKDSKでは、事前にディスクのスキャンする作業が必要なく、エラーの修復だけでいい。このため、CHKDSKを実行する時間が短時間になった。

 Windows Server 2012では、ファイルシステムの状態を簡単に確認できるように、アクションセンターのドライブの状態にアラームが表示されている。このほか、エクスプローラーのドライブアイコンにドライブの状態が表示されたり、サーバーマネージャーにも正常性の表示が行われる。

 なお、Windows Server 2012/Windows 8のNTFSは、最大256Tバイトのディスクボリュームをサポート。さらに、4Kセクター(Advanced Format Technology=AFT)をサポートしている。