Vmware vSphere常見問題及解決辦法

鄒鄒s發表於2015-02-16


1. 虛擬機器檔案被鎖,無法正常 power on

  故障狀態:

  啟動虛擬機器時95%,停頓並且程式中斷,提示:ubable to access files since it is locked。

  禍根:HA

  解決方法:

  (1)首先將cluster中的HA功能關閉。如果該功能不關閉,容易造成死鎖,,VM不斷跳動,,不斷再不同的ESX內迴圈被鎖,徒勞而無功。

  (2)磁碟檔案被鎖,要解決,必須要知道到底是哪臺ESX把他給鎖住了,這是關鍵。

  方法:看/var/log/vmkernel但是,在做這些前, 再準備些別的工作。

  (3)在VC中,把被鎖的VM從Inventory中remove掉。原因很簡單,這是一個 unregister的過程。

  (4)根據/var/log/vmkernel,搜尋owner,可以找到類似以下的語句:

  Oct 19 04:23:33 esx-hostname vmkernel: 3:06:29:47.992 cpu6:1656)FS3: 1975: Checking if lock holders are live for lock [type 10c00001 offset 52008960 v 380, hb offset 3554304 Oct 19 04:23:33 esx-hostname vmkernel: gen 17, mode 1, owner 48f5f637-462688bc-fd28-0e1a6434b6f8 mtime 38112]

  OK,owner後面的48f5f637-462688bc-fd28-0e1a6434b6f8就是你的target了。 因為他就是鎖住VM 的宿主.。
 
  (5)根據以下命令,,找出到底哪臺ESX的UUID是 48f5f637-462688bc-fd28-0e1a6434b6f8

  [root@esxhostname root]# esxcfg-info |grep -i 'system uuid'

  (6)找到目標主機後,當然是殺死他鎖住VM的程式。之所以會被鎖,原因就是HA 把VM從別的HOST遷移過來,但是又沒有unregister和register的過程,所以在第3步的時候,你檢視VM的Summary的時候,host ip還是屬於出問題的 host。 但是VM又被新的host霸王硬上功的power on,註冊都沒註冊, 又怎麼啟動呢。找到 PID 用下面的命令:

  ps -efwww|grep virtualmachine.vmx

  找到 PID 後, kill -9 PID

  (7)這時候,還要確定一件事情, .vswp檔案的事情。這個是給臺客處理問題時吸取的經驗。就因為忽略了這個,所以在殺掉迚程後,重新註冊VM,還說沒有 SWAP檔案,啟動還是失敗。

  在 VM 啟動時會自動生成SWAP,沒有SWAP檔案,其實就是因為 SWAP 存在了, 因為重名而導致無法正常生成。

  進入到/vmfs/volumes/lunid/vm_path/下,vmkfs -d virtual_machine.vswp 或者進入Datastore Browser,在裡面把SWAP檔案刪除也可。
 
  (8)完全之策,你還可以進入到VM的SETTINGS--OPTIONS--SWAPFILE LOCATION, 對該儲存的位置做下設定。
 
  (9)重新註冊VM。進入Datastore Browser,找到VM.vmx,add to inventory。

  (10)啟動 VM. Good Luck。

  2. 忽視掉ESXi/vCenter Server提示SSH事件的方法

  (1) vSphere Client連線到VC或者ESXi伺服器;
 
  (2) 在Home -> Inventory -> Hosts and Clusters裡展開選中你的ESX伺服器;

  (3) 右邊選擇Configuration,然後點選Software欄目裡的Advanced Settings;
 
  (4) 在Advanced Settings裡選擇左邊列表中的UserVars;
 
  (5) 選中左邊列表中的UserVars後,在右邊拖到最下面,將UserVars.SuppressShellWarning的值改為1即可,不需要重啟。
 
  3. 嘗試遷移一臺帶USB裝置的VM失敗

  故障狀態:

  在執行虛擬機器遷移向導時,如果系統檢測到不相容的USB裝置存在,則系統會提示如下錯誤資訊:

  Currently connecteddevice 'USB 1' uses backing 'path:1/7/1',which is not accessible.

  故障分析:

  這種問題通常發生在為主機開啟了VMDirectPath I/O支援下的USB Passthrough Devices功能,然後為特定的VMs分配了USB裝置,比如:加密狗;

  解決方案:

  (1)確認USB裝置能夠被虛擬機器識別和支援,並確保在新增USB裝置到VMs時,勾選了with vMotion選項;

  (2)在執行vMotion動作之前,重新嘗試將USB裝置新增到VMs;

  (3)確認ESXi主機沒被重啟過,因為,ESXi主機重啟之後,原本支援的vMotion WithvMotion功能將會失效。

  4. Convert Linux系統的Troublshooting過程

  (1)確認源轉換Linux機器的OS在官方的支援列表中;

  (2)擁有root許可權;

  (3)確認DNS的設定有沒有問題,注意:應該同時在Linux和Windows都加上;

  (4) 確認源Linux能夠ping同ESX或vCenter的IP。如果在2%時失敗,最大的可能就是許可權問題或防火牆阻隔問題;

  (5) 確認Linux允許SSH登陸進去。這個,可以幫助我們在converting的時候登入到Linux系統;

  (6)確認是給helper virtual machine設定的靜待IP,而不是DHCP獲取的(如果網內沒有DHCP伺服器);

  (7)確認源和目標都在同一子網。如果通過路由連結的不同子網可能會出錯;

  (8) 注意,converter不支援做了軟陣列的Linux系統。可以用冷克隆光碟來做,它會把軟陣列的設定為/dev/md0。

  (9) VMware Converter Standalone的日誌目錄:C:\Documents and Settings\All Users\Application Data\VMware\VMware vCenter Converter Standalone,用於排錯時用。

  5. vCenter Service Status頁面故障:Unable to retrieve health status

  故障狀態:

  vCenter Server Status頁面提示如下錯誤資訊:

  Unable to retrieve health status for vCenter inventory service

  Unable to retrieve health status for VMware vSphere Profile-Driven storage service

  執行vCenter Server的搜尋動作時,提示如下錯誤提示:

  Unable to connect to webservices to perform query.

  Verify that the "VMware VirtualCenter Management WebServices" service running onhttps://<vcenter-host-name>:10443

  故障分析:

  這個問題一般都由於當vCenter Server服務發生了變更或全新安裝了一臺vCenter Server,但是資料庫依然是原來的資料庫導致;

  解決方案:

  替換掉vws.jar、jointool.jar和ds.jar檔案即可,步驟如下:

  下載本文附件中的vws.zip檔案然後解壓縮vws.jar、jointool.jar和ds.jar檔案;

  停止掉VirtualCenter Server服務以及VirtualCenter Management Webservices服務;拷貝vws.jar和jointool.jar到C:\ProgramFiles\VMware\Infrastructure\tomcat\webapps\WEB-INF\lib覆蓋掉原來的檔案;拷貝ds.jar檔案到C:\Program Files\VMware\Infrastructure\Inventory Service\lib覆蓋掉原來的檔案;重新啟動相關服務或vCenter Server伺服器即可。

  6. VMRC 控制檯的連線已斷開…正在嘗試重新連線

  故障狀態:

  用vSphere Client連線到ESXi 5.0的主機,啟動其中的虛擬機器後,無法連線控制檯,開啟控制檯之後,視窗上方提示一行“VMRC 控制檯的連線已斷開...正在嘗試重新連線。”

  故障分析:

  從情況看,類似於Windows系統的DEP策略處於開啟狀態導致的問題一樣。但這個情況是所有虛擬機器都提示這個錯誤,排錯DEP的問題,用本地vSphere Client登入一個VC平臺,問題仍舊一樣。為了排除問題,換了一臺筆記本登入VC,突然發現問題不見了。原來是本地的vSphere Client出了問題,再三思索,發現出現問題前我對本地WIN7用360安全衛士升級了補丁,是否是補丁破壞了vSphere Client某個檔案呢

  解決方案:

  重現安裝vSphere Client,問題解決。

  7. 埠 80 的 vCenter Server 和 IIS 之間的衝突

  故障狀態:

  vCenter Server 和 Microsoft Internet Information Service (IIS) 都將埠 80 用作直接 HTTP 連線的預設埠。該衝突會導致安裝 vSphere Authentication Proxy 後 vCenter Server 無法重新啟動。 在 vSphere Authentication Proxy 安裝完成後, vCenter Server 無法重新啟動。

  故障分析:

  如果安裝 vSphere Authentication Proxy 時未安裝 IIS ,則安裝程式會提示您安裝 IIS 。因為 IIS 使用埠 80 ,這是用於 vCenter Server 直接 HTTP 連線的預設埠, 所以 vCenter Server 在 vSphere Authentication Proxy。安裝完成後無法重新啟動。請參見第 32 頁,“ vCenter Server 所需的埠” 。

  解決方案:

  要為埠 80 解決 IIS 和 vCenter Server 之間的衝突,請執行以下操作之一。

  如果在安裝 vCenter Server 之前已安裝 IIS 將 vCenter Server 直接 HTTP 連線的埠由 80 更改為其他值。 如果在安裝 IIS 之前已安裝 vCenter Server 重新啟動 vCenter Server 之前, 將 IIS 預設網站的繫結埠由 80 更改為其他。

  8. 在 UEFI 模式下安裝 ESXi 後主機無法引導

  故障狀態:

  在 UEFI 模式下, 在主機上安裝 ESXi 後重新引導時, 重新引導可能失敗。 出現此問題的同時, 還顯示一條類似於以下內容的錯誤訊息: 發生異常網路錯誤。無可用的引導裝置 (Unexpected network error. No boot device available)。

  故障分析:

  主機系統無法識別作為引導磁碟在其上安裝 ESXi 的磁碟。

  解決方案:

  (1)螢幕上顯示錯誤訊息時,按 F11 顯示引導選項。

  (2)選擇一個類似於新增引導選項的選項。該選項的文字可能有所不同,具體取決於您的系統。

  (3)在安裝 ESXi 的磁碟上選擇檔案 \EFI\BOOT\BOOTx64.EFI 。

  (4)更改引導順序,以便主機從新增的選項引導。

  9. 將 Microsoft SQL 資料庫設定為不受支援的相容模式會導致 vCenter Server 安裝或升級失敗。當資料庫設定為不支援的版本的相容性模式時,使用 Microsoft SQL 資料庫的 vCenter Server 安裝會失敗。

  故障狀態:

  將顯示以下錯誤訊息: 輸入的資料庫使用者沒有使用選定資料庫安裝和配置 vCenter Server 所需的必要許可權。 請更正以下錯誤 : %s

  故障分析:

  資料庫版本必須是 vCenter Server 支援的版本。 對於 SQL , 即使資料庫是受支援的版本, 但如果將其設定為以不支援的版本的相容性模式執行, 仍會發生此錯誤。 例如, 如果將 SQL 2008 設定為以 SQL 2000 相容性模式執行,就會發生此錯誤。

  解決方案:
 
  請確保 vCenter Server 資料庫是受支援的版本, 並且沒有設定為以不支援的版本的相容性模式執行。

  10. 誤刪執行中的虛擬機器,通過xx-flat.vmdk恢復方法

  故障狀態:誤刪了執行中的虛擬機器,進入目錄檢視,只剩下xx-flat.vmdk檔案,從檔案的型別看,只是File格式,不是Virtual Disk格式,新建虛擬,選擇新增已存在磁碟,提示不存在

  解決方案:

  (1)新建一虛擬機器,不要建立硬碟

  (2)用ssh的方式登入host,查詢xx-flat.vmdk檔案所在位置及目錄,

  (3)在上面這個檔案相同目錄下建立新xxx.vmdk檔案,大小要和xx-flat.vmdk檔案一樣大,

  用ls -la檢視xx-flat.vmdk檔案大小,

  用vmkfstools -c 檔案大小 -a lsilogic xxx.vmdk 來建立新磁碟檔案

  (4)將這個磁碟檔案新增到新建的虛擬機器中;

  (5)用原檔案xx-flat.vmdk覆蓋新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令

  (6)完成後開啟虛擬機器就可以了。

相關文章