星期二, 4月 03, 2012

VMware vSphere 5 使用本機 command 啟動VM

今天要進行 UPS 更換
從遠端要進行 VMware vSphere Hypervisor 關機
關機換完 UPS 之後就想到,
之前裏面的 VM 沒有設定 vSphere Hypervisor 啟動之後 這台VM 要跟著啟動

當下又沒有 Windows Client with vSphere Client. 或是也懶得去下載 vCli
所以就 google 爬文找了一下, 果然找到方法 ( http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1038043 )

使用 ssh 登入 VMware vSphere Hypervisor 後

使用 vim-cmd   vmsvc/getallvms 取得vm 的id 以及資訊

# vim-cmd vmsvc/getallvms
Vmid       Name                          File                        Guest OS      Version   Annotation
2      openSUSE12-1   [datastore1] openSUSE12-1/openSUSE12-1.vmx   rhel6_64Guest   vmx-08            

取得電源狀況 使用 vim-cmd   vmsvc/power.getstate  vmid
# vim-cmd  vmsvc/power.getstate   2
Retrieved runtime info
Powered off


開機
# vim-cmd   vmsvc/power.on   2
Powering on VM:


取得電源狀況確認
# vim-cmd   vmsvc/power.getstate  2
Retrieved runtime info
Powered on     



要設定 VM 隨著 vSphere Hypervisor 開機啟動可以參考 ( http://communities.vmware.com/thread/254854 )
或是這篇 ( http://communities.vmware.com/message/1450748 )



# vim-cmd   hostsvc/autostartmanager/get_defaults  
(vim.host.AutoStartManager.SystemDefaults) {
   dynamicType = <unset>, 
   enabled = <unset>, 
   startDelay = 120, 
   stopDelay = 120, 
   waitForHeartbeat = false, 
   stopAction = "PowerOff", 
}

這個部份應該與這個設定有關

# cat  /etc/vmware/hostd/vmAutoStart.xml 
<ConfigRoot>
  <AutoStartOrder>
    <_length>0</_length>
    <_type>vim.host.AutoStartManager.AutoPowerInfo[]</_type>
  </AutoStartOrder>
  <SystemDefaults>
    <_type>vim.host.AutoStartManager.SystemDefaults</_type>
    <startDelay>120</startDelay>
    <stopAction>PowerOff</stopAction>
    <stopDelay>120</stopDelay>
    <waitForHeartbeat>false</waitForHeartbeat>
  </SystemDefaults>
</ConfigRoot>

設定啟動 autostart  ( 1 代表 enable )
# vim-cmd   hostsvc/autostartmanager/enable_autostart  1


再次觀察

# cat /etc/vmware/hostd/vmAutoStart.xml
<ConfigRoot>
  <AutoStartOrder>
    <_length>0</_length>
    <_type>vim.host.AutoStartManager.AutoPowerInfo[]</_type>
  </AutoStartOrder>
  <SystemDefaults>
    <_type>vim.host.AutoStartManager.SystemDefaults</_type>
    <enabled>true</enabled>
    <startDelay>120</startDelay>
    <stopAction>PowerOff</stopAction>
    <stopDelay>120</stopDelay>
    <waitForHeartbeat>false</waitForHeartbeat>
  </SystemDefaults>
</ConfigRoot>

接下來看看如何設定

# vim-cmd hostsvc/autostartmanager/update_autostartentry
Insufficient arguments.
Usage: update_autostartentry VMId StartAction StartDelay StartOrder StopAction StopDelay WaitForHeartbeat




# vim-cmd hostsvc/autostartmanager/update_autostartentry 2  "PowerOn" "15" "1" "systemDefault" "systemDefault" "systemDefault"
1Updated AutoStart order.


再觀察一次設定


# cat /etc/vmware/hostd/vmAutoStart.xml
<ConfigRoot>
  <AutoStartOrder>
    <_length>1</_length>
    <_type>vim.host.AutoStartManager.AutoPowerInfo[]</_type>
    <e id="0">
      <_type>vim.host.AutoStartManager.AutoPowerInfo</_type>
      <key>
        <_type>vim.VirtualMachine</_type>
        <moid>2</moid>
      </key>
      <startAction>PowerOn</startAction>
      <startDelay>15</startDelay>
      <startOrder>1</startOrder>
      <stopAction>systemDefault</stopAction>
      <stopDelay>0</stopDelay>
      <waitForHeartbeat>systemDefault</waitForHeartbeat>
    </e>
  </AutoStartOrder>
  <SystemDefaults>
    <_type>vim.host.AutoStartManager.SystemDefaults</_type>
    <enabled>true</enabled>
    <startDelay>120</startDelay>
    <stopAction>PowerOff</stopAction>
    <stopDelay>120</stopDelay>
    <waitForHeartbeat>false</waitForHeartbeat>
  </SystemDefaults>
</ConfigRoot>

確認結果


# vim-cmd hostsvc/autostartmanager/get_autostartseq
(vim.host.AutoStartManager.AutoPowerInfo) [
   (vim.host.AutoStartManager.AutoPowerInfo) {
      dynamicType = <unset>, 
      key = 'vim.VirtualMachine:2', 
      startOrder = 1, 
      startDelay = 15, 
      waitForHeartbeat = "systemDefault", 
      startAction = "PowerOn", 
      stopDelay = 0, 
      stopAction = "systemDefault", 
   }
]





先記下來
^__^

沒有留言: