Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
スペース回収とは、システムが使用しなくなったものの解放されていないストレージ領域を取り戻す処理を指します。仮想化やエンタープライズストレージ環境、特にVMware、シンプルプロビジョニング、SAN、SSD環境では、システムが削除済みまたは未使用のブロックを検知し、ストレージプールへ返却する一連の作業を意味します。
ファイルやデータベースレコードを削除しただけでは物理的なストレージが解放されない場合が多く、システムはディスク上の容量を縮小せず、単に領域を「空き」としてマークするだけです。
例えば100GBのデータベースに実データが60GBしか格納されていなくても、ディスク上では100GB全容量を占有し続けます。本来のスペース回収はこれを一歩進め、データを集約しコンテナ容量を縮小することで、未使用領域をOSまたはストレージプールに返却する処理です。
ストレージ管理はローカルマシンから着手するのが基本です。デスクトップでもサーバーでも、標準搭載ツールと手動クリーンアップを組み合わせることで、Windows、macOS、Linuxのディスク空き容量を大幅に確保できます。
Windows10、Windows11どちらの環境でも、以下の標準ツールで大半の容量確保作業に対応可能です。
%temp%と入力しEnterキーを押します。フォルダ内のファイルを全選択し削除します。powercfg -h offを実行します。数GBに達するhiberfil.sysファイルが削除され容量を確保できます。macOSにはストレージ使用状況確認や不要データのオフロードに対応した標準ツールが備わっています。
~/Library/Cachesへ移動、不要なアプリのフォルダを削除します。Linux環境では簡単なコマンドを実行するだけで、少ない手間で大量のディスク容量を回収できます。
df -h:全マウントファイルシステムのディスク使用量を見やすい単位で表示du -sh /*:最上位ディレクトリごとの合計容量を表示ncdu:ターミナル上で操作可能な対話型ディスク分析ツール、パッケージマネージャーからインストール可能sudo apt clean && sudo apt autoremovesudo dnf clean allsudo pacman -Scsudo journalctl --vacuum-size=200Mを実行し容量を削減します。find / -type f -size +500Mを実行し、500MB超えの単独ファイルを特定します。データベース上でデータを削除しても、ディスク上のファイルサイズは自動的に縮小されません。大半のデータベースエンジンは削除行の跡に空きギャップを内部に保持し、OSへ領域を返却しない仕組みになっています。単純なDELETE文だけでは容量回収ができず、追加の処理が必要です。
InnoDBエンジン使用時、MySQLはDELETE実行後もデータファイル(.ibdまたはibdata1)を縮小しません。空き領域は内部で再利用可能としてマークされるだけで、ディスク上の割り当て容量は維持されます。
OPTIMIZE TABLE テーブル名を実行しテーブルを再作成、断片化した空き領域を回収します。 innodb_file_per_tableを有効に設定することで、各テーブルに独立した.ibdファイルが割り当てられ、テーブルの切り捨て・削除時のスペース回収が容易になります。PURGE BINARY LOGS BEFORE '日付'でレプリケーションや復旧に不要なログを削除します。SHOW TABLE STATUSで大容量テーブルを特定し、履歴データをコールドストレージへ移行してから最適化を実行します。これにより最適化の効率が高まり、稼働中データをスリムに保てます。アーカイブ前には、作業中の障害に備えてMySQLデータベースのバックアップを確実に取得してください。PostgreSQLはMVCC(複数バージョン同時実行制御)という並行処理モデルを採用しています。行の更新・削除後、古いデータは「デッドタプル」としてディスク上に残存し、明示的なクリーンアップを実行するまで消去されません。
VACUUMを実行するとデッドタプルが消去され、同一テーブル内で領域を再利用可能にします。OSへ容量を返却する処理は行われません。VACUUM FULLを実行するとテーブルファイル内の空きギャップを除去し再書き込み、実際にディスク上のファイルサイズを縮小します。ANALYZEを実行しクエリプランナーの統計情報を更新します。更新後のデータに対し、最適なクエリ実行計画を作成できるようになります。autovacuum_vacuum_scale_factorの設定値を確認してください。大容量テーブルの場合、デフォルト設定ではクリーンアップの実行頻度が不足し、デッドタプルが蓄積し続ける恐れがあります。SQL Server、Oracleといった商用データベースも共通の原理が適用され、データ削除だけではディスク容量が解放されません。ただしプラットフォームごとに使用するツールと手順は異なります。
DBCC SHRINKFILEを使用しデータベースファイルのサイズを縮小します。ただし頻繁な実行はインデックスの断片化を引き起こしクエリパフォーマンスを低下させるため、乱用を避けてください。容量膨張対策としてはまずインデックスの再構築を実施するのが望ましいです。DBMS_SPACE.UNUSED_SPACEで容量の無駄な箇所を特定し、ALTER TABLE ... MOVEに続けてALTER INDEX ... REBUILDを実行しデータを集約、セグメントサイズを縮小します。クラウド環境ではデータ保存量に応じてストレージ費用が増加します。手動削除だけではコスト制御が不十分なため、請求額が膨らむ前にデータの移行、期限切れ削除、階層別保管を自動化するポリシーを設定する必要があります。
主要クラウド3社はいずれもライフサイクル管理機能を提供し、各ストレージ階層の保管期間と自動削除ルールを設定可能です。
誤った手順でストレージクリーンアップを実施するとデータ損失やパフォーマンス低下を引き起こす可能性があります。以下の運用ルールを守ることで安全かつ効率的に容量を回収できます。
VACUUM FULL、MySQLではOPTIMIZE TABLEを追加実行し、OSへ領域を返却する必要があります。本ガイドで紹介するデータベースファイルの縮小、システムログの消去、クラウドオブジェクトの削除といったクリーンアップ作業は、一度実行すると元に戻すことが難しい場合が大半です。いずれの処理を実施する前に、データのバックアップが完了していることを確認する必要があります。
単独端末や小規模環境では手動バックアップで対応可能です。しかし複数OS、データベース、クラウド基盤が混在するエンタープライズ環境では、各レイヤーごとに手動でバックアップ管理するのは現実的ではありません。この課題に対応する専用ソリューションがi2Backupです。
i2Backupは本ガイドで解説する物理サーバー、仮想マシン、データベース、クラウドストレージまで多種多様なワークロードを一括保護するエンタープライズ向けバックアッププラットフォームです。
VACUUM FULLやOPTIMIZE TABLEで手動容量回収を必要とするのと同様、バックアップ用ストレージも積極的な管理が不可欠です。i2Backupでは保存期間ルールを定義するだけで古いバックアップが自動削除され、手動操作が不要になります。OPTIMIZE TABLEやDBCC SHRINKFILEを実行できます。スペース回収はストレージ管理に不可欠な作業ですが、特にデータベースやシステム層では障害リスクが伴います。信頼できるバックアップ環境があれば、万が一トラブルが発生しても、復旧に数日を要することなく数分で対応可能です。
Q1:スペース回収とは何ですか
スペース回収とは、データ削除後もディスク上に割り当てられたままのストレージ領域を取り戻す処理のことです。ファイルやデータベースレコードを削除しただけでは容量が解放されないため、ゴミ箱を空にする、VACUUM FULLを実行する、クラウドライフサイクルポリシーを設定するといった追加作業で完全に領域を返却する必要があります。
Q2:費用をかけずにPCのディスク容量を確保する方法は
全て標準搭載ツールで対応可能です。Windowsはストレージセンスまたはディスククリーンアップ、macOSはシステム設定>一般>ストレージ、Linuxはsudo apt clean && sudo apt autoremoveから着手できます。有償ソフトは不要です。
Q3:ディスククリーンアップの実行は推奨されますか
はい。一時ファイル、古い更新ファイル、不要なシステムログを安全に削除できます。「システムファイルのクリーンアップ」を選択するとより深くクリーンアップ可能です。ただしOS層のみ対応するため、データベースやクラウドストレージは別途対応が必要です。
容量確保のために優先的に削除すべきデータは何ですか
まず一時ファイル、古いシステム更新ファイル、未使用アプリを削除しましょう。容量が大きく、リスクも低いため最も手軽です。データベースの場合は古いデータをアーカイブしてから最適化、クラウドストレージでは古いバックアップと未完了アップロードファイルを優先的に消去します。
ストレージのスペース回収は複数レイヤーに跨る一連の作業です。ゴミ箱を空にするだけで基礎的な容量確保は可能ですが、本ガイドで解説した通り、データベースファイル、クラウドバケット、システムログはそれぞれ専用のクリーンアップ手法が必要です。
単発の対応ではなく定例業務に組み込むことが重要です。クラウドストレージにはライフサイクルポリシーを設定、データベース最適化は四半期ごとにスケジュール、OSクリーンアップは毎月実施します。また、大規模なスペース回収作業を実施する前には必ずデータバックアップを取得してください。
複数プラットフォームに跨る複雑な環境を運用する企業には、Info2softのi2Backupが、あらゆる規模のクリーンアップ作業を安全に実行するための自動保護レイヤーを提供します。