1. 程式人生 > >vmWare 虛機檔案不能啟動的事故處理

vmWare 虛機檔案不能啟動的事故處理

由於公司停電,導致幾十臺vmWare虛擬機器器啟動報錯。

錯誤:Failed to power on virtual machine XXX. Failed to lock the file Click here for more details. 

有些場景也會出現下面的錯誤:Failed to power on virtual machine XXX. File system specific implementation of LookupAndOpen[file] failed Click here for more details.

 

原因分析:

這次出錯的虛擬機器器都是在 vmware ESXi 6.5 版本上的, 同樣的的5.5版本上的虛擬機器沒有出現問題。

這次出錯的虛擬機器都是設定的自動啟動的,就是如果來電會自動啟動。

這次斷電來電也是不穩定,其中來了幾次點但是不久就又斷電了。估計出錯和啟動過程中又斷電有關。

 

問題解決:

這次問題的解決不完美,只是減少了損失,期間尋找了很多方案。網上找到的資料和方案如下:

https://kb.vmware.com/s/article/1007969?lang=zh_CN

https://communities.vmware.com/thread/589155

https://www.nico-maas.de/?p=1923

上述方案對我們的問題都沒有效果,最終自己摸索出了一套方案。

1.將虛擬機器從系統中 Unregister, 關閉虛擬機器,在虛擬機器上右鍵 Unregister

2.通過 SSH 登入 宿主機,修改測試機器的目錄名為一個新名稱。

mv OLDFODER  NEWFODER

 如果知道測試機器的目錄,可以在 Unregister 之前檢視磁碟的 DiskFile 位置確定,如下:

 Edit settings -->Hard Disk

3. 在 SSH 中通過  grep -i  filename *.vmx 檢視系統當前使用的是那個磁碟。

      

 

4. 刪除  NEWFODER 下的   vmx 字尾檔案。 

    vmx檔案為虛擬機器的配置檔案,儲存著根據虛擬機器嚮導或虛擬機器編輯器對虛擬機器進行的所有配置。

    

5.重新建立虛擬機器,重新建立的時候,名稱不要和以前的一樣,新起一個名稱,但是虛擬機器器的Compatibility,Guest OS family,Guest OS version 要和之前的虛擬機器一樣。

 要刪除自動產生的磁碟,選擇 Existing hard disk.  選擇 NEWFODER 下的磁碟。

   如果之前的虛機有做過SnapShot ,則NEWFODER 下會有多個磁碟可以選擇。這時就是賭運氣的時候,可以嘗試選擇步驟3中的找到的磁碟,如果運氣好的話,可以正常啟動,這樣就解決了虛機不能啟動的問題。

    如果運氣不好,不能啟動,這時就可以選擇其它的盤,來丟掉最後的一個snapshort 盤。

   我在實踐的過程中發現,如果只有一個vmdk檔案,就是沒有做過snapshot,都可以正常回復,如果多個vmdk檔案,就是做過snapshot ,則沒有找到那些場景下可以成功,那些場景不成功。 

 

 

在出現這個問題的時候,網上找到的資料也比較少,希望這篇文章可以對碰到問題的人提供些幫助。