ESXi 5.1 以前は、シン・プロビジョニングのvmdkをvmware tools で圧縮(shrink)ができた。 5.1からはできなくなってしまった。 手動でやる方法。 http://www.insomnihack.com/?p=387 !!!ゲストマシンがLinux !!未使用領域をゼロクリアする !ゲストマシンでの作業 dd if=/dev/zero of=/zero bs=20971520 sync rm /zero ddコマンドで対象のディスクのマウントポイント内に対して、ディスクがいっぱいになるまでゼロを書く。 ディスクがいっぱいになったら、作成したファイルを削除する。 これで、未使用領域にゼロが書き込まれる。 of=/zero rm /zero の「/zero」はゼロクリアしたい仮想ディスクがマウントされているパスを指定する この状態で、ホストマシンから vmkfstools -d monosparse -i hoge.vmdk back.vmdk を実行するとゼロクリアされた領域はコピーされない。 バックアップサイズを小さくしたいだけなら、この作業だけで良い。 !!ゼロクリアした領域を削除して、vmdkを小さくする !ホストマシンでの作業 ゼロクリアを実施したvmdkに対して vmkfstools -K hoge.vmdk を実行する。するとvmdkのゼロクリアした領域を削除する。 ただし、 ls で見ても容量は変わっていない。 du で確認すると容量が減っている。 !!!ゲストマシンがWindows 知らない・・・。 そのうち必要になったら書く。 {{category2 仮想化}}