VMwareのスナップショットのディスク使用量を減らしたい
仮想マシンのディスクファイルを可変に設定しているとディスクの使用状況に応じて容量が増加しますが、不要になったファイルを削除しても仮想ディスクファイル自体が小さくなるわけではありません。例外的に仮想ディスクファイルが小さくなるのは次のケースです。
Windows仮想マシンでスナップショットのディスク使用量を減らす
Windows仮想マシンではVMwareの管理画面から「仮想マシンのクリーンアップ」で仮想ディスクファイルを小さくできます。これは仮想マシンのスナップショットにも適用できるため、明示的なゼロフィルが実施されていれば肥大化したスナップショットを切り詰める目的にも利用できます。
ゼロフィルのツールは様々なものがありますが、マイクロソフトのwebサイトからダウンロードできる sdelete というツールがよいと思います。
sdeleteの使用例を調べるとHDD破棄を目的としたゼロフィルでの用例が多いようですが、今回は仮想マシンのディスクイメージの切り詰めが目的ですので、次のように1回だけゼロフィルすればOKです。
sdelete.exe -p 1 -z C:
その他のOSでスナップショットのディスク使用量を減らせるか?
これは減らす方法はないようです。
例えばゲストOSがLinuxの場合につぎのように操作してゼロフィルしても、VMwareがLinux仮想マシンでのゼロフィルによるクリーンアップをサポートしていないため、スナップショットの使用量を減らすことができません。
dd if=/dev/zero of=testfile status=progress bs=1M rm testfile
スナップショットがない仮想マシンなら次のようにvmware-toolbox-cmdを実行しての切り詰めがサポートされています。
sudo vmware-toolbox-cmd disk list sudo vmware-toolbox-cmd disk shrink /