天天看點

虛拟機假死解決方法

虛拟機假死解決方法

虛拟機無緣無故假死,是件比較頭疼的事情。關機也關不了,重新開機也不行。有時需要關實體機才行。如果XenServer上有比較重要應用,腫麼辦?

造成虛拟機假死的原因很多,有的是本身虛拟機系統的原因、有的是XenServer底層XAPI接口有問題。

XAPI就是XenServer中的一組管理接口的統稱,是XenServer管理的核心,由一系列的toolstack組成。XenCenter通過XAPI來讀取XenServer的配置、管理、License的管理、資料庫的維護等等,同時也包括如存儲(SR)、虛機、虛拟網卡、HA等等所有的功能控制。簡而言之,XAPI就是個和底層通信的中間層、接口層。

系統的原因一般強制重新開機就可以解決;但是xapi有問題,強制重新開機方法有時是行不通的。

一般假死的解決方法:

把xapi重新開機即可解決;在XenServer中輸入: xe-toolstack-restart 或者 service xapi restrat

上述指令無效的話,可以使用下面的方法:

I've found the resolution through my other thread. Here's what you need to do.

1 - "xe vm-list" to get the uuid of the VM that is hung

2 - "list_domains" to list the domain uuid's so you can determine

the domain # of the VM above by matching the uuids from this output with

the uuid for your VM from the previous command.

3 - "/opt/xensource/debug/destroy_domain -domid XX" where XX is the domain number from the previous command

執行到最後一步,有可能時間比較長。需要等。。。。。

通過XenCenter無法關機

通過XenCenter無法關機,一直卡在那裡,控制台界面也看不到,SSH登陸xen server

[root@xenserver2 log]# xe vm-list

找到這台挂起的VM對應的UUID

[root@xenserver2 log]# xe vm-shutdown uuid=627c4220-dd2e-5bf7-4ad1-871187c83933 force=true

發現沒用,指令卡在那裡

[root@xenserver2 log]#xe vm-reset-powerstate uuid=627c4220-dd2e-5bf7-4ad1-871187c83933 --force

依然沒用,到網上找一圈,有人說是關機任務被挂起了,取消關機任務再執行關閉即可,于是

[root@xenserver2 log]#xe task-list

發現是有對應的關機任務,于是輸入對應的任務UUID取消之

[root@xenserver2 log]#xe task-cancel uuid=85f509b3-d240-7dcf-4175-523c839b8145

再執行檢視任務清單

發現任務依然存在,這下無奈了............!到citrix官方論壇上,發現和我一樣問題的老外還不少,找了一圈,終于找到一個靠譜的辦法,如下

[root@xenserver2 log]# list_domains

找出對應UUID的域ID

[root@xenserver2 log]# /opt/xensource/debug/destroy_domain -domid XX

這個指令我猜應該是删除這台VM的外聯存儲(NFS、ISCSI等)

[root@xenserver2 log]# xe vm-reboot uuid=XXXX --force

執行VM重新開機,搞定!如果控制台還是看不到界面,把XAPI服務重新開機一下

[root@xenserver2 log]# xe-toolstack-restart

然後重新連接配接xen server,VM恢複正常,問題解決!

初識toolstack——XEN的XenServer管理的核心

什麼是XAPI,或者說XAPI在XenServer中有什麼作用?

XAPI(或者XenAPI)是XenServer中的一組管理接口的統稱,是XenServer管理的核心,由一系列的toolstack組成。

XAPI主要提供XenCenter以及pool中各主機通信的接口。XenCenter通過XAPI來讀取XenServer的配置、管理、License的管理、資料庫的維護等等,同時也包括如存儲(SR)、虛機、虛拟網卡、HA等等所有的功能控制。而Pool中的所有XenServer的操作請求也是通過XAPI傳遞給dom0,同時在池中的所有主機中間通信,例如:Pool中資料庫(配置資料庫,由XenServer維護的一個小型資料庫)會通過XAPI在所有的主機之間同步,以便在Master伺服器當機以後,其他機器能夠正确而迅速的取代Master,并維持Pool的功能和服務。

簡而言之,XAPI就是個和底層通信的中間層、接口層。

虛拟機假死解決方法

繼續閱讀