トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

VMWare ESXi 5.1 vmdkを縮小する

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

知らない・・・。
そのうち必要になったら書く。

[カテゴリ: 仮想化]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2013年11月19日 21時59分46秒