vCenterなしでESXi上のVMをクローンする

ESXi上に配置している仮想マシンをクローンするには、vCenterが必要になる。
しかし,画面ポチーがあまり好きではないので何か良い方法がないかなと思ったら
VMWareのコミュニティにこういうものがあった。
ESXi でのVMのクローンについて(vCenterがない場合)
これならスクリプトベースでいけそう。

これを/vmfs/volumes/DATASTORE/に配置しておく。

SRC_VM=$1
DST_VM=$2

[ -d $SRC_VM ] || { echo "src_vm not exists."    ; exit 1; }
[ -d $DST_VM ] && { echo "dst_vm already exists."; exit 1; }

mkdir $DST_VM

ls $SRC_VM/*vmdk | grep -v -e "-flat" -e "delta" | while read L
do
        L2=`echo $L | sed -e s/${SRC_VM}/${DST_VM}/g`
        vmkfstools --diskformat thin --clonevirtualdisk $L $L2
done

ls $SRC_VM/* | grep -v -e "vmdk" -e ".log" | while read L
do
        L2=`echo $L | sed -e s/${SRC_VM}/${DST_VM}/g`
        cp -p $L $L2
done

sed -i s/$SRC_VM/$DST_VM/g $DST_VM/${DST_VM}.vmx

下記のコマンドを実行する。
勿論,cloneをやる前にはVMは停止させておいてください。

# cd /vmfs/volumes/DATASTORE
# sh cpvm.sh OLD NEW
# vim-cmd solo/registervm /vmfs/volumes/DATASTORE/NEW/NEW.vmx

無事cloneが完了した。