由VMWare Server 1.0.4 升上 2.0.1

📁 Computer
本人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就完成.