『壹』 esxi6 關機時怎麼執行命令
目的:強行關閉通過前端界面無法關閉的ESXI虛擬機
環境:esxi5.1-esxi6.5
背景:如果esxi下面某一台vm死機了,並且esxi的控制台卡死不能用,為了不影響同一個esx下其他的vm正常使用,那麼我們只能用命令行來單獨重啟此vm,保證一定得安全性和效率。下面我會通過四種方法來重啟vm
做法:登陸esxi主機
1. SSH登陸esxi
2. 重啟/關閉VM
2.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.2) 使用esxi主機的esxcli命令來關閉vm
# esxcli vm process list #獲取正在運行的虛擬機的信息
關閉虛擬機: # vm process kill --type=hard --world-id=245735
注意有三種關閉虛擬機的模式:soft程度最低,hard為立即執行,如果依然不能關機那麼就只能用force模式。
查看虛擬機有沒有被關閉:esxcli vm process list (這條命令顯示,如果沒有在列表裡面的則表示已經關閉了)
3 在esxi上面發送信號來關閉vm
說明:主要是虛擬機能夠在命令行下停止相關的進程從而關閉
警告:這個操作對esxi母機有潛在的危險,如果你不能正確的辨別進程的ID,而誤殺了其他的進程,就會導致不可預期的後果,所以一般盡量不要去用這種方法。
1)要知道esxi下面有沒有虛擬機在運行可以使用下面的命令:
# ps | grep vmx (分別是pid,父進程,調用的服務)
2)從上面可以看出我的tw08c011s2這台虛擬機的父進程是247107,那麼我只要把它kill掉就ok了 。即:
終止虛擬機的父進程:# kill 247107
強制終止:# kill -9 247107
3)用上面的命令進行檢測,應該是ok了。
『貳』 如何使用VMware ESXi的遠程命令行界面
大多數人都認為VMware ESX Server 3i和ESX Server 3.5是極其相似的,除了在3i的調試界面中沒有像Red Hat Enterprise Linux界面的命令行程序。甚至很多人認為ESX Server僅僅缺少了命令行介面(CLI command line interface)。但事實上,ESX Server3i是有CLI的,只不過是遠程CLI。本文中,我將演示如何下載、安裝和使用該命令行程序。
安裝ESX Server遠程CLI
遠程CLI使得用戶可以在遠程ESX Server3i系統上運行命令行。在ESX 3i系統環境中的VMware可以完全支持這種操作方式,但是在ESX Server 3.5系統中的虛擬機是不支持的。
VMware提供了三種安裝遠程ESX Server3i CLI的方式
Windows
Linux
作為虛擬應用方式(被載入到VMware ESX Server中並作為虛擬腳本程序運行)
並不是我對Linux有偏見,受篇幅限制我只能演示在Windows系統中如何安裝遠程ESX Server 3i CLI。
包含RCLI(Remote CLI)的虛擬應用程序看起來是一種非常有趣的安裝方式。Windows CLI大約44MB大小,而虛擬應用程序有119MB。因此,對於您來說掌握Windows CLI的方式要比虛擬應用程序的方式更加簡單和快捷。
通過使用虛擬應用程序,最終您將獲得一個功能性的「腳本應用程序」。和在您的系統中安裝一個新的應用程序相比,這種方式避免了可能會跟Perl或其他應用存在沖突的風險。另外,該應用是獨立運行在您的系統中的,相比像應用伺服器一樣的方式,這種方式只有您可以使用該虛擬程序。
首先從VMware下載中心下載RCLI開始我們的安裝過程。在那裡,找到VMware Infrastructure Remote Client,然後下載。輸入VMware用戶名和密碼後登陸,當然需要選擇接受長達9頁的軟體許可證書(這個閱讀量可真夠大的!!)
這里有三種不同的RCLI可以下載,同時帶有一個PDF文檔用以解釋如何使用RCLI和介紹Storage VMotion. 在下載完成後,運行並安裝Windows RCLI。三次點擊後,進入安裝程序:
下載和安裝是最簡單的部分,如何正確地使用RCLI才是問題所在。
如何使用VMware ESX Server 3i遠程CLI?
在安裝完之後,無論在桌面還是在開始菜單的VMware程序組中都不會看到新圖標的出現。您可能會看到一個新出現的ActivePerl 5.8程序組,但是在這個組中沒有任何VMware對應的圖標。事實上,當我進行到這一步的時候,我需要回頭去看一遍文檔來學習如何進入RCLI。
為了使RCLI,進入Windows的命令行程序,然後更改文件夾路徑到RCLI\bin,輸入如下命令:
cd \Program Files\VMware\VMware VI Remote CLI\bin
接下來我運行了DIR命令來查看該文件夾中的文件。下面是我看到的結果:
除非您是命令行程序或者Per 的狂熱愛好者,否則這時您一定會說「讓我忘記這種管理方式吧,這只適用於CLI程序員,並不是為我設計的」。不過,我仍然建議,在您決定是否使用它們之前,花些時間來了解這些命令的強大功能。和多數腳本程序一樣,這是無法通過簡單地幾篇短文就可以全部掌握的。
在RCLI中提供了很多不同的命令幫助您完整多種不同的功能。為了演示它們能做什麼,我需要選擇一個簡單的命令來舉例說明。我選了較為簡單的命令,vicfg-nics,通過這個演示我們可以看到怎樣通過這個命令來顯示遠程3i伺服器的虛擬網卡列表。請輸入以下命令行:
vicfg-nics.pl;server esxserver1;l
這里將提示您輸入用戶名和密碼。請注意在用戶名和密碼中帶有的特殊字元將佔用兩個字元位,或者在之前會出現反斜杠。
進入該文檔後,點擊ESX Server 3i Configuration Guide,然後點擊Using Remote Command-line Interfaces,您將注意到在文檔中,對於每個命令都有多個不同的選項,幫助您定義一些不同的參數,例如設置用戶名和密碼。
結論
結論是,對於虛擬化系統的管理員來說,VMware ESX Server 3i的RCLI(3.5版不支持),可以作為一個全新的管理工具使用。有了RCLI,管理員可以通過創建腳本程序來管理我們的遠端VMware ESX Server系統。通過這些腳本的組合,使得我們可以實現對虛擬架構環境的自動化管理方式。