2012年1月11日 星期三

Xenserver 無法關閉的 guest

Xenserver 遇到頑強無法關閉的guest怎麼辦?

今天安裝了 Debian 6.03 xfce+lxde 在一台 Xenserver 5.6上。安裝完之後發生很多靈異現象,最後Squeeze (Debian 6的代號,玩具總動員裡面那隻綠色三眼外星人)變成了無法關閉、殺死的三眼外星殭屍...

從Xencenter GUI上面強迫關機,外星殭屍不鳥,繼續頑強抵抗。

SSH進入 Xenserver,用 xsconsole去shutdown,開了好幾槍這隻VM還是殭屍狀態,百毒不侵,不能關閉。

從console 下指令硬砍: xe vm-shutdown vm=Squeeze force=true
失敗。

xe-toolstack-restart  ... 從這行指令開始都已經是xenserver的危險動作了,小朋友不要學,叔叔有練過。但還是失敗。

xe task-lis 加上 xe task-cancel uuid=你他媽的外星殭屍id  ...  刪除了pending task之後 xe vm-shutdown,但Squeeze還是白爛的running....

xe vm-reset-powerstate vm=Squeeze --force ,嘿嘿,沒用,外星小綠綠笑得更開心了。不過這邊有個好玩的Error訊息:

The operation could not be performed because a domain still exists for the specified VM.
vm: 你他媽的外星殭屍id (Squeeze)
domid: 29

有眉目了。

拜了Google大神,以及對照上述錯誤訊息,用

/opt/xensource/debug/destroy_domain -domid {domid}


這最終兵器,總算關閉了這隻頑強的綠色小外星殭屍。

至於Squeeze變成殭屍之前的靈異現象,以後有機會再說吧。現在我只想把這VM從我的Xenserver中永遠移除,淨化這隻殭屍之後,以後再也不去碰 Squeeze。至少在Xenserver 環境。

至少....在我下次手癢之前。

update:
2013-02-05

Xenserver VM暴力關閉法

  1. 由xencenter控制界面中,找出要強制關閉的vm uuid
  2. 再開啟putty / ssh ,連線到 xenserver root@xenserver ,此為 Xenserver 的 dom0 XenServercontrol domain
  3. cd /opt/xensource/debug
  4. list_domains | grep <強制關閉的vm uuid> 這個指令會顯示vm所在 domid
  5. 再下指令暴力摧毀dom: /opt/xensource/debug/destroy_domain -domid {domid} 
  6. 離開xencenter再重新開啟xencenter,連上vm host,先前關閉不了的vm 應該就已經關閉,可以重開了。




沒有留言: