空き容量があるにもかかわらず容量不足のエラーによりファイル作成が失敗する事象について

Last Update: feedback 共有

本記事は、マイクロソフト社員によって公開されております。

こんにちは、Windows サポートチームの三浦です。
本日は、USN ジャーナルの肥大化により、空き容量があるにもかかわらず、容量不足のエラーによりファイルの新規作成や更新が失敗する事象について紹介させていただきます。

概要

空き容量があるにもかかわらず、容量不足のエラーによりファイルの新規作成などが失敗する事象が発生した場合、対象ボリュームの USN ジャーナルの仮想サイズが肥大化している可能性が想定されます。

USN ジャーナルは、ファイルやフォルダーに対する変更履歴を記録しているファイルであり、システム ボリュームでは、USN ジャーナルによる変更履歴の記録が既定で有効となっております。
変更履歴の記録が有効であるボリュームでは、ボリューム内の既存ファイルの変更や新規ファイル等の書き込み等が行われる度に、本ファイルに変更履歴が書き込まれます。
一部のバックアップ アプリケーションなどでは、この USN ジャーナルの情報を利用し、差分情報の確認などを行っております。

本ファイルはスパース ファイルとなりますが、NTFS の管理下にあるファイルとなりますので、仮想サイズが 16 TB まで肥大化すると、NTFS 上で管理可能な上限サイズに抵触し、実施した I/O 処理に対して “Disk Full” のエラーが返される場合がございます。
これにより、該当ボリューム上では空き領域があるにもかかわらず、新規ファイル等の容量不足のエラーが発生する可能性がございます。

対象 OS

Windows 10
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019

※ Windows 11 / Windows Server 2022 では、USN ジャーナルの仮想サイズが肥大化した際に、上限サイズに抵触する前に再作成処理を自動実行する実装が追加されておりますので、基本的には、同事象は発生いたしません。

USN ジャーナルの仮想サイズの確認方法

USN ジャーナルの仮想サイズは、fsutil usn queryjournal コマンドの出力結果内の Next Usn から確認が可能です。

1
fsutil usn queryjournal <Volume>

// 出力例

C:\Users\administrator.CONTOSO>fsutil usn queryjournal C:
Usn Journal ID : 0x01d230d8ceaba8ed
First Usn : 0x00000fffffec0000
Next Usn : 0x00000ffffffe0000 <<<<<<<<
Lowest Valid Usn : 0x0000000000000000
Max Usn : 0x7fffffffffff0000
Maximum Size : 0x0000000000100000
Allocation Delta : 0x0000000000040000
Minimum record version supported : 2
Maximum record version supported : 4
Write range tracking: Disabled

参考情報
Title : fsutil usn
URL : https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/fsutil-usn

※ Next Usn の値は 16 進数で出力されるため、10 進数に変更の上、値をご確認ください。上記例では、Next Usn が 17592185913344 Byte であり、USN ジャーナルの仮想サイズが約 16 TB まで肥大化している状況が確認できます。

対処策

管理者権限のコマンド プロンプトから下記のコマンドを実行し、USN ジャーナルの再作成を行うことで、本事象を解消することが可能です。

1
fsutil usn deletejournal /d <Volume>

// C ドライブの USN ジャーナルを再作成する際の実行例

1
fsutil usn deletejournal /d C:

本コマンドを実行した場合、削除作業中も対象ドライブへの I/O は可能となりますが、対象ボリューム上の USN ジャーナルを使用するアプリケーションなどが存在する場合には、その間、USN ジャーナルの使用ができませんので、一時的にエラーが返される場合がございます。
ただし、一般的に、USN Journal を使用するアプリケーションでは、このジャーナル ファイルの削除動作やログの切り捨てなどを想定して実装されておりますので、発生する影響は限定的かと存じます。

[特記事項]
本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。