ENGINEERS' COLUMN

vol.1

公開日:2025/10/10

ストレージの容量が解放されない?! ― 確認したい2つのポイント

  • サーバ
  • ストレージ

時々「ファイルを削除したのにストレージの容量が解放されない」といったお問い合わせをいただくことがあります。原因はいくつかあるのですが、一般的によくある原因の2つを紹介します。

原因①:スナップショット

バックアップやセキュリティ対策で利用されるスナップショット(※)で古いものが残っていると、削除したデータはスナップショット領域に退避されていることがあります。削除してもスナップショット領域にデータが残るため、容量がすぐに解放されないことがあります。
スナップショットの保存期限が決まっており、定期的にローテーションで削除される仕組みがあれば、スナップショットの削除とともに容量は解放されますが、導入時にテスト用で作成したものや、スケジュールしたスナップショット以外に作成したもので、削除し忘れているケースがあります。

スナップショット…ある時点のデータの状態を保存する機能。元の論理ボリュームの変更差分のみ保存する。

原因②:予約領域(シン・プロビジョニング)

シン・プロビジョニング(※)の機能を実装した論理ドライブやファイルシステムの場合、書き込みを行う前に、ストレージは書き込みに必要な予約領域の容量の割り当てを行います。
その場合、ファイルを削除しても、すぐに予約領域が解放されるとは限らず、ホストOS上で表示される使用量と、ストレージ上で表示される使用量に差異が発生することがあります。

シン・プロビジョニング…実際に書き込まれた分(+α)だけ物理的な容量を消費する機能。

①スナップショットが原因の場合の対処方法

①についてはこれが原因とわかれば、対処はスナップショットの削除で対応を進めることができます。

image
スナップショットの削除で対応を進める

②シン・プロビジョニングが原因の場合の対処方法

②については前述のとおりストレージ製品により挙動が異なります。

具体例

一定のサイズ(数GB以上)のファイルサイズや、一定の連続領域のファイルの削除が必要な場合

⇒あまり頻繁に予約領域の割り当てと解放が行われると、ストレージの負荷が高くなるため、ある程度まとまった領域で解放を行うことがあります。

image
連続4ブロック以上で容量解放される仕様の場合
ホストOSがSCSI Unmapをサポートしていない場合

⇒(現在主流のホストOSではまずこれには該当することはありませんが、)SCSI Unmap(※)をストレージが受け取ることでストレージデバイスの未使用領域を解放できます。ホストOS側から発行される命令ですが、ホストOSがSCSI Unmapをサポートしていない場合には別途外部ツール(fstrim、Optimize-Volume)等での手動実行が必要です。

SCSI Unmapとは…ホストOSやアプリケーションが、シン・プロビジョニングされた論理ドライブやSSD等の物理ドライブにデータが削除されたことを通知し、削除された領域の再利用を可能とする命令。

image
ホストOSがSCSI Unmapをサポートしていない場合
ストレージ側のタイミングで行われる場合

⇒ホストからのIOを優先し、ストレージ内の負荷が低いときに実施されることがあります。

image
ストレージ側のタイミングで行われる場合

まとめ

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

廣原 保志

著者情報

廣原 保志

テクニカルサポート本部 テクニカルサポート第2部 エキスパートエンジニア

1998年入社。ストレージ製品を主に担当。QAサポートからサービス企画まで幅広い業務に従事。
HPE Master ASE Storage Solutions資格ホルダー。
JDSF(Japan Data Storage Forum)元理事。

このコラム記事に関する
お問い合わせはこちら

このコラムを面白いと思ったあなたへ。
技術に真摯に向き合う仲間を募集しています。
私たちと一緒に、次の挑戦をしませんか?