您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關vsphere6.0 VM虛機文件被鎖怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
vsphere6.0上一臺數據庫虛擬機假死,強行關機后無法POWER ON。在啟動時報虛擬機文件被鎖定,此時對虛機進行遷移、快照、克隆等,發現操作都不可用。查看虛機狀態,發現其在集群內的8臺物理主機上來回飄。
解決方法:
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,這樣自然不能啟動。
解決辦法:
打開集群內所有EXSI主機的SSH登陸功能
然后在每臺機子上執行
~ # vim-cmd vmsvc/getallvms
Vmid Name File Guest OS Version Annotation
10 C5cpyPdb1 [W56021_SY07_CP07PV1C16] C5cpyPdb1/C5cpyPdb1.vmx rhel6_64Guest vmx-08
17 C5ioAdm1 [W56021_SY01_CP07PV1C16] C5ioAdm1/C5ioAdm1.vmx windows8Server64Guest vmx-08
20 C5jkhyPdb1 [W56021_SY01_CP07PV1C16] C5jkhyPdb1/C5jkhyPdb1.vmx rhel6_64Guest vmx-08
找到被鎖的主機 C5jkhyPdb1
查詢這臺虛機的狀態
~ # vim-cmd vmsvc/power.getstate 20
Retrieved runtime info
Powered off
如果虛機狀態為ON,可以執行如下命令
~ # esxcli vm process list
C5jkhyPdb1
World ID: 109052730
Process ID: 0
VMX Cartel ID: 109052727
UUID: 42 0b d6 eb 00 13 b6 26-a2 c4 86 4e 2d ba 17 db
Display Name: C5jkhyPdb1
Config File: /vmfs/volumes/56823cb8-c8a37260-f48f-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1.vmx
~ # esxcli vm process kill --type=hard --world-id=109052730
在集群內每臺esxi主機上執行如下命令,找到虛機被鎖的文件
# vmkfstools -D /vmfs/volumes/56823cb8-c8a37260-f48f-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1.vmx
Lock [type 10c00001 offset 233738240 v 114, hb offset 3780608
gen 85, mode 0, owner 00000000-00000000-0000-000000000000 mtime 46362574
num 0 gblnum 0 gblgen 0 gblbrk 0]
Addr <4, 528, 18>, gen 52, links 1, type reg, flags 0, uid 0, gid 0, mode 100755
len 3706, nb 1 tbz 0, cow 0, newSinceEpoch 1, zla 2, bs 8192
~ # vmkvsitools lsof | grep C5jkhyPdb1
131169563 vmx FILE 4 /vmfs/volumes/56823cb8-c8a37260-f48f-6c0b84629718/C5jkhyPdb1/vmware.log
131169563 vmx FILE 49 /vmfs/volumes/56823cb8-c8a37260-f48f-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1.vmx.lck
131169563 vmx FILE 50 /vmfs/volumes/56823cb8-c8a37260-f48f-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1.vmx
131169563 vmx FILE 51 /vmfs/volumes/56823cb8-c8a37260-f48f-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1.vmx~
131169563 vmx FILE 94 /vmfs/volumes/56823cb8-c8a37260-f48f-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1-flat.vmdk
131169563 vmx FILE 96 /vmfs/volumes/56824c84-3e3e868c-5468-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1-flat.vmdk
131169563 vmx FILE 97 /vmfs/volumes/56824c84-3e3e868c-5468-6c0b84629718/C5jkhyPdb1/C5jkhyPdb1_1-flat.vmdk
131169563 vmx FILE 123 C5jkhyPdb1.nvram
# ps|grep C5jkhyPdb1
131136798 vmm0:C5jkhyPdb1
131169568 vmm1:C5jkhyPdb1
131169569 vmm2:C5jkhyPdb1
131136802 vmm3:C5jkhyPdb1
131169652 131169563 vmx-vthread-7:C5jkhyPdb1 /bin/vmx
131169653 131169563 vmx-vthread-8:C5jkhyPdb1 /bin/vmx
131169654 131169563 vmx-vthread-9:C5jkhyPdb1 /bin/vmx
131104119 131169563 vmx-mks:C5jkhyPdb1 /bin/vmx
131169656 131169563 vmx-svga:C5jkhyPdb1 /bin/vmx
131169658 131169563 vmx-vcpu-0:C5jkhyPdb1 /bin/vmx
131136891 131169563 vmx-vcpu-1:C5jkhyPdb1 /bin/vmx
131169660 131169563 vmx-vcpu-2:C5jkhyPdb1 /bin/vmx
131169661 131169563 vmx-vcpu-3:C5jkhyPdb1 /bin/vmx
然后殺死被鎖文件的進程
#kill -9 131169563
解除后被鎖后登錄vcenter,從清單移除原虛機名稱(備注:虛機即使關機了,這時還可看到虛機在集群中不同主機跳躍注冊,需要從清單中移除可能多次,名稱為UNKNOWN的樣子。
最后從存儲中添加該虛機的VMX,啟動時選擇移動至不要使用復制至)。在vmx添加虛機到清單后開機成功。
備注:
依據VMware KB 2088157
ESXi 5.5 Patch 4 Release ESXi550-201501001(2015-01-27)之前的版本,存在虛機無響應,狀態變灰為不可訪問和操作虛擬機,vc控制臺黑屏無法操作,網絡不可訪問,虛機進程鎖死無法重置等等問題。
vSphere HA 重置虛擬機失敗問題是由于ESXi軟件本身的 BUG導致的,需
要升級 ESXi 版本至ESXi5.5 Patch 4(build-2403361)或更高。但實際上在6.0的版本中依然存在此問題。
關于“vsphere6.0 VM虛機文件被鎖怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。