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アドレスを修正します。