ESXI 5では、普通にcpコマンドを使って、HDDイメージであるvmdkファイルをコピーすると、
「シン」タイプのvmdkファイルであるにもかかわらず、ホストの物理領域を大きく占有してしまった。
「シン」タイプのvmdkファイルのバックアップをとる場合には、 専用ツール(vmkfstools -i)を使う必要がある。
□まずは、sshでESXI 5.0.0にログイン
データストアのディレクトリに移動する
# cd /vmfs/volumes/datastore1/
バックアップ用ディレクトリを作成する
# mkdir backup-guestmachine
対象の仮想マシンのディレクトリに移動する
# cd guestmachine
□次に、二つの手順で、仮想マシンファイルをバックアップする
1、先にvmdkファイル以外のファイルを全てコピーする
(注意) `find . ! -name '*.vmdk' -type f` の部分で、「`」を使っているが、これはバッククォート(@キーをshiftで押して得られるもの)である。
また、「!」は否定を意味する。
各行でエンターし一連のコマンドを入力する。doneの行ではエンターで一連のコマンドが実行される。
# for f in `find . ! -name '*.vmdk' -type f`この処理はすぐに終わった。
> do cp $f ../backup-guestmachine/
> done
2、次に、ディスクイメージに相当するvmdkファイルを、「シン」タイプでクローニングする
# vmkfstools -i ./guest.vmdk -d thin ../backup-guestmachine/guest.vmdk
Destination disk format: VMFS thin-provisioned
Cloning disk './guest.vmdk'...
Clone: 100% done. ←進捗は一定でなく、速く進むところがあった。
これによって、あて先ディレクトリに、-flat.vmdkファイルと、vmdkが生成される。
ただし、-flat.vmdkファイルは、lsコマンドではプロビジョニング後の「容量」しか表示されない。
実際の物理的な占有サイズは、「df -h」コマンドを使ってマウントポイントごとに確かめる。
◎実際の占有サイズが5GBほどのthin-provisionedディスクイメージ(900GB)を上のコマンドを使いコピーした結果、次のことがわかった。
<ローカルからNFSに転送した場合>ローカルからNFSにバックアップするとき、シンタイプディスクイメージの転送はとても早く済むので時間の節約になった。
ネットワーク上には5GBほどしか流れなかった。
<NFSからローカルディスクに転送した場合>
ネットワーク上には900GBのデータが流れた。
シンタイプのイメージであっても、いったん言わばシック状態に戻されて転送されるのかもしれない。
しかし転送先のディスクにはシン状態で再び保存されるようである。
(参考)
・ESXiでVMのホットバックアップをとるスクリプト
< http://blog.cles.jp/item/3731 > 2011年12月24日
・vmdk.flat
< http://communities.vmware.com/message/796481 > 2011年12月24日
・VMware ESXi で容量可変の仮想ディスクを作成/変換する
< http://www.maruko2.com/mw/VMware_ESXi_%E3%81%A7%E5%AE%B9%E9%87%8F%E5%8F%AF%E5%A4%89%E3%81%AE%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%82%92%E4%BD%9C%E6%88%90/%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B > 2011年12月24日