NFSマウントを介してドライブをマウントしたSUSEEnterpriseサーバーを使用しています。 NFS共有の書き込み速度をテストするために、dd if=/dev/Zero of=test_file bs=8k Count=4194304
を介して34GBのファイルを作成しました。その後、rm test_file
でファイルを削除し、すぐにdf
を使用しました。
used
の出力のdf
列の値が減少し始めます。 df
を約10秒ごとに呼び出し、used
の値が約2GB減少したことを確認するたびに更新します。
したがって、コマンドプロンプトを再び使用できるようにしていますが、rm test_file
コマンドはジョブを完了していないようです(したがって、rmは「0」を返したはずですよね?)。ここでバックグラウンドで何が起こっているのですか?
NFS共有にバックエンドストレージを提供しているリモートノード上のファイルシステムは、すぐにスペースを解放していません。
厳密に言えば、POSIXセマンティクスでは、使用していたスペースをすぐに解放するためにファイルを削除する必要はありません(実際には、スペースを解放する必要はありませんまったく、これは一部の人にとって重要ですユースケース)。このため、およびスペースを解放するのに長い時間がかかる可能性があるため、一部のファイルシステムは、割り当て解除が行われるのを待たずに、ファイルエントリがディレクトリリストに表示されないようになったら戻るだけです( POSIXに必要なのはこれだけです)。
スペースを解放するのに時間がかかる可能性がある考えられる理由は次のとおりです。