ENGINEERS' COLUMN
vol.1
公開日:2025/10/10
ストレージの容量が解放されない?! ― 確認したい2つのポイント
- サーバ
- ストレージ
時々「ファイルを削除したのにストレージの容量が解放されない」といったお問い合わせをいただくことがあります。原因はいくつかあるのですが、一般的によくある原因の2つを紹介します。
原因①:スナップショット
バックアップやセキュリティ対策で利用されるスナップショット(※)で古いものが残っていると、削除したデータはスナップショット領域に退避されていることがあります。削除してもスナップショット領域にデータが残るため、容量がすぐに解放されないことがあります。
スナップショットの保存期限が決まっており、定期的にローテーションで削除される仕組みがあれば、スナップショットの削除とともに容量は解放されますが、導入時にテスト用で作成したものや、スケジュールしたスナップショット以外に作成したもので、削除し忘れているケースがあります。
※スナップショット…ある時点のデータの状態を保存する機能。元の論理ボリュームの変更差分のみ保存する。
原因②:予約領域(シン・プロビジョニング)
シン・プロビジョニング(※)の機能を実装した論理ドライブやファイルシステムの場合、書き込みを行う前に、ストレージは書き込みに必要な予約領域の容量の割り当てを行います。
その場合、ファイルを削除しても、すぐに予約領域が解放されるとは限らず、ホストOS上で表示される使用量と、ストレージ上で表示される使用量に差異が発生することがあります。
※シン・プロビジョニング…実際に書き込まれた分(+α)だけ物理的な容量を消費する機能。
①スナップショットが原因の場合の対処方法
①についてはこれが原因とわかれば、対処はスナップショットの削除で対応を進めることができます。

②シン・プロビジョニングが原因の場合の対処方法
②については前述のとおりストレージ製品により挙動が異なります。
具体例
一定のサイズ(数GB以上)のファイルサイズや、一定の連続領域のファイルの削除が必要な場合
⇒あまり頻繁に予約領域の割り当てと解放が行われると、ストレージの負荷が高くなるため、ある程度まとまった領域で解放を行うことがあります。

ホストOSがSCSI Unmapをサポートしていない場合
⇒(現在主流のホストOSではまずこれには該当することはありませんが、)SCSI Unmap(※)をストレージが受け取ることでストレージデバイスの未使用領域を解放できます。ホストOS側から発行される命令ですが、ホストOSがSCSI Unmapをサポートしていない場合には別途外部ツール(fstrim、Optimize-Volume)等での手動実行が必要です。
※SCSI Unmapとは…ホストOSやアプリケーションが、シン・プロビジョニングされた論理ドライブやSSD等の物理ドライブにデータが削除されたことを通知し、削除された領域の再利用を可能とする命令。

ストレージ側のタイミングで行われる場合
⇒ホストからのIOを優先し、ストレージ内の負荷が低いときに実施されることがあります。

まとめ
実際の動作については製品ごとに異なる場合があります。もしご利用のストレージ製品について、意図したとおりにストレージ容量が解放されないようなことがあれば、まずは上記の内容をご確認いただくことをおすすめします。