爛泥:通過SSH終端管理ESXI虛擬機

本文首發於爛泥行天下

今天在ESXI上的一臺windows系統的虛擬機(以下簡稱VM),突然nagios報警提示說:該機器發生故障。

既然問題出來了,就要解決。先在本機ping下那臺VM,發現不能ping通。使用vsphere登錄到ESXI,發現該VM還處於運行狀態,但是無法遠程進去,一直顯示的是黑屏。

打算直接在ESXI上重啓該機器,但是卻提示如下的錯誤信息:

clip_p_w_picpath001

因爲不想安裝ESXI的其他管理工具,所以就打算通過ESXI的SSH直接重啓VM。

通過SSH關閉VM有兩種方法:一是使用ESXi命令行工具vim-cmd來關閉VM,二是通過系統發送信號關閉VM。

方法一、

我們先來介紹方法一,通過ssh終端登錄到ESXI上。

第一、使用如下命令獲取ESXI上的所有虛擬機清單,如下:

vim-cmd vmsvc/getallvms

clip_p_w_picpath002

可以看到目前該ESXI上有5臺VM。

第二、獲取報錯VM的當前狀態:

vim-cmd vmsvc/power.getstate VM_ID

clip_p_w_picpath003

可以看到目前該VM是處於運行狀態的。

第三、使用第一步獲取的VM_ID來關閉虛擬機:

vim-cmd vmsvc/power.shutdown VM_ID

clip_p_w_picpath004

根據上圖,我們發下還是無法關閉VM。我們可以使用以下命令,強制關閉虛擬機:

vim-cmd vmsvc/power.off VM_ID

clip_p_w_picpath005

方法二、

現在我們來看方法二,要使用方法二關閉VM,我們要知道該ESXi上目前是否有VM正在運行,我們可以通過如下命令進行查看:

ps |grep vmx

clip_p_w_picpath006

注意上圖中,我標記出來的pid號。該pid就是該VM進程的父pid。我們只需把該進程父pid殺死即可關閉VM,如下:

kill -9 9823

clip_p_w_picpath007

以上是就是在SSH下關閉ESXI的VM。那麼下面我們通過SSH開啓VM。命令如下:

vim-cmd vmsvc/power.on VM_ID

clip_p_w_picpath008

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章