ESXI命令行啓動虛擬機vim
一.環境和背景服務器
環境:esxi5.1-esxi6.5 (甚至4.0也是能夠用的)ssh
背景:若是某一臺虛擬機死機了,而且esxi的控制檯卡死了不能用,爲了避免影響同一個esxi下面其餘虛擬機的使用則只能使用命令行來單獨重啓此虛擬機,下面我會介紹經過四種方法來修復虛擬機。命令行
二.登陸esxi母機:進程
登入esxi母機的方法:資源
1)打開ssh服務,而後ssh上去(咱們的服務器默認都是打開的,因此能夠直接sshget
2)經過控制口上去而後按alt+f1 輸入密碼也能夠進去。cmd
三.重啓虛擬機:虛擬機
1.經過vim-cmd來重啓虛擬機:登錄
vim-cmd vmsvc/getallvms (獲取全部虛擬機的vmid信息)
關閉虛擬機:vim-cmd vmsvc/power.off 3
打開虛擬機:vim-cmd vmsvc/power.on 3
重啓虛擬機:vim-cmd vmsvc/power.reset 3
獲取虛擬機的當前狀態:vim-cmd vmsvc/power.getstate 3
2.使用esxi主機的esxcli命令來關閉虛擬機
esxcli vm process list (獲取正在運行的虛擬機的信息)
關閉虛擬機: vm process kill --type=hard --world-id=245735
注意有三種關閉虛擬機的模式:soft程度最低,hard爲當即執行,若是依然不能關機那麼就只能用force模式。
查看虛擬機有沒有被關閉:esxcli vm process list (這條命令顯示,若是沒有在列表裏面的則表示已經關閉了)
3.在ESXi上面發送信號來關閉虛擬機
說明:主要是虛擬機可以在命令行下中止相關的進程從而關閉
警告:這個操做對esxi母機有潛在的危險,若是你不能正確的辨別進程的ID,而誤殺了其餘的進程,就會致使不可預期的後果,因此通常儘可能不要去用這種方法。
1)要知道esxi下面有沒有虛擬機在運行可使用下面的命令:
ps | grep vmx (分別是pid,父進程,調用的服務)
2)從上面能夠看出個人tw08c011s2這臺虛擬機的父進程是247107,那麼我只要把它kill掉就ok了 。即:
終止虛擬機的父進程: kill 247107
強制終止:kill -9 247107
3)用上面的命令進行檢測,應該是ok了。
4.可使用esxtop中的k命令來終止一個正在運行的虛擬機的進程
1)使用esxtop
2)按c選擇cpu資源利用界面
3)按f選擇信息列表
4)按c添加LWID列
5)經過LWID來確認咱們要修復的虛擬機
6)按k
7)在world to kill 提醒後面輸入LWID而後按回車
8)過10秒再次確認虛擬機是否是已經被關閉了
總結:經過上面的四種方法均可以在esx控制檯卡死,而且不用動其餘虛擬機的狀況下,來修復咱們所須要管理的虛擬機。建議用第一種方法,便捷並且風險小,若是實在不行則用後面的3,4的方法。