vmx文件被鎖

來源:魅力女性吧 9.62K
vmx文件被鎖

解決方法:

1、首先將cluster中的HA功能關閉。如果該功能不關閉,容易造成死鎖,,VM不斷跳動,,不斷的在不同的ESXI內循環被鎖,徒勞而無功。

2、虛機磁盤文件被鎖,必須要知道到底是哪台ESXI把他給鎖住了,這是關鍵。

3、在VCenter中,把被鎖的VM從Inventory中remove掉。原因很簡單,這是一個 unregister的過程。找到目標主機後,當然是殺死他鎖住VM的進程。之所以會被鎖,原因就是HA 把VM從別的HOST遷移過來,但是又沒有unregister和register的過程,所以在你查看VM的Summary的時候,host ip還是屬於出問題的 host。 但是VM又被新的host強行power on,這樣自然不能啟動。

操作步驟:

1、SHELL命令行登陸虛機所在的物理主機ESXI(或登陸集羣內的所有物理主機,以確定在哪個主機上)

使用如下命令查看虛機文件是否被鎖定。

# vmkfstools -D /vmfs/volumes/UUID/VMDIR/(虛機名稱)

2、使用如下命令查找虛機進程

#ps | grep ruixin (KILL終止)

# esxcli vm process list

(# esxcli vm process kill --type=hard --world-id=xxxxx 終止)

如果上述命令可以找到虛機被鎖的進程ID,則終止該虛機進程,釋放鎖。

3、如上述命令沒找到,還可以使用如下命令來找

# vmkvsitools lsof | grep Virtual_Machine_Name

使用kill -9 PID結束進程。至此文件鎖定被解除。

補充:

在虛擬機所在主機用touch命令,也可鎖定解除

解除文件鎖定後,登錄vcenter,從清單移除原虛機名稱(備註:虛機關機了,這時還可能看到虛機在集羣中不同主機上跳躍註冊,需要從清單中移除可能多次,名稱為UNKNOWN的樣子,中間添加清單會出現“使用相同名稱的虛擬機或模板已被註冊”,繼續移除UNKNOWN樣子的名稱,直至最後不出現錯誤提示,再最後從存儲中成功添加虛機的VMX,啟動時注意選擇“移動至”不要使用“複製至”)。在存儲器裏用vmx添加虛機到清單後開機成功。

備註補充:

文件鎖定的目的

為了防止並行更改關鍵虛擬機文件和文件系統,ESXi/ESX 主機對這些文件建立了鎖定。在某些情況下,即使關閉虛擬機的電源,這些鎖定也不會解除。文件鎖定後,服務器將無法訪問這些文件,並且將無法打開虛擬機的電源。

這些虛擬機文件通常在運行時期間鎖定:

確定文件是否正在由正在運行的虛擬機使用

如果文件正在由正在運行的虛擬機訪問,則無法強奪或移除該鎖定。可能持有該鎖定的主機正在運行虛擬機且變得無響應,或者另一台正在運行的虛擬機在嘗試打開電源前錯誤地將磁盤添加到了其配置中。

要確定虛擬機進程是否正在運行,請執行以下操作:

確定是否已在主機上註冊虛擬機,為此請以 root 用户身份運行以下命令:

# vim-cmd vmsvc/getallvms

注意:輸出內容會列出每個已註冊虛擬機的 vmid。請記錄此信息,因為在 ESXi 服務器上此過程的其餘部分將需要此信息。

在主機上訪問虛擬機的當前狀態,運行以下命令:

# vim-cmd vmsvc/tate vmid

另外還要注意SWAP文件

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

進入到/vmfs/volumes/lunid/vm_path/下,vmkfs -d virtual_ 或者進入Datastore Browser,在裏面把SWAP文件刪除也可。重新註冊VM。進入Datastore Browser,找到,add to inventory。啟動VM正常。

熱門標籤