本人server上的vmware server很久沒有更新過, 由於以前vmware server安裝在kernel 2.6系統時,會有compile不到的問題, 因此每升級vmware一次,就要去patch個vmware, 非常不方便, 因此升到1.0.4後, 因為懶, 及沒有時間的關係, 就一直都沒有更新過.
今日心血來潮, 就把原來的1.0.4, 升級為2.0.1.
在升級過程上, 沒有遇上什麼問題, 非常容易地就升了上去.
但在安裝後發現舊版的vmware client console就不能再使用, 而新版2.0.1亦沒有提供新的vmware client console, 不過這不是問題, 我仍可用browser.
最大問題題, 原有的vmware-cmd指令, 在VMWare Server 2.0.1上已經不再存在, 那我原本用來管理server內的vm的script, 在開機或reboot時可自動啟動眾vm的script等, 因為都是用vmware-cmd的關係, 就不能執行了.
花了不少時間在網上找解決方法, 所有地方都是叫人用vmrun解決, 但vmrun 有一個非常大問題, 是在console下用username及password經https來執行指令,
vmrun -T server -h https://myHost.com/sdk -u hostUser -p hostPassword start "[storage1] vm/myVM.vmx"
那豈不是我所有的script裡面都要加username和password?那麼危險!
正當絶望及打算downgrade到1.0.7時, 無意中發現vmware-vim-cmd這一個指令, 在試用這指令時發現原來vmware-cmd已轉成vmware-vim-cmd,
在輸入vmware-vim-cmd會顯示:
Commands available under /:
hostsvc/ proxysvc/ vimsvc/ help
internalsvc/ solo/ vmsvc/
而我需要vmware-cmd的功能, 就在vmsvc/下面,
在輸入vmware-vim-cmd vmsvc/會顯示:
Commands available under vmsvc/:
acquiremksticket get.configoption power.off
connect get.datastores power.on
convert.toTemplate get.disabledmethods power.reboot
convert.toVm get.environment power.reset
createdummyvm get.filelayout power.shutdown
destroy get.guest power.suspend
device.connection get.guestheartbeatStatus reload
device.connusbdev get.managedentitystatus setscreenres
device.disconnusbdev get.networks snapshot.create
device.diskadd get.runtime snapshot.dumpoption
device.diskaddexisting get.snapshotinfo snapshot.get
device.diskremove get.summary snapshot.remove
device.getdevices get.tasklist snapshot.removeall
device.toolsSyncSet getallvms snapshot.revert
device.vmiadd gethostconstraints snapshot.setoption
device.vmiremove login tools.cancelinstall
devices.createnic logout tools.install
get.capability message tools.upgrade
get.config power.getstate unregister
get.config.cpuidmask power.hibernate upgrade
而我那些script最需要的是:
getallvms //vmware-cmd -l
power.on
power.off
power.reboot
snapshot.create
snapshot.revert
而用法就像以前的vmware-cmd一樣,
如要列出所有vm的資料及vmid, 輸入
vmware-vim-cmd vmsvc/getallvms
如需啟動vm, 輸入
vmware-vim-cmd vmsvc/power.on [vmid]
幸好有vmware-vim-cmd, 不用把vmware server 2.0.1 downgrade到1.0.7,
之後把所有script, 修改用vmware-vim-cmd就完成.