1、簡介
VMware vSphere ESXi6.0常用命令使用,對於一些個人認為比較常用的命令進行總結,如果讀者需要了解更多請訪問VMware官網下載文檔,鏈接如下:https://www.vmware.com/support/developer/vcli/。
ESXi命令行獲取幫助的方法為<命令關鍵字 --help>,常用的命令一般都是以esxcli開頭,如果忘記命令可以使用幫助:esxcli --help;輸出如下:
[root@localhost:~] esxcli --help
Usage: esxcli [options] {namespace}+ {cmd} [cmd options]
Options:
--formatter=FORMATTER
Override the formatter to use for a given command. Available formatter: xml, csv, keyvalue
--debug Enable debug or internal use options
--version Display version information for the script
-?, --help Display usage information for the script
Available Namespaces:
device Device manager commands
elxnet elxnet esxcli functionality
esxcli Commands that operate on the esxcli system itself allowing users to get additional information.
fcoe VMware FCOE commands.
graphics VMware graphics commands.
hardware VMKernel hardware properties and commands for configuring hardware.
iscsi VMware iSCSI commands.
network Operations that pertain to the maintenance of networking on an ESX host. This includes a wide variety of
commands to manipulate virtual networking components (vswitch, portgroup, etc) as well as local host IP, DNS and
general host networking settings.
rdma Operations that pertain to remote direct memory access (RDMA) protocol stack on an ESX host.
sched VMKernel system properties and commands for configuring scheduling related functionality.
software Manage the ESXi software image and packages
storage VMware storage commands.
system VMKernel system properties and commands for configuring properties of the kernel core system and related system
services.
vm A small number of operations that allow a user to Control Virtual Machine operations.
vsan VMware Virtual SAN commands
2、常用命令
1)、vmware -v
查看系統版本,例子:
[root@localhost:~] vmware -v
VMware ESXi 6.0.0 build-3620759
2)、esxcli system version get
查看系統版本包括patch等信息,例子:
[root@localhost:~] esxcli system version get
Product: VMware ESXi
Version: 6.0.0
Build: Releasebuild-3620759
Update: 2
Patch: 34
3)、esxcli system time get
查看系統時間,例子:
[root@localhost:~] esxcli system time get
2016-09-13T02:02:39Z
4)、esxcli system time set <options>
修改系統時間,例子:
Cmd options:
-d|--day=<long> Day
-H|--hour=<long> Hour
-m|--min=<long> Minute
-M|--month=<long> Month
-s|--sec=<long> Second
-y|--year=<long> Year
[root@localhost:~] esxcli system time set -y=2016 -M=9 -d=13 -H=10 -m=9
[root@localhost:~] esxcli system time get
2016-09-13T10:09:27Z
5)、esxcli system maintenanceMode set --enable true/false
ESXi主機進入/退出,維護模式,例子:
[root@localhost:~] esxcli system maintenanceMode set --enable true
[root@localhost:~] esxcli system maintenanceMode get //查看維護模式的狀態
Enabled
[root@localhost:~] esxcli system maintenanceMode set --enable false
[root@localhost:~] esxcli system maintenanceMode get
Disabled
[root@localhost:~]
6)、esxcli system shutdown reboot/poweroff
系統重啟/關機(必須處於維護模式,否則命令不生效)
7)、esxcli network ip interface ipv4 get
查看接口ipv4地址,例子:
[root@localhost:~] esxcli network ip interface ipv4 get
Name IPv4 Address IPv4 Netmask IPv4 Broadcast Address Type DHCP DNS
---- ------------- ------------- -------------- ------------ --------
vmk0 10.1.98.165 255.255.255.0 10.1.98.255 STATIC false
8)、esxcli network ip route ipv4 list
查看路由表,例子:
[root@localhost:~] esxcli network ip route ipv4 list
Network Netmask Gateway Interface Source
----------- ------------- ------------- --------- ------
default 0.0.0.0 10.1.98.254 vmk0 MANUAL
10.1.98.0 255.255.255.0 0.0.0.0 vmk0 MANUAL
9)、esxcli network nic list
查看ESXi主機網卡列表(nic)或up-link列表,例子:
[root@localhost:~] esxcli network nic list
Name PCI Device Driver Admin Status Link Status Speed Duplex MAC Address MTU Description
------ ------------ ------ ------------ ----------- ----- ------ ----------------- ---- ---------------------------------------------------
vmnic0 0000:03:00.0 e1000e Up Up 1000 Full 00:50:56:9d:bd:b7 1500 Intel Corporation 82574L Gigabit Network Connection
vmnic1 0000:0b:00.0 e1000e Up Up 1000 Full 00:50:56:9d:7c:7f 1500 Intel Corporation 82574L Gigabit Network Connection
10)、esxcli network nic down/up -n=vmnic1
關閉/打開vmnic1接口
11)、esxcli storage core device list
查看磁盤列表
------------------------------------------------
關於esxi常用命令總結
services.sh restart 重啟所有的服務
重啟管理服務
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
查看服務器IP信息
esxcli network ip interface ipv4 get
5.5查宿主機下每個對應的mac
net-stats -l
5.5查看網卡狀態
esxcfg-vmknic -l
Linux shell命令
首先,讓我們了解一些常見的Linux shell命令。這些命令並非ESXi的專用命令,你會發現很多命令也可以在大多數的Linux發行版中使用。
find/cat/grep –在試圖查找指定的文件或者在某個文件中查找字符串時這三個命令非常重要。find命令可以基於文件名或者模式查找指定的文件,cat命令用於顯示文件內容,grep用於在單個或多個文件內查找指定的字符串。
find /path/to/vm/folder –i name "delta" – 列出虛擬機所有的增量磁盤。
cat hostd.log | grep error –在hostd.log中查找所有的"error"字符串
head/tail –查看文件內容時這兩個命令非常有用。盡管可以使用cat命令顯示文件完整的內容,但head以及tail命令可以用於顯示文件開頭或結尾的部分,忽略了文件的中間內容。進行故障診斷時tail命令尤為有用,尤其是可以使用-f標記實時監控日志文件發生的變化。
tail -f /var/log/vmkernel.log – 實時查看vmkernel日志發生的變化
less –顯示大文件內容時less命令非常有用。通過在cat命令的輸出內容之后輸入“|”less,可以分頁顯示輸出結果,而且可以向前或向后滾動瀏覽。
cat /var/log/vpxa.log | less –在屏幕上分頁顯示vpxa.log文件的內容。
df/vdf –這兩個命令顯示文件系統的可用空間。df命令顯示本地文件系統以及數據存儲的容量、已用空間以及可用空間。為查看ESXi主機不同隨機磁盤的使用情況,必須使用vdf命令。這兩個命令都可以用於發現由於可用空間不足而可能導致的任何問題。
ps/kill –這兩個命令分別用於查找ESXi主機內部運行的服務、強制終止這些服務。ps命令包括很多命令行開關,但最常用的是檢索正在運行的進程的ID,然后就可以使用Kill命令終止相應的服務。
vi – 如果之前不熟悉vi命令,那么在學習時大多會遇到麻煩。Vi是一個文本編輯器,用於修改文件內容—vSphere管理員通過命令行shell進行故障診斷時必須要具備該技能。
ESXi專用命令
接下來讓我們了解一些在ESXi命令行shell下最常用的命令。這些ESXi命令不僅能夠幫助你進行故障診斷,還可以用於日常維護以及性能監控。
services.sh – Linux服務通常使用services命令管理,管理ESXi服務是通過使用services.sh命令實現的。Services.sh命令支持的參數包括stop、start、restart,通過這三個參數可以停止、啟動或重啟所有的ESXi服務。
services.sh restart – 重啟所有的ESXi服務
/etc/init.d – 執行位於/etc/init.d目錄下的腳本可以啟動或停止對應的服務。如果只想重啟vCenter Server Agent(vpax服務),可以運行/etc/init.d/vpxa restart 命令。而services.sh restart將重啟所有服務。
/etc/init.d/vpxa restart – 重啟主機上的 vCenter Agent
cat /etc/chkconfig.db – 查看所有ESXi服務的運行狀態。
vmkping –我們都熟悉ping命令的用法及功能。Vmkping命令更進一步,允許使用Vmkernel的IP堆棧通過特定的接口發送ICMP數據包。這意味着你可以通過vMotion網絡而非管理網絡發送ping包。
vmkping –I vmk1 10.10.10.1 – 通過vmkl接口向10.10.10.1發送ICMP請求
nc –組合使用vmkping、nc命令(netcat),可以確認ESXi主機與特定IP之間的網絡連通性。盡管vmkping命令通過ICMP確認連通性,但有時我們想確認是否可以訪問特定的TCP端口(例如iSCSI的TCP端口是3260)。
nc –z 10.10.10.10 3260 – 測試是否能夠訪問10.10.10.10的3260端口。
Vmkfstools-如果需要通過命令行管理VMFS數據卷以及虛擬磁盤,那么vmkfstools命令就派上用場了。使用vmkfstools命令可以創建、克隆、擴展、重命名並刪除VMDK文件。除了虛擬磁盤選項,你還可以使用vmkfstools命令創建、擴展、增大、回收文件系統的數據塊。
vmkfstools –i test.vmdk testclone.vmdk – 將test.vmdk克隆為testclone.vmdk
esxtop –對ESXi主機進行性能監控以及故障診斷時,很少有工具能夠提供和esxtop同樣多的信息。除提供和Linux top命令類似的功能外,esxtop還可以收集很多VMware專有的指標,包括中斷、內存、網絡、磁盤適配器、磁盤設備以及電源管理。
vscsiStats – 需要進一步監控存儲I/O的性能時,vscsiStats命令就能夠派上用場了。vscsiStats命令能夠幫助你收集與虛擬機磁盤I/O負載相關的性能數據。進行容量規划或者遷移后端存儲時,使用vscsiStats命令收集到的數據可謂價值連城。
vim-cmd –vim-cmd是構建在hostd進程之上的命令空間,允許最終用戶調用幾乎所有的vSphere API。Vim-cmd提供了一些ESXi子命令管理不同的虛擬基礎設施,而且和vimsh相比,更容易使用。
dcui –登錄到ESXi主機時,VMware直接用戶控制台接口(DCUI)提供了基於菜單的主機管理功能。DCUI提供了很多不同的功能,比如root密碼維護、網絡維護。有時你可能只能通過SSH訪問主機,但幸運的是,在命令行下執行dcui命令就可以進入基於菜單的DCUI系統。
vm-support –曾經想過收集ESXi主機所有的支持及日志信息嗎?Vm-support命令恰好能夠滿足你的要求。如果之前與VMware的技術支持熱線聯系過,那么很可能用過這個命令。
esxcli命令探究
esxcli命令用途廣泛,我們不能簡單地將其歸為單個命令。esxcli包括許多不同的命名空間,允許你控制ESXi提供的幾乎所有設備。下面列出了使用最頻繁(肯定不是所有)的命名空間:
esxcli hardware – 想獲取ESXi主機的硬件及配置信息時,esxcli硬件命名空間就能夠派上用場了。
esxcli hardware cpu list – 獲取CPU信息(系列、型號以及緩存)
esxcli hardware memory get – 獲取內存信息(可用內存以及非一致內存訪問)
esxcli iscsi – iscsi命名空間可以被用於監控並管理硬件iSCSI及軟件iSCSI設置。
esxcli iscsi software –用於啟用/禁用軟件iSCSI initiator。
esxcli iscsi adapter –用於設置軟硬件iSCSI適配器的發現、CHAP以及其他設置
esxcli iscsi sessions – 用於列出主機上已建立的iSCSI會話。
esxcli network –需要監控vSphere網絡並對如下網絡組件進行調整時,包括虛擬交換機、VMkernel網絡接口、防火牆以及物理網卡等,esxcli網絡命名空間就派上用場了。
esxcli network nic –列出並修改網卡信息,比如名字、喚醒網卡以及速度。
esxcli network vm list – 列出有一個活動網絡端口的虛擬機的網絡信息。
esxcli network vswitch –檢索並管理VMware的標准交換機以及分布式虛擬交換機。
esxcli network ip – 管理VMkernel端口,包括管理、vMotion以及FT網絡。還可以修改主機的所有IP棧,包括DNS、IPsec以及路由信息。
esxcli software – 軟件命名空間可以用於檢索ESXi主機已安裝的軟件及驅動並可以安裝新組件。
esxcli software vib list – 列出ESXi主機上已經安裝的軟件及驅動。
esxcli storage – 可能是最常用的esxcli命令命名空間之一,包括了管理連接到vSphere的存儲的所有信息。
esxcli storage core device list – 列出當前存儲設備
esxcli storage core device vaai status get –獲得存儲設備支持的VAAI的當前狀態。
esxcli system – 通過該命令使你能夠控制ESXi的高級選項,比如設置syslog並管理主機狀態。
esxcli system maintenanceMode set –enabled yes/no – 將主機設置為維護模式
查看並更改ESXi高級設置(提示:使用esxcli system settings
advanced list –d 命令查看非默認設置)
esxcli system syslog –查看 Syslog 及配置信息
esxcli vm – ESXi的虛擬機命名空間用於列出運行在主機上的虛擬機的各種信息,如果需要可以強制關閉這些虛擬機。
esxcli vm process list –列出已啟動的虛擬機的進程信息。
esxcli vm process kill – 停止正在運行的虛擬機的進程,關閉虛擬機或者強制關閉虛擬機電源。
esxcli vsan – ESXi的VSAN命名空間包括配置並維護VSAN的很多命令,包括數據存儲、網絡、默認域名以及策略配置。
esxcli vsan storage – 配置VSAN使用的本地存儲,包括增加、刪除物理存儲並修改自動聲明。
esxcli vsan cluster – 本地主機脫離/加入VSAN集群。
esxcli esxcli – esxcli命令包括一個稱為esxcli的命名空間,通過使用esxcli命名空間,你可以獲得更多信息。
esxcli esxcli command list – 列出所有的esxcli命令及其提供的功能
將出問題的前端的業務注冊到另一個前端 雙機架構
find /vmfs/volumes/ | egrep "win2003|win2008|centos"|grep .vmx$|while read i ; do vmware-cmd "$i" register; done