VM 常用命令

Michael_DD發表於2014-11-20
VM 常用命令


1. 看你的esx版本。
vmware –v
2. 檢視顯示ESX硬體,核心,儲存,網路等資訊
esxcfg-info -a (顯示所有相關的資訊)
esxcfg-info -w (顯示esx上硬體資訊)
3. 列出esx裡知道的服務
esxcfg-firewall –s
4. 檢視具體服務的情況
esxcfg-firewall -q sshclinet
5. 重新啟動vmware服務
service mgmt-vmware restart
6. 修改root的密碼
passwd root
7. 設定kernel高階選項
esxcfg-advcfg -d (將系統核心恢復預設值)
8. 管理資源組
esxcfg-resgrp -l (顯示所有資源組)
9. 列出你當前的虛擬交換機
esxcfg-vswitch -l
esxcfg-vswitch -v 10 -p “Service Console” vSwitch0 (將vSwitch0上的Service Console劃分到vLan 10上,如果vLan號為0則不設定vLan)
10. 檢視控制檯的設定
esxcfg-vswif -l (列出已新增的網路卡)
esxcfg-vswif -a (新增網路卡)
11. 列出系統的網路卡
esxcfg-nics –l
12. 新增一個虛擬交換機,名字叫(internal)連線到兩塊物理網路卡,(重新啟動服務,vi就能看見了)
esxcfg-vswitch -a vSwitch1
esxcfg-vswitch -A internal vSwitch1
esxcfg-vswitch -L vmnic1 vSwitch1
esxcfg-vswitch -L vmnic2 vSwitch1
13. 刪除交換機,(注意,別把控制檯的交換機也刪了)
esxcfg-vswitch -D vSwitch1
14. 刪除交換機上的網路卡
esxcfg-vswitch -u vmnic1 vswitch2
15. 刪除portgroup
esxcfg-vswitch -D internel vswitch1
16. 建立 vmkernel switch ,如果你希望使用vmotion,iscsi的這些功能,你必須建立( 通常是不需要新增閘道器的)
esxcfg-vswitch -l
esxcfg-vswitch -a vswitch2
esxcfg-vswitch -A “vm kernel” vswitch2
esxcfg-vswitch -L vmnic3 vswitch2
esxcfg-vmknic -a “vm kernel” -i 172.16.1.141 -n 255.255.252.0 (新增一個vmkernel)
17. 防火牆設定
esxcfg-firewall -e sshclient (開啟防火牆ssh埠)
esxcfg-firewall -d sshclient (關閉防火牆ssh埠)
esxcfg-firewall -e veritasNetBackup (允許Veritas Netbackup服務)
esxcfg-firewall -o 123,udp,out,ntp (為ntp服務開啟UDP協議中的123埠的輸出)
18. 路由管理
esxcfg-route (VM生成網路卡的路由管理)
esxcfg-route(顯示路由表)
esxcfg-route 172.16.0.254 (設定vmkernel閘道器)
19. 建立控制檯
esxcfg-vswitch -a vSwitch0
esxcfg-vswitch -A “service console” vSwitch0
esxcfg-vswitch -L vmnic0 vSwitch0
esxcfg-vswif -a vswif0 -p “service console” -i 172.16.1.140 -n 255.255.252.0
20. 新增nas裝置(a 新增標籤,-o,是nas伺服器的名字或ip,-s 是nas輸入的共享名字)
esxcfg-nas -a isos -o nas.vmwar.cn -s isos
21. nas連線管理
esxcfg-nas -r (強迫esx去連線nas伺服器)
esxcfg-nas -l (用esxcfg-nas -l 來看看結果)
esxcfg-nas -a(新增NAS檔案系統到/vmfs目錄下)
esxcfg-nas -d (刪除NAS檔案系統)
22. 掃描SCSI裝置上的LUN資訊
esxcfg-rescan
23. 連線iscsi 裝置(e:enable q:查詢 d, disable s:強迫搜尋)
esxcfg-swiscsi -e
24. 設定targetip
vmkiscsi-tool -D -a 172.16.1.133 vmhba40
25. 列出和target的連線
vmkiscsi-tool -l -T vmhba40
26. 列出當前的磁碟
ls -l /vmfs/devices/disks
27. 核心dump管理工具
esxcfg-dumppart -l (顯示當前dump分割槽配置資訊)
28. 路徑管理
esxcfg-mpath -l (顯示所有路徑)
esxcfg-mpath -a (顯示所有HBA卡)
29. ESX授權管理配置
esxcfg-auth
esxcfg-auth –enablenis (執行NIS驗證)
30. 管理啟動裝置
esxcfg-boot
esxcfg-boot -b (更新啟動裝置)
31. 執行initrd的初始化設定
esxcfg-init
esxcfg-init (初始化裝置)
32. esxcfg-linuxnet (在linux debug模式中,轉換vswif裝置命名為linux自帶的eth命名規則)
esxcfg-linuxnet –setup
33. 升級
esxcfg-upgrade (ESX2.X升級到ESX3.X)

*** 使用命令更改Service Console的IP地址

本來想建立兩個SC,一個用於內網,另個這用於外網,使之內外都可以控制ESX,但是隻能新增一個預設閘道器,而VMware工程師說不能實現,eddyc提示可以新增第二閘道器,有時間試下.

為了可以內外網都可以控制暫時手動更改SC的IP,以下是我看了其它同仁的帖子並按自己需要簡化測試而來的

在CLI下更改service console的ip地址,注意大小寫,vmware是把物理nic虛擬成vmnic,在vmnic上建立虛擬交換機vswitch,是把網路卡當成交換機來使用,不能對網路卡進行ip地址的設定,只能在vswitch上建立interface就是vswif,對vswif進行ip設定1. 使用CLI建立Service Console

[root@VI3 root]# esxcfg-vswitch -a vSwitch0 #建立vSwitch0
[root@VI3 root]# esxcfg-vswitch -A “Service Console” vSwitch0 #在vSwitch0上建立Portgroup,命名為Service Console
[root@VI3 root]# esxcfg-vswitch -L vmnic0 vSwitch0 #將vmnic0繫結在vSwitch0
[root@VI3 root]# esxcfg-vswitch –l #可以看到service console已經繫結 vmnic0

Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 64 5 64 1500 vmnic0

PortGroup Name VLAN ID Used Ports Uplinks
Service Console 0 1 vmnic0

[root@VI3 root]# esxcfg-vswif -a vswif0 -p “Service Console” -i 192.168.1.1 -n 255.255.255.0 #建立vswif0並與service console繫結,在ESX裡ip地址只能跟vswif0繫結,也就是虛擬交換機的interface
[root@VI3 root]# esxcfg-vswif –l #可以看到Service console的IP已經配置到vswif0

Name Port Group IP Address Netmask Broadcast Enabled DHCP
vswif0 Service Console 192.168.1.50 255.255.255.0 192.168.1.255 true false

[root@VI3 root]# esxcfg-vswitch –l
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 64 5 64 1500 vmnic0

PortGroup Name VLAN ID Used Ports Uplinks
Service Console 0 1 vmnic0

[root@VI3 root]# service mgmt-vmware restart #重啟服務,到這裡正常情況下就可以使用VI連線到ESX
————–↓如果不小心配置錯了要刪除,請看下面↓—————

[root@VI3 root]# esxcfg-vswif –l #vswif0代表的虛擬網路卡的interface0,service console對應vswif0

Name Port Group IP Address Netmask Broadcast Enabled DHCP
vswif0 Service Console 192.168.1.1 255.255.255.0 192.168.1.255 true false

[root@VI3 root]# esxcfg-vswif -d vswif0 #刪除vswif0
[root@VI3 root]# esxcfg-vswitch -l
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 64 5 64 1500 vmnic0

PortGroup Name VLAN ID Used Ports Uplinks
Service Console 0 1 vmnic0
[root@VI3 root]# esxcfg-vswitch –D “Service Console” vSwitch0 #刪除vSwitch0上面portgroup
[root@VI3 root]# esxcfg-vswitch –D “VM Network” vSwitch0
[root@VI3 root]# esxcfg-vswitch -d vswitch0 #刪除vswitch0
[root@VI3 root]# esxcfg-vswitch –l #之前操作刪除了vswitch資訊,現在是空白

Switch Name Num Ports Used Ports Configured Ports MTU Uplinks

PortGroup Name VLAN ID Used Ports Uplinks

2. 如果不行檢查一下以下配置檔案.

[root@VI3 root]# vi /etc/sysconfig/network #這裡紀錄主機名字和閘道器
NETWORKING=yes
HOSTNAME=VI3
GATEWAY=192.168.251.12 #閘道器
GATEWAYDEV=vswif0 #閘道器指定在vswif0
[root@VI3 root]# vi /etc/sysconfig/network-scripts/ifcfg-vswif0 #看看這裡的資訊是否跟之前配置吻合
DEVICE=vswif0 #之前把service cosole與vswif0關聯
MACADDR=00:50:56:43:a3:52
PORTGROUP=portgroup6 #這裡的protgroup與service console一致
BOOTPROTO=static
BROADCAST=192.168.251.255
IPADDR=192.168.251.60 #與service console 一致
NETMASK=255.255.255.0
ONBOOT=yes
如果以上不一致,可以手動更改
在vi編輯器中,i鍵是插入模式,進行文字更改,esc鍵退出插入模式,:wq儲存並退出.
編輯完成reboot.可能啟動後顯示地址跟設定不同,但是可以使用VI連線到ESX

補如果只想修改Service Console的IP可以直接執行以下命令:

esxcfg-vswif -i xxx.xxx.xxx.xxx vswif

VMware ESX和ESXi命令    這些VMware ESX和ESXi的命令可以執行在ESX服務控制檯(本地或遠端使用Secure Shell)或RCLI(在VMware Infrastructure 3)和vSphere CLI的(在vSphere)。在RCLI和vSphere CLI中,注意到很多命令已更名為vicfg,而不是esxcfg -(即esxcfg - nics.pl和vicfg - nics.pl)。兩個命令都執行相同的功能,但VMware試圖從esxcfg遷移到vicfg。
 ? vmkfstools被比做虛擬磁碟中的瑞士軍刀,可用於複製、轉換、重新命名、輸入、輸出和調整虛擬磁碟檔案的大小。
 ? Esxtop故障排除。它提供實時的CPU、記憶體、硬碟和網路使用的歷史表現的統計數字。
 ? Esxcfg-nics觀察和配置物理網路介面卡(NIC)。它顯示網路卡狀態和配置的速度和全雙工網路卡。
 ? Esxcfg-vswitch顯示和配置虛擬交換機。它是在vSphere不能使用網路中有用的配置客戶端。該命令用於配置埠組和連線物理網路卡(稱為上行)配置虛擬區域網ID,思科協議(CDP)和vswitch中的MTU。  
? Esxcfg-vswif和esxcfg-vmknic允許您檢視和配置vSwitches特殊的埠組。 Esxcfg - vswif配置的ESX服務控制檯網路介面,它也被稱為vswif港口。 Esxcfg - vmknic配置VMkernel網路介面,這是VMotion和連線到iSCSI和網路檔案系統的網路儲存裝置所必要的。
 ? Vmware-cmd是一個複合管理命令,負責管理和檢索虛擬機器資訊。它可以改變虛擬機器電源狀態、管理快照、註冊和登出的使用者,並檢索和設定各種虛擬機器的資訊。  
? Vimsh和vmware-vim-cmd是複雜的命令,只有完全瞭解才能使用。 Vimsh是一個強大的互動式框架,有很多允許執行的命令,以及具備顯示和配置能力。 VMware的vim - cmd是一種邏輯的vimsh,能夠簡化vimsh,無需知道很多前端交換命令。
 ? Vihostupdate和esxupdate更新ESX和ESXi主機和打補丁。 Esxupdate用於ESX服務控制檯和vihostupdate,透過RCLI / vSphere CLI使用。此外,vihostupdate35是用來修補ESX和ESXi 3.5版主機。  
? Svmotion是RCLI/vSphere CLI命令,用於發起Storage VMotion的遷移虛擬機器虛擬磁碟到另一個資料儲存空間。此命令的ESX 3.5版本是唯一啟動SVMotion的方法,加上vSphere客戶端的GUI,vSphere能做到這一點。
  ? Esxcfg-mpath顯示和設定一臺主機從所有路徑到達它的儲存裝置。  
? Esxcfg-rescan讓主機產生一個特定的儲存介面卡,用來發現新的儲存裝置。這是非常有用的工具,儲存裝置已被新增,刪除或從儲存網路改變。  
? Esxcfg-scsidevs和esxcfg-vmhbadevs顯示連線到主機的儲存裝置的資料。 Esxcfg - vmhbadevs用於ESX 3.5,在vSphere中被 esxcfg-scsidevs取代。  
? Esxcfg-firewall顯示資訊和配置內建的防火牆保護ESX服務控制檯。它允許和阻止特定的TCP /IP服務之間的控制檯和其他網路裝置埠。
 ? Esxcfg-info命令提供了有關執行中的主機資訊。它可以重新定向到一個文字檔案記錄主機配置。  
? Esxcfg-auth在ESX主機上配置服務控制檯驗證。它可以配置第三方LDAP或Active Directory伺服器的身份驗證並設定多個本地安全選項。
 ? Vm-support是一個強大的資訊收集工具,常用於故障排除。該命令收集大量資訊、日誌檔案,並把很多命令以單一的tgz存檔檔案方式輸出。它也可以用來顯示VM的資訊以及停止沒有響應的虛擬機器。 上述命令有很多不同的語法、選擇和變化。有了它們,你的工作將事半功倍。欲瞭解更多有關這25個ESX和ESXi的命令的資訊,請檢視以下檔案:
? VSphere命令列介面安裝和參考指南  
? ESX配置指南(附錄)
 ? Linux命令目錄


解決VMware vSphere Client無法連線ESXi虛擬主機方法
http://hi.baidu.com/iwriting/blog/item/743e4f0aa15c5ddb3bc7631c.html
1 一般情況下重啟services.sh就可以解決(或圖形介面下restart management agent)
services.sh restart
2 若重啟services.sh報錯且仍然無法連線
watchdog-hostd:PID file /var/run/vmware/watchdog-hostd.PID not found
watchdog-hostd:Unable to terminate watchdog:Can't find process
/etc/init.d/hostd:kill:48:(84046924)-No such process
這個報錯是由於啟動/關閉hostd伺服器引起的。說明hostd程式沒kill到。(原因執行一下/etc/init.d/hostd start or stop就知道)
ps | grep hostd 你會看到
123456233  789789789  hostd
456123358  789789789  hostd
123            789789789  hostd
123458985  789789789  hostd
........
說明有hostd程式
那執行/etc/init.d/hostd  stop
再執行
ps | grep hostd
123456233  789789789  hostd
456123358  789789789  hostd
123            789789789  hostd
123458985  789789789  hostd
........
說明hostd根本沒有kill到
於是手動kill,選擇任意一個子程式ID kill就可以
如:kill -9 123458985
然後再執行ps | grep hostd ,發現已經沒有輸入,說明hostd已經kill掉。
於是再執行/etc/init.d/hostd start 就可以。
 
 

求解——ESXi上的虛擬機器鎖死,無法操作,求解決方法~!

關閉虛擬機器時提示“正在處理另一個任務”,無法關閉,
在不重啟ESXi Server的情況下,有什麼方法可以關掉這臺嗎?

在ESXi上重啟服務,/etc/init.d/hostd restart
執行命令列,ps -aux |grep 虛擬機器名字,找到那個虛擬機器,然後用kill -9 PID 幹掉那個程式試試。
(虛擬機器不會重啟,只是VMware服務重啟,
一般碰到提示“正在處理另一個任務”,可以重啟下服務把所有相關任務給停掉,
再進行虛擬機器的操作就OK了。esxcli的命令也未必能有效,kill VM程式也是直接的方法。)
 
 
ESXi的Console是隱藏的,按照下面的方法可以訪問console和開啟SSH登陸,就可以看到log了。
By default this isn’t possible. But there’s a way to get this working, just do the following:
1.Go to the ESXi console and press alt+F1
2.Type: unsupported
3.Enter the root password(No prompt, typing is blindly)
4.At the prompt type “vi /etc/inetd.conf”
5.Look for the line that starts with “#ssh” (you can search with pressing “/”)
6.Remove the “#” (press the “x” if the cursor is on the character)
7.Save “/etc/inetd.conf” by typing “:wq!”
8.Restart the management service “/sbin/services.sh restart”
Done!
介紹的是4.0下的開console的方法,4.1簡化了許多,在主機管理介面下就可以操作啟用或禁用TSM和SSH了。
另問下,日誌檔案都在主機的什麼位置?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1340161/,如需轉載,請註明出處,否則將追究法律責任。

相關文章