新四季網

一種虛擬機死鎖後的恢復方法、裝置及系統的製作方法

2023-10-07 11:10:49 2

專利名稱:一種虛擬機死鎖後的恢復方法、裝置及系統的製作方法
技術領域:
本發明涉及計算機技術領域,尤其涉及一種虛擬機死鎖後的恢復方法、裝置及系統。
背景技術:
在雲計算系統中,計算節點大量採用虛擬化方案,在虛擬化環境下,所有的虛擬機當中一般只有一個特殊的虛擬機(亦可稱為特權虛擬機)承擔管理功能並控制真實物理資源的訪問。當特權虛擬機發生死鎖,其中的網卡或磁碟設備驅動等無法正常工作,無法滿足客戶作業系統的IO請求,造成整個計算節點上所有虛擬機業務無法正常開展。為了解決這一問題,現有技術中通過重啟整個計算節點如伺服器來恢復特權虛擬機的正常運行,例如,在特權虛擬機中運行定時器程序(通常稱為軟體狗),該軟體狗通過IPMI (Intelligent Platform Management Interface,智能型平臺管理接口)對整個伺服器進行健康監控,並以固定頻率向該伺服器的BMC (Baseboard Management Controller,基板管理控制器)的看門狗定時器(通常稱為硬體狗)發送心跳,當特權虛擬機發生死鎖,軟體狗無法繼續運行, 不能向BMC的硬體狗發送心跳,在硬體狗接收不到心跳一定時間後,BMC對整個伺服器重新上電以使其重新啟動。但是,在現有技術中採用重啟整個伺服器的方法,造成了存儲數據不同步等現象, 而且重啟過程花費時間較長,導致業務長時間中斷。

發明內容
本發明的實施例提供一種虛擬機死鎖後的恢復方法、裝置及系統,用以在一定程度上,避免重啟整個伺服器所帶來的問題。本發明的實施例採用如下技術方案一方面,提供一種虛擬機死鎖後的恢復方法,包括在虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源;當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程;所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息。另一方面,提供一種虛擬機死鎖後的恢復方法,包括響應虛擬機監控器VMM發送的不可屏蔽中斷;收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;
在所述虛擬機的內核引導程序被加載完成之後,根據所述虛擬機的臨終遺言恢復業務進程。相應的,一方面,提供一種虛擬機監控器,包括中斷模擬器,用於在虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷;配置單元,用於配置所述虛擬機的虛擬處理器資源;調度加載單元,用於當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程。另一方面,提供一種虛擬機,包括中斷處理單元,用於響應虛擬機監控器VMM發送的不可屏蔽中斷;收集單元,用於收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;業務恢復單元,用於在所述虛擬機的內核引導程序被加載完成之後,根據所述虛擬機的臨終遺言恢復業務進程。本發明實施例還提供一種宿主機,包括虛擬機監控器和特權虛擬機,所述虛擬機監控器為上述的虛擬機監控器,所述特權虛擬機為上述的虛擬機。本發明實施例還提供一種計算節點,所述計算節點包括硬體層、運行在所述硬體層之上的虛擬機監控器VMM、以及運行在所述VMM之上的虛擬機;所述虛擬機包括特權虛擬機和至少一個業務虛擬機;其中所述VMM用於在特權虛擬機發生死鎖的情況下,向所述特權虛擬機發送不可屏蔽中斷並配置所述特權虛擬機的虛擬處理器資源;當所述特權虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述特權虛擬機對應的內核引導程序;所述特權虛擬機用於響應VMM發送的不可屏蔽中斷;收集所述特權虛擬機的臨終遺言,所述臨終遺言包括死鎖時所述特權虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;在所述特權虛擬機的內核引導程序被加載完成之後,根據所述特權虛擬機的臨終遺言恢復業務進程。本發明實施例還提供一種計算機系統,包括至少一個上述的計算節點。可見,本發明實施例提供一種虛擬機死鎖後的恢復方法、裝置及系統,通過在虛擬機發生死鎖的情況下,向虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源; 當虛擬機響應不可屏蔽中斷並收集完成臨終遺言之後,虛擬機監控器從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,使得虛擬機能夠根據收集的臨終遺言恢復業務進程;相對於現有技術中使整個計算節點,如伺服器下電重啟的方法,本發明能夠避免重啟整個伺服器,及時恢復虛擬機的運行,從而能一定程度上避免了業務災難時間過長、數據不同步等現象。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I為本發明實施例提供的一種計算節點;圖2為本發明實施例提供的虛擬機結構框圖;圖3 (a)為本發明實施例提供的一種虛擬機死鎖後的恢復方法流程圖;圖3 (b)為本發明實施例提供的一種虛擬機死鎖後的恢復方法流程圖;圖4(a)為本發明實施例提供的另一種虛擬機死鎖後的恢復方法流程圖;圖4(b)為本發明實施例提供的虛擬機的數據結構與虛擬處理器的數據結構相互引用的不意圖;圖5為本發明實施例提供的一種虛擬機監控器的框圖;圖6為本發明實施例提供的一種虛擬機監控器的框圖;圖7為本發明實施例提供的一種虛擬機的框圖;圖8為本發明實施例提供的一種虛擬機的框圖;圖9為本發明實施例提供的一種宿主機的框圖;圖10為本發明實施例提供的一種計算機系統框圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。為了方便理解本發明實施例,首先在此介紹本發明實施例描述中會引入的幾個要素。死鎖作業系統或軟體運行的一種狀態在多任務系統下,當一個或多個進程等待系統資源,而資源又被進程本身或其它進程佔用時,就形成了死鎖。虛擬機監控器(VirtualMachine Monitor,簡稱 VMM):例如是 Xen Hypervisor。宿主機(Host)作為管理層,用以完成硬體資源的管理、分配;為虛擬機呈現虛擬硬體平臺;實現虛擬機的調度和隔離。其中,Host可能是虛擬機監控器(VMM);此外,有時VMM和I個特權虛擬機配合,兩者結合組成Host。其中,虛擬硬體平臺對其上運行的各個虛擬機提供各種硬體資源,如提供虛擬處理器(如VCPU)、虛擬內存、虛擬磁碟、虛擬網卡等等。其中,該虛擬磁碟可對應Host的一個文件或者一個邏輯塊設備。虛擬機運行在Host為其準備的虛擬硬體平臺上,Host上運行一個或多個虛擬機。虛擬機(VirtualMachine,簡稱 VM)通過虛擬機軟體可以在一臺物理計算機上模擬出一臺或者多臺虛擬的計算機,而這些虛擬機就像真正的計算機那樣進行工作,虛擬機上可以安裝作業系統和應用程式,虛擬機還可訪問網絡資源。對於在虛擬機中運行的應用程式而言,虛擬機就像是在真正的計算機中進行工作。硬體層虛擬化環境運行的硬體平臺。其中,硬體層可包括多種硬體,例如某計算節點的硬體層可包括處理器(如CPU)和內存,還可以包括網卡、存儲器等等高速/低速輸入/輸出 (I/O, Input/Output)設備。GuestOS :客戶機作業系統。特權虛擬機一種特殊的GeustOS虛擬機,亦可稱為驅動域,例如這種特殊的虛擬機在Xen Hypervisor平臺上被稱作DomO,在該虛擬機中安裝了例如網卡、SCSI磁碟等真實物理設備的驅動程序,能檢測和直接訪問這些真實物理設備。其他虛擬機利用Hypervisor 提供的相應機制通過特權虛擬機訪問真實物理設備。NMI (Nonmaskable Interrupt):不可屏蔽中斷(即CPU不能屏蔽)。無論狀態寄存器中IF位的狀態如何,CPU收到有效的匪I必須進行響應,它在被響應時無中斷響應周期。不可屏蔽中斷通常用於故障處理(例如協處理器運算出錯,存儲器校驗出錯,I/O通道校驗出錯等)。BMC Baseboard Management Controller,基板管理控制器。IPMI :智能型平臺管理接口(Intelligent Platform Management Interface)的縮寫,是管理基於Intel結構的企業系統中所使用的外圍設備採用的一種工業標準,該標準由英特爾、惠普、NEC、美國戴爾電腦和SuperMicro等公司制定。用戶可以利用IPMI監視伺服器的物理健康特徵,如溫度、電壓、風扇工作狀態、電源狀態等。實施例一如圖I所示,本發明實施例提供一種計算節點100,包括硬體層110、運行在硬體層110之上的虛擬機監控器VMM50、以及運行所述VMM之上的虛擬機VM,所述虛擬機VM包括特權虛擬機701和至少一個業務虛擬機702。所述硬體層110包括處理器、硬碟、網卡、內存等。其中,處理器可以是中央處理器 (CPU, Central Processing Unit)、數位訊號處理器(DSP, Digital Signal Processing)、 現場可編程門陣列(FPGA, Field Programmable Gate Array)等等。如圖2所示,虛擬機主要包括虛擬硬體21、運行在虛擬硬體21之上的客戶機作業系統22 ;所述虛擬硬體21包括至少一個虛擬處理器23 ;虛擬內存(VMEM) 24 ;虛擬硬碟 (VDISK) 25以及至少一個虛擬設備(VDEVICE) 26 ;需要說明的是,圖2中的虛擬處理器可以隨著不同時刻或不同業務需求而改變,而且同一虛擬處理器可以同時被多個虛擬機共享, 所以圖2中虛擬處理器本質上為某一時刻虛擬機所對應的虛擬處理器。另外,在特權虛擬機701中還包括運行在客戶機作業系統(圖中未示意出)之上的物理設備的驅動程序,在業務虛擬機702還包括運行在客戶機作業系統之上的業務應用程式,需要說明的是,業務應用程式運行在業務虛擬機中,業務虛擬機需要通過特權虛擬機作為中介,間接訪問網絡與存儲等10資源。本發明實施例中,虛擬機監控器可以指Xen Hypervisor,特權虛擬機指在Xen Hypervisor平臺上的特殊虛擬機。這種特殊的虛擬機在Xen Hypervisor平臺上也被稱作DomO,在其他虛擬化平臺上也被稱作為驅動域,為了方便描述,本發明實施例使用特權虛擬機的說法,但本發明對此不作限定。其中,在特權虛擬機發生死鎖的情況下,所述VMM50用於在特權虛擬機發生死鎖的情況下,向所述特權虛擬機發送不可屏蔽中斷並配置所述特權虛擬機的虛擬處理器資源;當所述特權虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述特權虛擬機對應的內核引導程序;在本實施例中,第一虛擬處理器可以為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出的第一個虛擬處理器,或者,為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出的信用值和/或權重值最高的虛擬處理器。第一虛擬處理器也就是先配置完成的虛擬處理器,依據配置的先後順序而來。另外,通過在預定個數的虛擬處理器中選擇信用值和權重值最高的虛擬處理器,或者信用值最高,或者權重值最高的虛擬處理器有利於內核引導程序快速進行加載。所述特權虛擬機701用於響應VMM50發送的不可屏蔽中斷;收集所述特權虛擬機的臨終遺言,所述臨終遺言包括死鎖時所述特權虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;在所述特權虛擬機的內核引導程序被加載完成之後,根據所述特權虛擬機的臨終遺言恢復業務進程。在業務虛擬機702發生死鎖的情況下,所述VMM50還用於在業務虛擬機702發生死鎖的情況下,向所述業務虛擬機702發送不可屏蔽中斷並配置所述業務虛擬機的虛擬處理器資源;當所述業務虛擬機702響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第二虛擬處理器並在所述第二虛擬處理器上加載所述業務虛擬機對應的內核引導程序;在本實施例中,第二虛擬處理器可以為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出的第一個虛擬處理器,或者,為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出的信用值和/或權重值最高的虛擬處理器。第二虛擬處理器也就是先配置完成的虛擬處理器,依據配置的先後順序而來。另外,通過在預定個數的虛擬處理器中選擇信用值和權重值最高的虛擬處理器,或者信用值最高,或者權重值最高的虛擬處理器有利於內核引導程序快速進行加載。需要說明的是,本實施例描述中所採用的第一、第二的說法,沒有限定順序的意思,僅為方便區分而已。這裡的第一虛擬處理器用來表示VMM為特權虛擬機所調度的虛擬處理器,這裡的第二虛擬處理器用來表示VMM為業務虛擬機所調度的虛擬處理器。所述業務虛擬機702用於響應VMM發送的不可屏蔽中斷;收集所述業務虛擬機的臨終遺言,所述臨終遺言包括死鎖時所述業務虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;在所述業務虛擬機的內核引導程序被加載完成之後,根據所述業務虛擬機的臨終遺言恢復業務進程。在本發明實施例中,虛擬機收集臨終遺言通過VMM從硬體層收集臨終遺言,具體而言,虛擬機通過VMM從硬體層的內存中收集死鎖時虛擬機對應的各個虛擬處理器的堆棧信息,並且從硬體層的處理器的寄存器收集死鎖時虛擬機對應的各個虛擬處理器的寄存器信息。需要指出的,特殊虛擬機和業務虛擬機都可以通過VMM從硬體層收集臨終遺言,例如,若在本發明實施例中虛擬處理器為VCPU、硬體層的處理器為CPU,則虛擬機通過VMM從硬體層的內存中收集死鎖時虛擬機對應的各個VCPU的堆棧信息,並且從CPU的寄存器收集死鎖時虛擬機對應的各個VCPU的寄存器信息。可見,本發明實施例提供一種計算節點,虛擬機監控器通過向虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源,虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言,再通過虛擬機監控器從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度某個虛擬處理器(如前述的第一虛擬處理器或第二虛擬處理器)並在所述某個虛擬處理器上加載所述虛擬機的內核引導程序,使得虛擬機能夠根據收集的臨終遺言恢復業務進程;一方面,當特權虛擬機發生死鎖時,相對於現有技術中使整個伺服器下電的方法,本發明檢測到特權虛擬機死鎖之後通過VMM在線恢復特權虛擬機,能夠及時恢復特權虛擬機的運行,保持整個計算節點運行狀態,從而避免了將整個計算節點如整個伺服器重啟,進而避免了業務災難時間過長、數據不同步等現象;此外,由於特權虛擬機的快速恢復, 從而自動恢復其他業務虛擬機的訪問網絡與存儲等IO資源的IO功能,進而對其他業務虛擬機不造成影響;另一方面,當業務虛擬機發生死鎖時,本發明能夠檢測到業務虛擬機死鎖之後通過VMM在線恢復業務虛擬機,避免將整個伺服器重啟,及時恢復業務虛擬機的運行, 實現虛擬機內業務的快速恢復,避免了業務虛擬機的業務災難時間過長、數據不同步等現象。實施例二如圖3(a)所示,本發明實施例提供一種虛擬機死鎖後的恢復方法,該方法的執行主體可以為虛擬機監控器,具體的,可以是Xen Hypervisor,包括301、在虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源。302、當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程;所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄
存器信息。其中,所述第一虛擬處理器可以為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出的第一個虛擬處理器,或者,可以為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出的信用值和/或權重值最高的虛擬處理器,本發明實施例對此不作限定,可以根據實際應用情況採用不同的調度算法進行實現,比如公平調度算法。在一種實現方式下,步驟301中的所述配置所述虛擬機的虛擬處理器資源,包括獲取預定個數的虛擬處理器,其中所述預定個數為死鎖時所述虛擬機所對應的虛擬處理器的個數;根據記錄的所述虛擬機所對應的一個或多個虛擬處理器的第一資源信息,設置所述預定個數的虛擬處理器的第二資源信息,所述第一資源信息與所述第二資源信息用於表示分布情況相同的虛擬處理器資源,所述第一資源信息和所述第二資源信息都包括信用值和權重值。需要說明的是,在本發明實施例中「第一虛擬處理器」中的「第一」沒有限定順序的意思,僅為方便區分而已。可見,本發明實施例提供一種虛擬機死鎖後的恢復方法,從虛擬機監控器一側來說,向所述虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源,再從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,使得虛擬機能夠根據收集的臨終遺言恢復業務進程,相對於現有技術中使整個伺服器下電重啟的方法,本發明能夠不用重啟整個伺服器而能夠及時恢復虛擬機的運行,從而避免了業務災難時間過長、數據不同步等現象。如圖3(b)所示,本發明實施例提供一種虛擬機死鎖後的恢復方法,該方法的執行主體為虛擬機,具體的,可以是特權虛擬機,亦可以是業務虛擬機,該方法可以包括311、響應虛擬機監控器VMM發送的不可屏蔽中斷。具體的,響應虛擬機監控器VMM發送的不可屏蔽中斷,結束所述虛擬機上運行的業務312、收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息。313、在所述虛擬機的內核引導程序被加載完成之後,根據所述虛擬機的臨終遺言恢復業務進程。在一種實現方式下,步驟312可以為通過所述VMM從硬體層收集虛擬機的臨終遺在一種實現方式下,步驟313可以包括在所述虛擬機的內核引導程序被加載完成之後,根據死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息,識別所述虛擬機死鎖前的運行指令和地址,以便所述虛擬機恢復後繼續執行所述運行指令的下一條指令;需要說明的是,這裡的所述虛擬機死鎖前的運行指令和地址,指的是所述虛擬機死鎖前的最後時刻所處理的運行指令和地址。更為具體的,在所述虛擬機的內核引導程序被加載完成之後,根據死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息初始化所述虛擬處理器的鍊表,並根據所述鍊表中的所述堆棧信息和所述寄存器信息識別所述虛擬機死鎖前的運行指令和地址,以便所述虛擬機恢復後繼續執行所述運行指令的下一條指令。可見,本發明實施例提供一種虛擬機死鎖後的恢復方法,從虛擬機一側來說,虛擬機響應虛擬機監控器發送的不可屏蔽中斷並且收集虛擬機的臨終遺言,在虛擬機監控器完成引導程序的加載之後,虛擬機根據該臨終遺言來實現業務進程的恢復,相對於現有技術中使整個伺服器下電重啟的方法,本發明能夠不用重啟整個伺服器而能夠及時恢復虛擬機的運行,從而避免了業務災難時間過長、數據不同步等現象。實施例三如圖4(a)所示,本發明實施例提供另一種虛擬機死鎖後的恢復方法,包括401、虛擬機監控器VMM初始化監測定時器。402、虛擬機VM按照預定的第一時間間隔產生心跳信息。這裡的虛擬機VM可以是特權虛擬機,也可以是業務虛擬機。403、VM在所述VMM提供的調用模式下,按照預定的第二時間間隔發送所述心跳信息至VMM。優選的,該調用模式為超級調用。404、VMM接收VM按照預定的第二時間間隔所發送的心跳信息;VMM根據所述心跳信息,更新監測定時器。需要說明的是,步驟402,403和404中涉及的第一時間間隔和第二時間間隔可以是相同的時間間隔,也可以是不同的時間間隔。應當理解的是,本發明實施例中的時間間隔是可以根據實際應用或經驗值靈活設置,本發明對此不做限定。405.VMM根據所述監測定時器的更新頻率,判斷所述VM是否發生死鎖;在VM未發生死鎖的情況下,循環執行步驟401-405,在VM發生死鎖的情況下,執行以下步驟406-412。406、VMM向發生死鎖的所述VM發送不可屏蔽中斷。 407、VM響應虛擬機監控器VMM發送的不可屏蔽中斷。其中,在本發明實施例中VM響應所述不可屏蔽中斷,以結束所述VM上運行的業務,具體的,以結束所述VM上當前運行所有進程。408,VM收集VM的臨終遺言,其中所述臨終遺言包括死鎖時所述VM對應的各個虛擬處理器的堆棧信息和寄存器信息。具體的,VM通過VMM從硬體層收集臨終遺言,更具體而言,虛擬機通過VMM從硬體層的內存中收集死鎖時虛擬機對應的各個虛擬處理器的堆棧信息,並且從硬體層的處理器的寄存器收集死鎖時虛擬機對應的各個虛擬處理器的寄存器信息。本實施例中,以處理器為CPU,虛擬處理器為VCPU舉例說明,則虛擬機通過VMM從硬體層的內存中收集死鎖時虛擬機對應的各個VCPU的堆棧信息,並且從CPU寄存器收集死鎖時虛擬機對應的各個VCPU的寄存器信息。需要指出的,特殊虛擬機和業務虛擬機都可以通過VMM從硬體層收集臨終遺言, 本發明實施例適用於特殊虛擬機死鎖後的恢復,同樣也適用於業務虛擬機死鎖後的恢復。在406之後,VMM配置VM的虛擬處理器資源,具體通過以下步驟409和410。409、VMM獲取預定個數的虛擬處理器;所述預定個數為死鎖時所述VM所對應的虛擬處理器的個數;需要說明的是,本發明並不限定預定個數的虛擬處理器是否是死鎖前對應的虛擬處理器,所述預定個數的虛擬處理器可以是VM發生死鎖時使用的預定個數的虛擬處理器, 也可以是重新獲取到的預定個數的虛擬處理器,例如,在虛擬處理器為VCPU的情況下,在 VM發生死鎖之前使用VCPU1、VCPU2和VCPU3,在409步驟中可以獲取到VCPU1、VCPU2和 VCPU3,也可以在409步驟中獲取到VCPU4、VCPU5和VCPU6。410.VMM根據記錄的VM所對應的一個或多個虛擬處理器的第一資源信息,設置所述預定個數的虛擬處理器的第二資源信息,所述第一資源信息與所述第二資源信息用於表示分布情況相同的虛擬處理器資源,所述第一資源信息和所述第二資源信息都包括信用值和權重值。需要說明的是,在本發明所有實施例中使用「第一」 「第二」的說法沒有限定順序的意思,僅為方便區分而已。在本發明實施例中,所述第一資源信息與所述第二資源信息分布情況相同,依照記錄的第一資源信息對重新獲取到的虛擬處理器的第二資源信息進行設置。但是,在本發明實施例中並不限定重新獲取到的各個虛擬處理器與記錄的各個虛擬處理器的對應關係,例如,若獲取預定個數的虛擬處理器為VCPU4、VCPU5和VCPU6,則在 410步驟中,需要將VCPU4、VCPU5和VCPU6的資源信息依次設置為記錄的死鎖時VCPU1、 VCPU2和VCPU3的資源信息,也可以將VCPU4、VCPU5和VCPU6的資源信息依次設置為記錄的死鎖時VCPU3、VCPU2和VCPUl的資源信息。更具體而言,在記錄的死鎖時VCPUl、VCPU2和VCPU3的信用值分別為20、30、50, 權重值分別25、35、40的情況下,當獲取的預定個數的虛擬處理器為VCPU4、VCPU5和VCPU6 時,可以將VCPU4、VCPU5和VCPU6的信用值分別設置為20、30、50,權重值分別設置為25、 35,40,也可以將VCPU4、VCPU5和VCPU6的信用值分別設置為50、20、30,權重值分別設置為 40、25、35。在本發明實施例中每一虛擬處理器的信用值和權重值可以相同也可不同,根據實際應用所採用的算法而定,本發明對此不做限定。根據記錄的死鎖時虛擬機所對應的各個虛擬處理器的資源信息來設置重新獲取到的虛擬處理器的資源信息,保證了重新獲取到的預定個數的虛擬處理器具有VM死鎖前的原始信息。如圖4(b)所示,在VMM(例如Xen Hypervisor)中,所有虛擬機相關信息都有特定的數據結構,每個虛擬機的數據結構與vcpu的數據結構相互引用。VMM(例如Xen Hypervisor)管理所有的數據結構,在虛擬機發生死鎖之後,直接回收虛擬機對應的vcpu 鍊表,並根據虛擬機的數據結構中記錄的VCPU配置個數,重新初始化相應個數的VCPU,設置與之前相當的信用值、權重等,重新進行調度。例如,VMM(如Xen Hypervisor)回收特權虛擬機的VCPU資源,並重新初始化相應個數的VCPU,初始化之後,將該特權虛擬機的內核引導程序調度到第一個VCPU對象(簡稱 SVCPUO)上加載運行,VCPUO得到時間片並執行該特權虛擬機的內核引導程序。相應的, 特權虛擬機的內核啟動成功後,加載原生驅動,根據臨終遺言信息恢復業務進程,恢復前後端IO通道。當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,執行以下411步驟進行。411、VMM從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,其中,所述第一虛擬處理器可以為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出的第一個虛擬處理器,或者,為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出的信用值和/或權重值最高的虛擬處理器。第一個虛擬處理器也就是先配置完成的虛擬處理器,依據配置的先後順序而來。 另外,通過在預定個數的虛擬處理器中選擇信用值和權重值最高的虛擬處理器,或者信用值最高,或者權重值最高的虛擬處理器有利於內核引導程序快速進行加載。412、VM根據所述虛擬機的臨終遺言恢復業務進程。具體的,在所述虛擬機的內核引導程序被加載完成之後,根據死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息初始化所述虛擬處理器的鍊表,並根據所述鍊表中的所述堆棧信息和所述寄存器信息識別所述虛擬機死鎖前的運行指令和地址,以便所述虛擬機恢復後繼續執行所述運行指令的下一條指令。可見,本發明實施例提供一種虛擬機死鎖後的恢復方法,通過虛擬機發送的心跳信息來更新監測定時器,這樣虛擬機監控器能夠根據監測定時器的更新頻率來判斷死鎖是否發生,為進行死鎖恢復過程提供了基礎;進一步的,通過虛擬機監控器向虛擬機發送不可屏蔽中斷配置所述虛擬機的虛擬處理器資源,並且從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,使得虛擬機能夠根據收集的臨終遺言恢復業務進程,相對於現有技術中使整個伺服器下電重啟的方法,本發明能夠避免重啟整個伺服器,及時恢復虛擬機的運行,從而避免了業務災難時間過長、數據不同步等現象。實施例四如圖5所示,本發明是實施例提供一種虛擬機監控器50,包括中斷模擬器51、配置單元52和調度加載單元53。所述中斷模擬器51,用於在虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷。所述配置單元52,用於配置所述虛擬機的虛擬處理器資源。所述調度加載單元53,用於當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程;所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息。其中,所述第一虛擬處理器為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出的第一個虛擬處理器,或者,為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出的信用值和/或權重值最高的虛擬處理器。所述第一虛擬處理器的資源信息包括第一信用值和第一權重值。進一步的,所述配置單元52具體用於,獲取預定個數的虛擬處理器,其中所述預定個數為死鎖時所述虛擬機所對應的虛擬處理器的個數;根據記錄的所述虛擬機所對應的一個或多個虛擬處理器的第一資源信息,設置所述預定個數的虛擬處理器的第二資源信息,所述第一資源信息與所述第二資源信息用於表示分布情況相同的虛擬處理器資源,所述第一資源信息和所述第二資源信息都包括信用值和權重值。進一步的,調度加載單元53具體用於當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出第一個虛擬處理器,或者,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出信用值和/或權重值最高的虛擬處理器並在所述虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程。進一步的,如圖6所示,所述虛擬機監控器50還包括監測定時器54,更新單元55 和判斷單元56。所述監測定時器54,用於接收虛擬機70按照預定的第二時間間隔所發送的心跳信息。所述更新單元55,用於根據所述心跳信息,更新所述監測定時器54。
14
所述判斷單元56,用於根據所述監測定時器的更新頻率,判斷所述虛擬機70是否發生死鎖。所述中斷模擬器51,具體用於在所述判斷單元56確定所述虛擬機發生死鎖的情況下,向所述虛擬機70發送不可屏蔽中斷。可見,本發明實施例提供一種虛擬機監控器,該虛擬機監控器能夠根據虛擬機發送的心跳信息更新監測定時器,並且根據監測定時器的更新頻率判斷虛擬機是否發生死鎖,為死鎖恢復過程提供了基礎,進一步的,該虛擬機監控器向虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源,並且從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,從而有助於虛擬機根據收集的臨終遺言恢復業務進程,相對於現有技術中使整個伺服器下電重啟的方法,本發明能夠避免重啟整個伺服器,及時恢復虛擬機的運行,從而避免了業務災難時間過長、數據不同步等現象。如圖7所示,本發明是實施例提供一種虛擬機70,所述虛擬機70可以為特權虛擬機701,也可以為業務虛擬機702。所述虛擬機70包括中斷處理單元71、收集單元72和業務恢復單元73。所述中斷處理單元71,用於響應虛擬機監控器VMM發送的不可屏蔽中斷;所述收集單元72,用於收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;所述業務恢復單元73,用於在所述虛擬機的內核引導程序被加載完成之後,根據所述虛擬機的臨終遺言恢復業務進程。進一步的,所述收集單元72,具體用於通過所述VMM從硬體層收集虛擬機的臨終
、pfci 、.
JSH。所述業務恢復單元73,具體用於在所述虛擬機的內核引導程序被加載完成之後, 根據死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息初始化虛擬處理器的鍊表,並根據所述鍊表中的所述堆棧信息和所述寄存器信息識別所述虛擬機死鎖前的運行指令和地址,以便所述虛擬機恢復後繼續執行所述運行指令的下一條指令。進一步的,如圖8所示,所述虛擬機70還包括心跳產生發送單元74。所述心跳產生發送單元74,用於按照預定的第一時間間隔產生心跳信息;在所述 VMM提供的調用模式下,按照預定的第二時間間隔向所述VMM發送所述心跳信息,以便所述 VMM判斷所述虛擬機是否發生死鎖。具體的,所述調用模式為超級調用。可見,本發明實施例提供一種虛擬機,該虛擬機按照預定的第一時間間隔產生心跳信息,以便虛擬機監控器做出是否發生死鎖的判斷,為死鎖恢復提供了基礎,進一步的, 虛擬機響應虛擬機監控器發送的不可屏蔽中斷並且收集虛擬機的臨終遺言,在虛擬機監控器完成引導程序的加載之後,從而能夠實現業務進程的恢復,相對於現有技術中使整個伺服器下電重啟的方法,本發明能夠避免重啟整個伺服器,及時恢復虛擬機的運行,從而避免了業務災難時間過長、數據不同步等現象。本發明實施例還提供一種宿主機90,包括虛擬機監控器VMM50和特權虛擬機 VM701,其中,所述VMM用於在特權虛擬機發生死鎖的情況下,向所述特權虛擬機發送不可屏蔽中斷並配置所述特權虛擬機的虛擬處理器資源;當所述特權虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述特權虛擬機對應的內核引導程序。所述特權虛擬機用於響應VMM發送的不可屏蔽中斷;收集所述特權虛擬機的臨終遺言,所述臨終遺言包括死鎖時所述特權虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;在所述特權虛擬機的內核引導程序被加載完成之後,根據所述特權虛擬機的臨終遺言恢復業務進程。另外,需要說明的是在本發明實施例中,虛擬機監控器和特權虛擬機配合而組成宿主機,此外,宿主機也可以包括虛擬機監控器,而不包括特權虛擬機。可見,本發明實施例提供一種宿主機,通過虛擬機監控器向虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源,並且從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,使得虛擬機能夠根據收集的臨終遺言恢復業務進程,在特權虛擬機發生死鎖的情況下,相對於現有技術中使整個伺服器下電重啟的方法,本發明能夠及時恢復特權虛擬機的運行,從而避免了將整個伺服器重啟,進而避免了業務災難時間過長、數據不同步等現象。如圖10所示,本發明實施例還提供一種計算機系統,包括至少一個如前述實施例描述的計算節點100。可見,本發明實施例提供的計算機系統中,具體是每個計算機節點中,虛擬機監控器通過向虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源,虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言,再通過虛擬機監控器從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度某個虛擬處理器(如前述的第一虛擬處理器或第二虛擬處理器)並在所述某個虛擬處理器上加載所述虛擬機的內核引導程序,使得虛擬機能夠根據收集的臨終遺言恢復業務進程;一方面,當特權虛擬機發生死鎖時,相對於現有技術中使整個伺服器下電的方法,本發明檢測到特權虛擬機死鎖之後通過VMM在線恢復特權虛擬機,能夠及時恢復特權虛擬機的運行,保持整個計算節點運行狀態,從而避免了將整個計算節點如整個伺服器重啟,進而避免了業務災難時間過長、數據不同步等現象;此外,由於特權虛擬機的快速恢復,從而自動恢復其他業務虛擬機的訪問網絡與存儲等IO資源的 IO功能,進而對其他業務虛擬機不造成影響;另一方面,當業務虛擬機發生死鎖時,本發明能夠檢測到業務虛擬機死鎖之後通過VMM在線恢復業務虛擬機,避免將整個伺服器重啟, 及時恢復業務虛擬機的運行,實現虛擬機內業務的快速恢復,避免了業務虛擬機的業務災難時間過長、數據不同步等現象。需要說明的是,前述實施例描述中所採用的第一、第二的說法,沒有限定順序的意思,僅為方便區分而已。需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本發明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。本領域普通技術人員可以理解實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲於一計算機可讀取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質。以上所述,僅為本發明的具體實施方式
,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述權利要求的保護範圍為準。
權利要求
1.一種虛擬機死鎖後的恢復方法,其特徵在於,包括在虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源;當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程。
2.根據權利要求I所述的方法,其特徵在於,所述配置所述虛擬機的虛擬處理器資源,包括獲取預定個數的虛擬處理器,其中所述預定個數為死鎖時所述虛擬機所對應的虛擬處理器的個數;根據記錄的所述虛擬機所對應的一個或多個虛擬處理器的第一資源信息,設置所述預定個數的虛擬處理器的第二資源信息,所述第一資源信息與所述第二資源信息用於表示分布情況相同的虛擬處理器資源,所述第一資源信息和所述第二資源信息都包括信用值和權重值。
3.根據權利要求I所述的方法,其特徵在於,所述第一虛擬處理器為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出的第一個虛擬處理器,或者,為從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出的信用值和/或權重值最高的虛擬處理器。
4.根據權利要求I 3任一項所述的方法,其特徵在於,所述方法還包括接收所述虛擬機按照預定的第二時間間隔所發送的心跳信息;根據所述心跳信息,更新監測定時器;根據所述監測定時器的更新頻率,判斷所述虛擬機是否發生死鎖,如果所述虛擬機發生死鎖,則執行所述向所述虛擬機發送不可屏蔽中斷。
5.一種虛擬機死鎖後的恢復方法,其特徵在於,包括響應虛擬機監控器VMM發送的不可屏蔽中斷;收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;在所述虛擬機的內核引導程序被加載完成之後,根據所述虛擬機的臨終遺言恢復業務進程。
6.根據權利要求5所述的方法,其特徵在於,所述收集虛擬機的臨終遺言,包括通過所述VMM從硬體層收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息。
7.根據權利要求5所述的方法,其特徵在於,所述在所述虛擬機的內核引導程序被加載完成之後,根據所述虛擬機的臨終遺言恢復業務進程,包括在所述虛擬機的內核引導程序被加載完成之後,根據死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息初始化所述虛擬處理器的鍊表,並根據所述鍊表中的所述堆棧信息和所述寄存器信息識別所述虛擬機死鎖前的運行指令和地址,以便所述虛擬機恢復後繼續執行所述運行指令的下一條指令。
8.根據權利要求5至7任一項所述的方法,其特徵在於,還包括按照預定的第一時間間隔產生心跳信息;在所述VMM提供的調用模式下,按照預定的第二時間間隔向所述VMM發送所述心跳信息,以便所述VMM判斷所述虛擬機是否發生死鎖。
9.根據權利要求8所述的方法,其特徵在於,所述調用模式為超級調用。
10.一種虛擬機監控器,其特徵在於,包括中斷模擬器,用於在虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷;配置單元,用於配置所述虛擬機的虛擬處理器資源;調度加載單元,用於當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後, 從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程。
11.根據權利要求10所述的虛擬機監控器,其特徵在於,所述配置單元具體用於,獲取預定個數的虛擬處理器,其中所述預定個數為死鎖時所述虛擬機所對應的虛擬處理器的個數;根據記錄的所述虛擬機所對應的一個或多個虛擬處理器的第一資源信息,設置所述預定個數的虛擬處理器的第二資源信息,所述第一資源信息與所述第二資源信息用於表示分布情況相同的虛擬處理器資源,所述第一資源信息和所述第二資源信息都包括信用值和權重值。
12.根據權利要求10所述的虛擬機監控器,其特徵在於,所述調度加載單元具體用於當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中隨機調度出第一個虛擬處理器,或者,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度出信用值和/或權重值最高的虛擬處理器並在所述虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程。
13.根據權利要求10 12任一項所述的虛擬機監控器,其特徵在於,所述虛擬機監控器還包括監測定時器,用於接收所述虛擬機按照預定的第二時間間隔所發送的心跳信息;更新單元,用於根據所述心跳信息,更新所述監測定時器;判斷單元,用於根據所述監測定時器的更新頻率,判斷所述虛擬機是否發生死鎖; 所述中斷模擬器具體用於在所述判斷單元確定所述虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷。
14.一種虛擬機,其特徵在於,包括中斷處理單元,用於響應虛擬機監控器VMM發送的不可屏蔽中斷;收集單元,用於收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;業務恢復單元,用於在所述虛擬機的內核引導程序被加載完成之後,根據所述虛擬機的臨終遺言恢復業務進程。
15.根據權利要求14所述的虛擬機,其特徵在於,所述收集單元具體用於通過所述VMM 從硬體層收集虛擬機的臨終遺言,其中所述臨終遺言包括死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息。
16.根據權利要求14所述的虛擬機,其特徵在於,所述業務恢復單元具體用於在所述虛擬機的內核引導程序被加載完成之後,根據死鎖時所述虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息初始化所述虛擬處理器的鍊表,並根據所述鍊表中的所述堆棧信息和所述寄存器信息識別所述虛擬機死鎖前的運行指令和地址,以便所述虛擬機恢復後繼續執行所述運行指令的下一條指令。
17.根據權利要求14至16任一項所述的虛擬機,其特徵在於,還包括心跳產生發送單元,用於按照預定的第一時間間隔產生心跳信息;在所述VMM提供的調用模式下,按照預定的第二時間間隔向所述VMM發送所述心跳信息,以便所述VMM判斷所述虛擬機是否發生死鎖。
18.一種宿主機,其特徵在於,包括虛擬機監控器和特權虛擬機,其中,所述虛擬機監控器為權利要求10 13中任一項權利要求所述的虛擬機監控器,所述特權虛擬機為權利要求14 17中任一項權利要求所述的虛擬機。
19.一種計算節點,其特徵在於,所述計算節點包括硬體層、運行在所述硬體層之上的虛擬機監控器VMM、以及運行在所述VMM之上的虛擬機;所述虛擬機包括特權虛擬機和至少一個業務虛擬機,其中所述VMM用於在所述特權虛擬機發生死鎖的情況下,向所述特權虛擬機發送不可屏蔽中斷並配置所述特權虛擬機的虛擬處理器資源;當所述特權虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述特權虛擬機對應的內核引導程序;所述特權虛擬機用於響應所述VMM發送的不可屏蔽中斷;收集所述特權虛擬機的臨終遺言,所述臨終遺言包括死鎖時所述特權虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;在所述特權虛擬機的內核引導程序被加載完成之後,根據所述特權虛擬機的臨終遺言恢復業務進程。
20.根據權利要求19所述的裝置,其特徵在於,所述VMM還用於在所述業務虛擬機發生死鎖的情況下,向所述業務虛擬機發送不可屏蔽中斷並配置所述業務虛擬機的虛擬處理器資源;當所述業務虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第二虛擬處理器並在所述第二虛擬處理器上加載所述業務虛擬機對應的內核引導程序;所述業務虛擬機用於響應所述VMM發送的不可屏蔽中斷;收集所述業務虛擬機的臨終遺言,所述臨終遺言包括死鎖時所述業務虛擬機對應的各個虛擬處理器的堆棧信息和寄存器信息;在所述業務虛擬機的內核引導程序被加載完成之後,根據所述業務虛擬機的臨終遺言恢復業務進程。
21.一種計算機系統,其特徵在於,包括至少一個如權利要求19 20任一項所述的計算節點。
全文摘要
本發明實施例提供一種虛擬機死鎖後的恢復方法、裝置及系統,用以在一定程度上,避免重啟整個伺服器所帶來的問題。該方法包括在虛擬機發生死鎖的情況下,向所述虛擬機發送不可屏蔽中斷並配置所述虛擬機的虛擬處理器資源;當所述虛擬機響應所述不可屏蔽中斷並收集完成臨終遺言之後,從配置完成的所述虛擬處理器資源包括的一個或多個虛擬處理器中調度第一虛擬處理器並在所述第一虛擬處理器上加載所述虛擬機的內核引導程序,以便所述虛擬機根據收集的臨終遺言恢復業務進程。本發明實施例適用於虛擬機發生死鎖的情景。
文檔編號G06F11/07GK102609324SQ201210004749
公開日2012年7月25日 申請日期2012年1月9日 優先權日2012年1月9日
發明者範良 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀