ESXi6上の仮想マシンをvCenterなしでクローン

vCenterを買っていればGUIでチョイチョイっとクローン出来るんですが、我々趣味のユーザが買うようなものでもありません。
手動でクローンを作ります。

・前提
クローン元の仮想マシンの格納先が

/vmfs/volumes/hogehoge/vm_soure

クローン先の仮想マシンの格納先が

/vmfs/volumes/hogehoge/vm_dest

とします。

・注意
vCenterのクローンではホスト名とかIPアドレスを変更したりしてくれるのですが、このページに記載する手順は単なる仮想マシンのコピーです。

手順1
クローン元仮想マシンvm_soure」をシャットダウンします。

手順2
ESXiホストにSSH接続します。
※デフォルトではSSH接続できません。あらかじめESXiホストにSSH接続できるよう設定しておいてください。

手順3
クローン先仮想マシンvm_dist」のディレクトリを作ります。

# cd /vmfs/volumes/hogehoge
# mkdir vm_dest


手順4
仮想ハードディスク(vmdkファイル)を以下のコマンドでコピーします。

# cd /vmfs/volumes/hogehoge/vm_source
# vmkfstools -i vm_source.vmdk ../vm_dist/vm_dest.vmdk -d thin

 
※vmkfstools -i コピー元vmdk コピー先vmdk -d ディスクフォーマット
-dオプションは省略可能ですが、指定しないとthick provisioningになります。

手順5
vm_sourceの構成ファイルのうち、vmdk(手順4でコピー済み)とlog以外をコピーします。
※こちらは単なるコピーなので、vSphere ClientのGUIでやっても良いです。

# cp vm_source.nvram ../vm_dest/vm_dest.nvram
# cp vm_source.vmsd ../vm_dest/vm_dest.vmsd
# cp vm_source.vmx ../vm_dest/vm_dest.vmx
# cp vm_source.vmxf ../vm_dest/vm_dest.vmxf

 
手順6
クローン先仮想マシンのvmxファイルを編集します。

# cd ../vm_dest
# cp -p vm_dest.vmx vm_dest.vmx.bak
# vi vm_dest.vmx


※編集する主なポイントは以下。クローン元VM名で検索すると確実。

nvram = "vm_dest.nvram"
scsi0:0.fileName = "vm_dest.vmdk"
displayName = "vm_dest"
sched.swap.derivedName = "/vmfs/volumes/hogehoge/vm_dest/vm_dest-<乱数>.vswp"
migrate.hostlog = "./vm_dest-<乱数>.hlog"
extendedConfigFile = "vm_dest.vmxf"

 

※viエディタの操作方法を知らない場合は検索してください。


手順7
vSphere Web Clientでデータストアブラウザを開き、クローン先仮想マシンディレクトリを表示します。
vmxファイルを右クリックし、[インベントリへの追加]を選択します。

手順8
追加されたクローン先仮想マシンを起動します。
「この仮想マシンは移動またはコピーされている可能性があります。特定の~~」というダイアログが表示されたら、「コピーしました」を選択します。

手順9
正常に起動することを確認します。
適宜、ホスト名やIPアドレスを修正します。