VMWare ESXi上でCLIでVMをコピーする

VMWare ESXiにはvim-cmdというCLIがあるので、それを使って大体の作業ができます。

# VIM IDの確認

vim-cmd vmsvc/getallvms

# コピーもとVMのshutdown(コピー元の電源がONの場合だけ必要)

vim-cmd vmsvc/power.off "vimid"

# VMのコピー

cp -r /vmfs/volumes/datastore1/base-ubuntu804server /vmfs/volumes/datastore1/app001-ubuntu804
rm -f /vmfs/volumes/datastore1/app001-ubuntu804/*.log
rm -f /vmfs/volumes/datastore1/app001-ubuntu804/*.nvram

# VMの設定

/vmfs/volumes/datastore1/app001-ubuntu804/base-ubuntu804server.vmx

MACアドレスの変更
下3桁の変更

  uuid.location = "56 4d 08 25 50 bf da 27-38 d8 ba 6e 2c 0b 36 60"   
  uuid.bios = "56 4d 08 25 50 bf da 27-38 d8 ba 6e 2c 0b 36 60"    
  ethernet0.generatedAddress = "00:0c:29:0b:36:60" 

# vmの登録

vim-cmd solo/registervm /vmfs/volumes/datastore1/app001-ubuntu804/base-ubuntu804server.vmx app001-ubuntu804

# 追加したVMVIM IDの確認

vim-cmd vmsvc/getallvms

# 追加したVMの電源ON

vim-cmd vmsvc/power.on "vimid"

この先、起動したVMIPアドレスとかを編集するのに、VMWareのClient使わなきゃいけないのがいまいちなんだけれど、何かいい解がないかなぁ。xenのxm consoleみたいに、ゲストOSにssh以外の方法で繋ぐ方法があるといいんだけどなぁ