Windows Server 2008 /2008 R2 でフォルダの容量とクォータ値の使用容量の差異が発生する不具合について

こんにちは、Windows プラットフォーム サポートの堀合です。

ファイルサーバーではファイル サーバー リソース マネージャー (FSRM) の
クォータという、フォルダの利用サイズを制限する機能を使用して、環境を
監視されている方は多くいらっしゃると思います。

今回はクォータ値を設定している際に、制限をしているフォルダ内のファイルを
削除してフォルダの容量は充分にある状態なのに、クォータ値の使用容量が
減少しておらずクォータの上限値を超えてしまう不具合について紹介いたします。

この不具合は Windows Server 2008 /2008 R2 で発生します。
なぜ、フォルダの容量とクォータ値の使用容量に差異が発生するのか
また、対処策やよくご質問いただくお問合せをご紹介いたします。


  発生要因


FSRM のクォータ機能では、ファイル システムが管理しているメタ データ情報とは別に
クォータ機能のためのデータベースを保持していますので、クォータ対象の領域へ
ファイルが追加された際や、ファイルが削除された際にこのデータベースを更新します。

本事象は、クォータ設定を行ったフォルダ内のデータ (ファイルやフォルダ) を削除した
タイミングにより、クォータの Quota.sys ドライバが使用率の計算を正しく検知できず、
結果としてクォータのデータ ベースへ該当の削除処理が反映されないために発生します。

 


  対処策


本事象の恒久的な対処策は修正プログラムを適用し、操作されたファイルを
正しくハンドリングできる Quota.sys を動作させる方法です。

Windows Server 2008 の場合は KB2983628 を適用ください。
----------------------------------------------------------
■ 文章番号: 2983628
ファイル サーバー リソース マネージャーのクォータのフィルターはWindows Server 2008 SP2 で正しくデクリメントされません。
URL : https://support.microsoft.com/kb/2983628/en-us
----------------------------------------------------------

Windows Server 2008 R2 の場合は KB2679054 を適用ください。
----------------------------------------------------------
■ 文章番号: 2679054
Title : Free disk space is not reallocated to a disk quota when you delete files in Windows Server 2008 R2 (英文)
URL : https://support.microsoft.com/ja-jp/help/2679054/free-disk-space-is-not-reallocated-to-a-disk-quota-when-you-delete-files-in-windows-server-2008-r2
----------------------------------------------------------
※ 本修正プログラムの適用後に再起動が必要となります。

また、再起動後は、念のため "DirQuota" コマンドにてクォータの再スキャンの
実施をお願いいたします。手順につきましては以下にてご案内いたします。

================================
■ DirQuota コマンドについて
================================
クォータが設定されている領域の再スキャンを実施し、クォータのデータ
ベースの更新を行うコマンドになります。

DirQuota コマンド実行手順
--------------
1.コマンド プロンプトを管理者権限で開きます。
2.以下のコマンドを実行します。

- 特定のパスを更新する場合
dirquota quota scan /path:<パス名>

例) dirquota quota scan /path:D:\share\user1

<参考情報>
Dirquota quota scan
https://technet.microsoft.com/ja-jp/library/cc742101(v=ws.10).aspx
--------------

※ ディレクトリの使用量やファイル数によっては、 DirQuota コマンドでのスキャンに
お時間を要する場合がございます。その場合、 DirQuota コマンドでのスキャンを実施後も
しばらくの間一部のディレクトリで使用量が正しく反映されない状況となります。
具体的な目安時間をお伝えすることは困難でございますが、DirQuota コマンドでの
スキャン実施後に、以下コマンドを実行することにより、スキャンが完了しているか
確認することが可能です。

> Dirquota quota list

※ 実行結果の "クォータの状態" が "再構築" となっていれば未完了、 "有効"と
なっていれば完了していることを示します。

Dirquota quota list で以下のように情報が取得できます。
--------------------------------
クォータのパス:         C:\o
説明:なし
ソース テンプレート:    100 MB 制限 (一致するテンプレート)
クォータの状態:         有効  <--------
制限:                   100.00 MB (ハード)
使用領域:               1.00 KB (0%)
利用可能:               100.00 MB
ピーク時の使用率:       1.00 KB (2017/11/28 18:25)
しきい値:
警告 ( 85%):         電子メール
警告 ( 95%):         電子メール, イベント ログ
制限 (100%):         電子メール, イベント ログ--------------------------------


よくお問合せいただくご質問 Q&A


Q1.修正プログラムの適用をすぐには実施できないので、他の対処策はないのか?

A1. 残念ながら、恒久的な対処策は修正プログラムの適用のみです。
しかし、一時的に事象を改善させる方法はございます。
以下のコマンドでクォータのデータベースを手動で
更新することでクォータ値を再算出し、使用率が正しく更新されます。

> dirquota quota scan

※ 本コマンドでデータベースの使用率が一時的に正しい値になっても、
Quota.sys がデータ削除を正常に検知しないという不具合は発生します。

-------------------------------------------------

Q2. クライアント OS によっては、本事象が発生していないユーザーもいるが
OS のバージョンによって発生有無が異なるのか?

A2. 本不具合は Quota.sys が正常に削除を検知しないことで発生するため
ファイルの削除を実施するユーザーやクライアント OS のバージョンは
関係ありません。

-------------------------------------------------

Q3. 本事象(Quota.sys が削除を正常に検知しない動作)は、ファイルの削除時に必ず発生するのか?

A3. ファイルの削除時に、必ずしも本事象が発生するわけではございません。
サイズが大きいファイルの削除時や多くのファイルを一括で削除した際などに
本事象が発生することが多い傾向であることは確認できております。

-------------------------------------------------

Q4. 修正プログラム(KB2983628、KB2679054)を適用した際の影響について

A4. KB2983628 及び KB2679054 は Quota.sys のみの修正を行っております。
そのため、その他のドライバー情報は含まれておりませんので他の機能や
システムに影響はございません。

-------------------------------------------------

本ブログが少しでも皆様のお役に立てますと幸いです。