国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種虛擬機的狀態(tài)信息同步的方法、裝置及系統(tǒng)的制作方法

      文檔序號:6625186閱讀:654來源:國知局
      一種虛擬機的狀態(tài)信息同步的方法、裝置及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種虛擬機的狀態(tài)信息同步的方法,所述方法應用于虛擬機容錯系統(tǒng),虛擬機容錯系統(tǒng)包括源主機和目的主機,源主機上運行有主虛擬機,目的主機上運行有備虛擬機,在源主機向目的主機同步主虛擬機的狀態(tài)信息時,所述方法包括:暫停主虛擬機,并將主虛擬機的狀態(tài)信息存入源主機的存儲器;啟動運行處于暫停狀態(tài)的主虛擬機;在主虛擬機處于運行狀態(tài)的同時,從存儲器中獲取主虛擬機的狀態(tài)信息,并將主虛擬機的狀態(tài)信息向目的主機發(fā)送,以便目的主機根據(jù)主虛擬機的狀態(tài)信息更新備虛擬機的狀態(tài)。本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法,可以縮短了主虛擬機的暫停時間,從而提高了主虛擬機的計算性能。
      【專利說明】一種虛擬機的狀態(tài)信息同步的方法、裝置及系統(tǒng)

      【技術領域】
      [0001]本發(fā)明涉及計算機【技術領域】,具體涉及一種虛擬機的狀態(tài)信息同步的方法、裝置及系統(tǒng)。

      【背景技術】
      [0002]虛擬機容錯是虛擬化領域的一項關鍵技術,其目的是在硬件發(fā)生故障導致主虛擬機宕機的情況下,為保證關鍵業(yè)務零中斷、數(shù)據(jù)零丟失,將業(yè)務切換到備虛擬機上運行。為了確保備虛擬機能隨時代替主虛擬機工作,需要間隔性的同步主虛擬機的狀態(tài)信息到備虛擬機,從而在主虛擬機出現(xiàn)故障的時候,備虛擬機可以及時代替主虛擬機工作。
      [0003]但現(xiàn)有技術中,同步主虛擬機狀態(tài)到備虛擬機時需要暫停主虛擬機,然后源主機向目的主機發(fā)送主虛擬機的狀態(tài)信息,源主機接收到目的主機發(fā)送的確認響應后,才會恢復主虛擬機運行,這樣導致主虛擬機暫停時間很長,導致主虛擬機計算性能大幅下降。


      【發(fā)明內(nèi)容】

      [0004]本發(fā)明實施例提供本發(fā)明提出一種虛擬機的狀態(tài)信息同步的方法,可以縮短主虛擬機的暫停時間,提高主虛擬機的計算性能。本發(fā)明實施例還提供了相應的裝置及系統(tǒng)。
      [0005]本發(fā)明第一方面提供一種虛擬機的狀態(tài)信息同步的方法,所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,所述方法包括:
      [0006]暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;
      [0007]啟動運行處于暫停狀態(tài)的所述主虛擬機;
      [0008]在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0009]結合第一方面,在第一種可能的實現(xiàn)方式中,所述暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,所述方法還包括:
      [0010]為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0011]接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息;
      [0012]根據(jù)所述確認消息,將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0013]結合第一方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述接收所述目的主機發(fā)送的確認消息之后,所述方法還包括:
      [0014]根據(jù)所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      [0015]本發(fā)明第二方面提供一種虛擬機的狀態(tài)信息同步的裝置,所述裝置應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機和所述裝置,所述目的主機上運行有備虛擬機,所述裝置包括:
      [0016]第一控制單元,用于在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;
      [0017]第二控制單元,用于啟動運行所述第一控制單元控制暫停的處于暫停狀態(tài)的所述主虛擬機;
      [0018]獲取單元,用于在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述第一控制單元控制存入的所述主虛擬機的狀態(tài)信息;
      [0019]發(fā)送單元,用于將所述獲取單元獲取的所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0020]結合第二方面,在第一種可能的實現(xiàn)方式中,所述裝置還包括:設置單元和接收單元,
      [0021]所述設置單元,用于在所述第一控制單元暫停所述主虛擬機時,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0022]所述接收單元,用于接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息;
      [0023]所述發(fā)送單元,用于根據(jù)所述接收單元接收的所述確認消息,將所述設置單元設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0024]結合第二方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述裝置還包括:
      [0025]刪除單元,用于根據(jù)所述接收單元接收的所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      [0026]本發(fā)明第三方面提供一種虛擬機的狀態(tài)信息同步的方法,所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機包括處理器、存儲器和輸入/輸出I/o設備,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,所述方法包括:
      [0027]所述處理器暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;
      [0028]所述處理器啟動運行處于暫停狀態(tài)的所述主虛擬機;
      [0029]所述處理器在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息;
      [0030]所述處理器觸發(fā)所述源主機的所述輸入/輸出設備將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0031]本發(fā)明第四方面提供一種源主機,所述源主機應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括所述源主機和目的主機,所述源主機包括處理器、存儲器和輸入/輸出I/o設備,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,其特征在于,
      [0032]所述處理器用于:
      [0033]暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述存儲器的存儲器;
      [0034]啟動運行處于暫停狀態(tài)的所述主虛擬機;
      [0035]在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息;
      [0036]觸發(fā)所述源主機的所述輸入/輸出設備將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0037]本發(fā)明第五方面提供一種虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機;
      [0038]所述源主機包括如上述任一技術方案所述的虛擬機的狀態(tài)信息同步的裝置,以及;
      [0039]所述目的主機用于根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0040]本發(fā)明第六方面提供一種虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,
      [0041]所述源主機,用于在向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器,啟動運行處于暫停狀態(tài)的所述主虛擬機,在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送;
      [0042]所述目的主機,用于根據(jù)接收到的所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0043]結合第六方面,在第一種可能的實現(xiàn)方式中,
      [0044]所述源主機還用于:在暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0045]所述源主機還用于:接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息,并根據(jù)所述確認消息將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0046]本發(fā)明實施例采用的虛擬機的狀態(tài)信息同步的方法,所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,所述方法包括:暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;啟動運行處于暫停狀態(tài)的所述主虛擬機;在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。與現(xiàn)有技術中暫停主虛擬機后,源主機向目的主機發(fā)送主虛擬機的狀態(tài)信息,直到接收到目的主機發(fā)送的確認響應后,才會恢復主虛擬機運行,導致暫停主虛擬機的時間過長,計算性能差相比,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法,可以將虛擬機的狀態(tài)信息存入存儲器,然后啟動主虛擬機運行,在所述主虛擬機處于運行狀態(tài)時,再從存儲器中獲取主虛擬機的狀態(tài)信息進行同步,這樣,縮短了主虛擬機的暫停時間,從而提高了主虛擬機的計算性能。

      【專利附圖】

      【附圖說明】
      [0047]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0048]圖1是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的方法的一實施例示意圖;
      [0049]圖2是本發(fā)明實施例中虛擬機容錯系統(tǒng)架構示意圖;
      [0050]圖3是本發(fā)明實施例中虛擬機容錯系統(tǒng)架構示意圖;
      [0051]圖4是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的方法的另一實施例示意圖;
      [0052]圖5是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的方法的另一實施例示意圖;
      [0053]圖6是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的裝置的一實施例示意圖;
      [0054]圖7是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的裝置的另一實施例示意圖;
      [0055]圖8是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的裝置的另一實施例示意圖;
      [0056]圖9是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的裝置的另一實施例示意圖;
      [0057]圖10是本發(fā)明實施例中虛擬機的狀態(tài)信息同步的方法的另一實施例示意圖;
      [0058]圖11是本發(fā)明實施例中源主機的一實施例示意圖;
      [0059]圖12是本發(fā)明實施例中容錯系統(tǒng)的一實施例示意圖;
      [0060]圖13是本發(fā)明實施例中容錯系統(tǒng)的另一實施例示意圖。

      【具體實施方式】
      [0061 ] 本發(fā)明實施例提供本發(fā)明實施例提供一種虛擬機的狀態(tài)信息同步的方法,可以縮短主虛擬機的暫停時間,提高主虛擬機的計算性能。本發(fā)明實施例還提供了相應的裝置及系統(tǒng)。以下分別進行詳細說明。
      [0062]為了使本【技術領域】的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
      [0063]為了方便理解本發(fā)明實施例,首先在此介紹本發(fā)明實施例描述中會引入的幾個元素,如圖1所示:
      [0064]虛擬機VM:
      [0065]通過虛擬機軟件可以在一臺物理主機上模擬出一臺或者多臺虛擬的計算機,而這些虛擬機就像真正的計算機那樣進行工作,虛擬機上可以安裝操作系統(tǒng)和應用程序,虛擬機還可訪問網(wǎng)絡資源。對于在虛擬機中運行的應用程序而言,虛擬機就像是在真正的計算機中進行工作。
      [0066]物理主機可以作為源主機,也可以作為目的主機,主虛擬機為運行在源主機上,且源主機的硬件正常時參與計算的虛擬機,備虛擬機為運行在目的主機上,在的源主機的硬件出現(xiàn)異常的情況下,接替主虛擬機的計算工作的虛擬機。
      [0067]硬件層:
      [0068]虛擬化環(huán)境運行的硬件平臺。其中,硬件層可包括多種硬件,例如某計算節(jié)點的硬件層可包括處理器(如CPU)和內(nèi)存,還可以包括網(wǎng)卡、存儲器等高速或低速輸入/輸出(I/O, Input/Output)設備,及具有特定處理功能的其它設備,如輸入輸出內(nèi)存管理單元(1MMU, Input/Output Memory Management Unit),其中 1MMU 可用于虛擬機物理地址和Host物理地址的轉換。
      [0069]宿主機(Host):
      [0070]作為管理層,用以完成硬件資源的管理、分配;為虛擬機呈現(xiàn)虛擬硬件平臺;實現(xiàn)虛擬機的調度和隔離。其中,Host可能是虛擬機監(jiān)控器(VMM);此外,有時VMM和I個特權虛擬機配合,兩者結合組成Host。其中,虛擬硬件平臺對其上運行的各個虛擬機提供各種硬件資源,如提供虛擬CPU、內(nèi)存、虛擬磁盤、虛擬網(wǎng)卡等等。其中,該虛擬磁盤可對應Host的一個文件或者一個邏輯塊設備。虛擬機則運行在Host為其準備的虛擬硬件平臺上,Host上運行一個或多個虛擬機。例如,圖2所示的宿主機為Xen平臺和特權虛擬機的結合,圖3所示的宿主機為KVM平臺和特權虛擬機的結合。
      [0071]本發(fā)明實施例中,在虛擬機容錯系統(tǒng)中,包括源主機和目的主機,所述源主機上運行有主虛擬機,例如:圖2或圖3所示的Guest (M),所述目的主機上運行有備虛擬機,例如:圖2或圖3所示的Guest (S),在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,如圖2所示,Guest (M)相當于主虛擬機,Host (M)相當于特權虛擬機,Xen相當于主虛擬機監(jiān)控器,Guest (M)存儲器相當于主虛擬機的存儲器,例如主虛擬機的虛擬硬盤,可以用于存儲Guest (M)的鏡像。Guest(S)相當于備虛擬機,Host (S)相當于特權虛擬機,Xen相當于備虛擬機監(jiān)控器,Guest (S)存儲器相當于備虛擬機的存儲器,例如備虛擬機的虛擬硬盤,可以用于存儲Guest (S)的鏡像。
      [0072]如圖2所示的實施例中,源主機和目的主機上都分別運行了 Xen虛擬化支持平臺,圖中虛線表示將源主機上的主虛擬機Guest (M)的虛擬機的狀態(tài)信息同步到目的主機的備虛擬機Guest (S)上。在容錯過程中,F(xiàn)T_M是源主機上Host (M)上的進程,而FT_S是目的主機上Host (S)的進程。本發(fā)明實施例所描述的過程在FT_M和FT_S中實現(xiàn)。
      [0073]如圖3所示的實施例中,源主機和目的主機上都分別運行了 KVM虛擬化支持平臺,圖中虛線表示將源主機上的主虛擬機Guest (M)的虛擬機的狀態(tài)信息同步到目的主機的備虛擬機Guest (S)上。在容錯過程中,QEMU_M是源主機上Host (M)上的進程,而QEMU_S是目的主機上Host⑶的進程。本發(fā)明實施例所描述的過程在QEMU_M和QEMU_S中實現(xiàn)。
      [0074]無論是在FT_M和FT_S中,還是在QEMU_M和QEMU_S中,本發(fā)明實施例中虛擬機的狀態(tài)狀態(tài)信息同步的過程基本相同的,具體同步過程可以參閱圖4進行理解:
      [0075]S100、為主虛擬機的狀態(tài)信息分配存儲器。
      [0076]結合圖2和圖3所示的虛擬機容錯系統(tǒng)架構圖下,確定用于存儲虛擬機的狀態(tài)信息的存儲器,例如:可以分配圖2或圖3所示的Guest(M)存儲器。本發(fā)明實施例中的實際上可以是分配存儲器,也可以是分配緩存。
      [0077]S105、等待 N 毫秒。
      [0078]N毫秒為預設的虛擬機同步間隔。
      [0079]S110、暫停主虛擬機。
      [0080]暫停主虛擬機,可以保證后續(xù)狀態(tài)同步的過程中,主虛擬機和備虛擬機狀態(tài)一致。
      [0081]S115、拷貝主虛擬機的狀態(tài)信息到SlOO中所分配的存儲器。
      [0082]本發(fā)明實施例中主虛擬機的狀態(tài)信息為主虛擬機的虛擬硬件信息,用于在源主機的物理硬件出現(xiàn)故障時,備虛擬機根據(jù)源主機同步到目的主機的所述主虛擬機的狀態(tài)信息恢復出主虛擬機在步驟SllO中暫停前的狀態(tài)。
      [0083]主虛擬機的狀態(tài)信息可以為:主虛擬機內(nèi)存、CPU、網(wǎng)卡、磁盤等信息。
      [0084]S120、為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記。
      [0085]所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包。。
      [0086]S125、恢復主虛擬機的運行。
      [0087]在將主虛擬機的狀態(tài)信息同步到備虛擬機的過程中,先將主虛擬機的狀態(tài)信息存入存儲器,然后立刻恢復主虛擬機的運行,減少了主虛擬機暫停的時間,從而提高了主虛擬機的性能。
      [0088]S130、從存儲器中獲取主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息發(fā)送到目的主機。
      [0089]在源主機和目的主機之間傳輸數(shù)據(jù)可以通過以太網(wǎng)絡進行數(shù)據(jù)傳輸。
      [0090]S135、目的主機接收主虛擬機的狀態(tài)信息。
      [0091]S140、目的主機向源主機發(fā)送確認消息。
      [0092]目的主機通過確認消息,通知所述源主機所述目的主機已接收到所述主虛擬機的狀態(tài)信息。
      [0093]主虛擬機的狀態(tài)信息可以是分多個數(shù)據(jù)包發(fā)送到目的主機,目的主機先緩存接收到的數(shù)據(jù)包,直到所述主虛擬機的狀態(tài)信息完全接收到,才向源主機發(fā)送確認消息。
      [0094]S145、源主機接收所述目的主機發(fā)送的確認消息。
      [0095]S150、目的主機在執(zhí)行S140后,可以根據(jù)接收的主虛擬機的狀態(tài)信息更新備虛擬機的狀態(tài),具體更新過程可以是用本次接收到的主虛擬機的狀態(tài)信息替換上次接收到的主虛擬機的狀態(tài)信息。
      [0096]S155、接收到確認消息后,可以清空存儲器,并將步驟S120中設置標記的網(wǎng)絡數(shù)據(jù)包輸出所述源主機。
      [0097]本發(fā)明實施例中,輸出設置有標記的網(wǎng)絡數(shù)據(jù)包是指將帶標記的網(wǎng)絡數(shù)據(jù)包從所述源主機輸出,這些帶標記的網(wǎng)絡數(shù)據(jù)包可以通過路由器等設備被轉發(fā)到目的設備(需注意的是,這里的目的設備是用于接收并處理該網(wǎng)絡數(shù)據(jù)包的設備,而非本發(fā)明實施例中用于宿主有遷移過來的虛擬機的目的主機)。在接收到確認消息后再輸出帶標記的網(wǎng)絡數(shù)據(jù)包,可以保證主虛擬機和備虛擬機對外輸出的一致性,具體可以理解為:在同步主虛擬機的狀態(tài)信息的過程中源主機的物理硬件出現(xiàn)故障,備虛擬機會根據(jù)上一次同步來的主虛擬機的狀態(tài)信息重新產(chǎn)生與設置有標記的網(wǎng)絡數(shù)據(jù)包相同的網(wǎng)絡數(shù)據(jù)包,由目的主機向外輸出這些相同的網(wǎng)絡數(shù)據(jù)包,源主機上的設置有標記的網(wǎng)絡數(shù)據(jù)包就會隨著源主機物理硬件的故障而被丟棄,從而保證對接收這些網(wǎng)絡數(shù)據(jù)包的目的設備數(shù)據(jù)接收的連續(xù)性,不會接收到重復的網(wǎng)絡數(shù)據(jù)包,如果在源主機接收到確認消息后,源主機的物理硬件出現(xiàn)故障,則目的主機會根據(jù)剛同步過來的主虛擬機的狀態(tài)信息接替主虛擬機的工作,不會再產(chǎn)生源主機中設置有標記的網(wǎng)絡數(shù)據(jù)包,而是產(chǎn)生虛擬機啟動后再運行所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包,這樣,源主機在接收到確認消息后已經(jīng)將帶標記的網(wǎng)絡數(shù)據(jù)包輸出到目的設備,依然可以保持目的設備數(shù)據(jù)接收的連續(xù)性。
      [0098]這個過程相當于主虛擬機在執(zhí)行一個業(yè)務,且執(zhí)行該業(yè)務需要暫停多次主虛擬機時,從剛開始執(zhí)行業(yè)務的主虛擬機的狀態(tài)AO到主虛擬機的狀態(tài)Al,對應產(chǎn)生一個數(shù)據(jù)包BI,可以表述為Al對應BI,實際上BI是在主虛擬機啟動運行時主虛擬機的狀態(tài)AO到下次暫停時所述主虛擬機的狀態(tài)Al的時間段內(nèi)產(chǎn)生的,以此類推,An對應Βη,η大于1,例如:在同步Α2時,則標記Β2,如果在同步Α2過程中,源主機硬件故障,則Β2在源主機中就被丟棄了,目的主機根據(jù)前一次同步過來的Al,從Al狀態(tài)重新開始運算,重新產(chǎn)生Β2,如果在Α2同步完成后,Β2已經(jīng)從源主機輸出后源主機硬件故障,則源主機丟棄的是在同步Α2過程中新產(chǎn)生的數(shù)據(jù)包Β3,目的主機直接根據(jù)剛同步過來的Α2,從Α2狀態(tài)重新開始運算,從新產(chǎn)生Β3,這樣,無論是在什么時候源主機故障,主虛擬機和備虛擬機對外部網(wǎng)絡中的目的設備輸出的網(wǎng)絡數(shù)據(jù)包都是連續(xù)的,不會出現(xiàn)重復網(wǎng)絡數(shù)據(jù)包。
      [0099]在容錯過程中,源主機硬件出現(xiàn)故障時,主虛擬機無法正常運行,源主機則會通知目的主機啟動備虛擬機,指示由備虛擬機來接替主虛擬機的計算工作。
      [0100]備虛擬機接收到啟動指令后,可以立即啟動運行,因為備虛擬機的狀態(tài)是主虛擬機故障前同步來的最新狀態(tài)信息,所以備虛擬機可以根據(jù)更新的主虛擬機的狀態(tài)信息啟動運行,接替主虛擬機的計算工作。
      [0101]參閱圖5,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的一實施例包括:
      [0102]所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,所述方法包括:
      [0103]101、暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器。
      [0104]102、啟動運行處于暫停狀態(tài)的所述主虛擬機。
      [0105]103、在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0106]本發(fā)明實施例采用的虛擬機的狀態(tài)信息同步的方法,所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,所述方法包括:暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;啟動運行處于暫停狀態(tài)的所述主虛擬機;在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。與現(xiàn)有技術中暫停主虛擬機后,源主機向目的主機發(fā)送主虛擬機的狀態(tài)信息,直到接收到目的主機發(fā)送的確認響應后,才會恢復主虛擬機運行,導致暫停主虛擬機的時間過長,計算性能差相比,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法,可以將虛擬機的狀態(tài)信息存入存儲器,然后啟動主虛擬機運行,在所述主虛擬機處于運行狀態(tài)時,再從存儲器中獲取主虛擬機的狀態(tài)信息進行同步,這樣,縮短了主虛擬機的暫停時間,從而提高了主虛擬機的計算性能。
      [0107]可選地,在上述圖5對應的實施例的基礎上,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的另一實施例中,所述暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,所述方法還包括:
      [0108]為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0109]接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息;
      [0110]根據(jù)所述確認消息,將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0111]本發(fā)明實施例中,輸出設置有標記的網(wǎng)絡數(shù)據(jù)包是指將標記的網(wǎng)絡數(shù)據(jù)包從所述源主機輸出,這些帶標記的網(wǎng)絡數(shù)據(jù)包可以通過路由器等設備被轉發(fā)到目的設備(需注意的是,這里的目的設備是用于接收并處理該網(wǎng)絡數(shù)據(jù)包的設備,而非本發(fā)明實施例中用于宿主有遷移過來的虛擬機的目的主機)。
      [0112]在接收到確認消息后再輸出帶標記的網(wǎng)絡數(shù)據(jù)包,可以保證主虛擬機和備虛擬機對外輸出的一致性,具體可以理解為:在同步主虛擬機的狀態(tài)信息的過程中源主機的物理硬件出現(xiàn)故障,備虛擬機會根據(jù)上一次同步來的主虛擬機的狀態(tài)信息重新產(chǎn)生與設置有標記的網(wǎng)絡數(shù)據(jù)包相同的網(wǎng)絡數(shù)據(jù)包,由目的主機向外輸出這些相同的網(wǎng)絡數(shù)據(jù)包,源主機上的設置有標記的網(wǎng)絡數(shù)據(jù)包就會隨著源主機物理硬件的故障而被丟棄,從而保證對接收這些網(wǎng)絡數(shù)據(jù)包的目的設備數(shù)據(jù)接收的連續(xù)性,不會接收到重復的網(wǎng)絡數(shù)據(jù)包,如果在源主機接收到確認消息后,源主機的物理硬件出現(xiàn)故障,則目的主機會根據(jù)剛同步過來的主虛擬機的狀態(tài)信息接替主虛擬機的工作,不會再產(chǎn)生源主機中設置有標記的網(wǎng)絡數(shù)據(jù)包,而是產(chǎn)生虛擬機啟動后再運行所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包,這樣,源主機在接收到確認消息后已經(jīng)將帶標記的網(wǎng)絡數(shù)據(jù)包輸出到目的設備,依然可以保持目的設備數(shù)據(jù)接收的連續(xù)性。
      [0113]可選地,在上述圖5對應的可選實施例的基礎上,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的另一實施例中,所述接收所述目的主機發(fā)送的確認消息之后,所述方法還可以包括:
      [0114]根據(jù)所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      [0115]本發(fā)明實施例中,在目的主機中完成備虛擬機的同步后,刪除存儲器中存儲的主虛擬機的狀態(tài)信息,可以釋放存儲空間。
      [0116]可選地,在上述圖5對應的實施例或可選實施例的基礎上,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的另一實施例中,
      [0117]所述暫停所述主虛擬機之前,所述方法還包括:
      [0118]為所述主虛擬機的狀態(tài)信息確定所述存儲器。
      [0119]本發(fā)明實施例中,確定存儲器也可以是從存儲資源中為主虛擬機的狀態(tài)信息分配緩存。
      [0120]圖5對應的虛擬機的狀態(tài)信息同步的方法的幾個實施例的具體過程可以參閱圖1至圖4中的相關描述進行理解,本處不做過多贅述。
      [0121]參閱圖6,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的裝置的一實施例,所述裝置應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機和所述裝置,所述目的主機上運行有備虛擬機,其特征在于,所述裝置包括:
      [0122]第一控制單元201,用于在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;
      [0123]第二控制單元202,用于啟動運行所述第一控制單元201控制暫停的處于暫停狀態(tài)的所述主虛擬機;
      [0124]獲取單元203,用于在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述第一控制單元201控制存入的所述狀態(tài)信息;
      [0125]發(fā)送單元204,用于將所述獲取單元203獲取的所述主虛擬機的狀態(tài)信息發(fā)送到所述目的主機,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0126]本發(fā)明實施例中,第一控制單元201在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;第二控制單元202啟動運行所述第一控制單元201控制暫停的處于暫停狀態(tài)的所述主虛擬機;獲取單元203在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述第一控制單元控制存入的所述狀態(tài)信息;發(fā)送單元204將所述獲取單元203獲取的所述主虛擬機的狀態(tài)信息發(fā)送到所述目的主機,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。與現(xiàn)有技術中暫停主虛擬機后,源主機向目的主機發(fā)送主虛擬機的狀態(tài)信息,直到接收到目的主機發(fā)送的確認響應后,才會恢復主虛擬機運行,導致暫停主虛擬機的時間過長,計算性能差相比,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的裝置,可以將虛擬機的狀態(tài)信息存入存儲器,然后啟動主虛擬機運行,在所述主虛擬機處于運行狀態(tài)時,再從存儲器中獲取主虛擬機的狀態(tài)信息進行同步,這樣,縮短了主虛擬機的暫停時間,從而提高了主虛擬機的計算性能。
      [0127]可選地,在上述圖6對應的實施例的基礎上,參閱圖7,本發(fā)明實施例提供的同步的裝置的另一實施例中,所述同步的裝置還包括:設置單元205和接收單元206,所述設置單元205,用于在所述第一控制單元201暫停所述主虛擬機時,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包。
      [0128]所述接收單元206,用于接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息;
      [0129]所述發(fā)送單元204,用于根據(jù)所述接收單元206接收的所述確認消息,將所述設置單元設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0130]本發(fā)明實施例中,從源主機輸出設置有標記的網(wǎng)絡數(shù)據(jù)包是指將標記的網(wǎng)絡數(shù)據(jù)包從所述源主機輸出,這些帶標記的網(wǎng)絡數(shù)據(jù)包可以通過路由器等設備被轉發(fā)到目的設備(需注意的是,這里的目的設備是用于接收并處理該網(wǎng)絡數(shù)據(jù)包的設備,而非本發(fā)明實施例中用于宿主有遷移過來的虛擬機的目的主機)。
      [0131]在接收到確認消息后再輸出帶標記的網(wǎng)絡數(shù)據(jù)包,可以保證主虛擬機和備虛擬機對外輸出的一致性,具體可以理解為:在同步主虛擬機的狀態(tài)信息的過程中源主機的物理硬件出現(xiàn)故障,備虛擬機會根據(jù)上一次同步來的主虛擬機的狀態(tài)信息重新產(chǎn)生與設置有標記的網(wǎng)絡數(shù)據(jù)包相同的網(wǎng)絡數(shù)據(jù)包,由目的主機向外輸出這些相同的網(wǎng)絡數(shù)據(jù)包,源主機上的設置有標記的網(wǎng)絡數(shù)據(jù)包就會隨著源主機物理硬件的故障而被丟棄,從而保證對接收這些網(wǎng)絡數(shù)據(jù)包的目的設備數(shù)據(jù)接收的連續(xù)性,不會接收到重復的網(wǎng)絡數(shù)據(jù)包,如果在源主機接收到確認消息后,源主機的物理硬件出現(xiàn)故障,則目的主機會根據(jù)剛同步過來的主虛擬機的狀態(tài)信息接替主虛擬機的工作,不會再產(chǎn)生源主機中設置有標記的網(wǎng)絡數(shù)據(jù)包,而是產(chǎn)生虛擬機啟動后再運行所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包,這樣,源主機在接收到確認消息后已經(jīng)將帶標記的網(wǎng)絡數(shù)據(jù)包輸出到目的設備,依然可以保持目的設備數(shù)據(jù)接收的連續(xù)性。
      [0132]可選地,在上述圖7對應的實施例的基礎上,參閱圖8,本發(fā)明實施例提供的同步的裝置的另一實施例中,所述同步的裝置還包括:
      [0133]刪除單元207,用于根據(jù)所述接收單元206接收的所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      [0134]本發(fā)明實施例中,在目的主機中完成備虛擬機的同步后,刪除存儲器中存儲的主虛擬機的狀態(tài)信息,可以釋放存儲空間。
      [0135]可選地,在上述圖8對應的實施例的基礎上,參閱圖9,本發(fā)明實施例提供的同步的裝置的另一實施例中,所述裝置還包括:
      [0136]確定單元208,用于在所述第一控制單元201暫停所述主虛擬機之前,為所述主虛擬機的狀態(tài)信息確定所述存儲器。
      [0137]本發(fā)明實施例所提供的虛擬機的狀態(tài)信息同步的裝置可以參閱圖1至圖5部分的方法實施例的描述進行理解,本處不做過多贅述。
      [0138]參閱圖10,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的一實施例包括:
      [0139]所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機包括處理器、存儲器和輸入/輸出I/o設備,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,其特征在于,所述方法包括:
      [0140]所述處理器暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器;
      [0141]所述處理器啟動運行處于暫停狀態(tài)的所述主虛擬機;
      [0142]所述處理器在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息;
      [0143]所述處理器觸發(fā)所述源主機的所述輸入/輸出設備將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0144]與現(xiàn)有技術中暫停主虛擬機后,源主機向目的主機發(fā)送主虛擬機的狀態(tài)信息,直到接收到目的主機發(fā)送的確認響應后,才會恢復主虛擬機運行,導致暫停主虛擬機的時間過長,計算性能差相比,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法,可以將虛擬機的狀態(tài)信息存入存儲器,然后啟動主虛擬機運行,在所述主虛擬機處于運行狀態(tài)時,再從存儲器中獲取主虛擬機的狀態(tài)信息進行同步,這樣,縮短了主虛擬機的暫停時間,從而提高了主虛擬機的計算性能。
      [0145]可選地,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的另一實施例中,所述暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,所述方法還可以包括:
      [0146]所述處理器為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0147]接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息;
      [0148]根據(jù)所述確認消息,將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0149]本發(fā)明實施例中,從源主機輸出設置有標記的網(wǎng)絡數(shù)據(jù)包是指將標記的網(wǎng)絡數(shù)據(jù)包從所述源主機輸出,這些帶標記的網(wǎng)絡數(shù)據(jù)包可以通過路由器等設備被轉發(fā)到目的設備(需注意的是,這里的目的設備是用于接收并處理該網(wǎng)絡數(shù)據(jù)包的設備,而非本發(fā)明實施例中用于宿主有遷移過來的虛擬機的目的主機)。
      [0150]在接收到確認消息后再輸出帶標記的網(wǎng)絡數(shù)據(jù)包,可以保證主虛擬機和備虛擬機對外輸出的一致性,具體可以理解為:在同步主虛擬機的狀態(tài)信息的過程中源主機的物理硬件出現(xiàn)故障,備虛擬機會根據(jù)上一次同步來的主虛擬機的狀態(tài)信息重新產(chǎn)生與設置有標記的網(wǎng)絡數(shù)據(jù)包相同的網(wǎng)絡數(shù)據(jù)包,由目的主機向外輸出這些相同的網(wǎng)絡數(shù)據(jù)包,源主機上的設置有標記的網(wǎng)絡數(shù)據(jù)包就會隨著源主機物理硬件的故障而被丟棄,從而保證對接收這些網(wǎng)絡數(shù)據(jù)包的目的設備數(shù)據(jù)接收的連續(xù)性,不會接收到重復的網(wǎng)絡數(shù)據(jù)包,如果在源主機接收到確認消息后,源主機的物理硬件出現(xiàn)故障,則目的主機會根據(jù)剛同步過來的主虛擬機的狀態(tài)信息接替主虛擬機的工作,不會再產(chǎn)生源主機中設置有標記的網(wǎng)絡數(shù)據(jù)包,而是產(chǎn)生虛擬機啟動后再運行所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包,這樣,源主機在接收到確認消息后已經(jīng)將帶標記的網(wǎng)絡數(shù)據(jù)包輸出到目的設備,依然可以保持目的設備數(shù)據(jù)接收的連續(xù)性。
      [0151 ] 可選地,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的另一實施例中,所述接收所述目的主機發(fā)送的確認消息之后,所述方法還包括:
      [0152]根據(jù)所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      [0153]本發(fā)明實施例中,在目的主機中完成備虛擬機的同步后,刪除存儲器中存儲的主虛擬機的狀態(tài)信息,可以釋放存儲空間。
      [0154]可選地,本發(fā)明實施例提供的虛擬機的狀態(tài)信息同步的方法的另一實施例中,
      [0155]所述暫停所述主虛擬機之前,所述方法還包括:
      [0156]為所述主虛擬機的狀態(tài)信息確定所述存儲器。
      [0157]圖11是本發(fā)明實施例提供的源主機2的結構示意圖。所述源主機2應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機2和目的主機,所述源主機2包括處理器210、存儲器250、和輸入/輸出設備230 (可選的),所述存儲器上運行有主虛擬機2501,所述目的主機上運行有備虛擬機,存儲器250可以包括只讀存儲器和隨機存取存儲器,并向處理器210提供操作指令和數(shù)據(jù)。存儲器250的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。
      [0158]在一些實施方式中,存儲器250存儲了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結構,或者他們的子集,或者他們的擴展集:
      [0159]宿主機2502:作為管理層,用以完成硬件資源的管理、分配;為虛擬機呈現(xiàn)虛擬硬件平臺;實現(xiàn)虛擬機的調度和隔離。其中,Host可能是虛擬機監(jiān)控器(VMM);此外,有時VMM和I個特權虛擬機配合,兩者結合組成Host。其中,虛擬硬件平臺對其上運行的各個虛擬機提供各種硬件資源,如提供虛擬處理器、內(nèi)存、虛擬磁盤、虛擬網(wǎng)卡等等。其中,該虛擬磁盤可對應Host的一個文件或者一個邏輯塊設備。虛擬機則運行在Host為其準備的虛擬硬件平臺上,Host上運行一個或多個虛擬機。
      [0160]虛擬機2501:通過虛擬機軟件可以在一臺物理計算機上模擬出一臺或者多臺虛擬的計算機,而這些虛擬機就像真正的計算機那樣進行工作,虛擬機上可以安裝操作系統(tǒng)和應用程序,虛擬機還可訪問網(wǎng)絡資源。對于在虛擬機中運行的應用程序而言,虛擬機就像是在真正的計算機中進行工作。
      [0161]在本發(fā)明實施例中,通過調用存儲器250存儲的操作指令(該操作指令可存儲在操作系統(tǒng)中),在源主機向目的主機同步所述主虛擬機的狀態(tài)信息時,
      [0162]處理器210用于:
      [0163]暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述存儲器的存儲器;
      [0164]啟動運行處于暫停狀態(tài)的所述主虛擬機;
      [0165]在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息;
      [0166]觸發(fā)所述源主機的所述輸入/輸出設備將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0167]可見,本發(fā)明實施例中,源主機2在同步主虛擬機的狀態(tài)信息時,可以將主虛擬機的狀態(tài)信息存入存儲器,然后啟動主虛擬機運行,再從存儲器中獲取虛擬機的狀態(tài)信息進行同步,這樣,縮短了主虛擬機的暫停時間,提高了主虛擬機的計算性能。
      [0168]處理器210控制源主機2的操作,處理器210還可以稱為CPU (Central ProcessingUnit,中央處理單元)。存儲器250可以包括只讀存儲器和隨機存取存儲器,并向處理器210提供指令和數(shù)據(jù)。存儲器250的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。具體的應用中源主機2的各個組件通過總線系統(tǒng)220耦合在一起,其中總線系統(tǒng)220除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。但是為了清楚說明起見,在圖中將各種總線都標為總線系統(tǒng)220。
      [0169]上述本發(fā)明實施例揭示的方法可以應用于處理器210中,或者由處理器210實現(xiàn)。處理器210可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器210中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器210可以是通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器250,處理器210讀取存儲器250中的信息,結合其硬件完成上述方法的步驟。
      [0170]可選地,處理器210還用于暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0171]輸入/輸出設備230用于接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息;
      [0172]處理器210還可根據(jù)所述確認消息,將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0173]本發(fā)明實施例中,釋放標記的網(wǎng)絡數(shù)據(jù)包是指將標記的網(wǎng)絡數(shù)據(jù)包從所述源主機輸出,這些帶標記的網(wǎng)絡數(shù)據(jù)包可以通過路由器等設備被轉發(fā)到目的設備(需注意的是,這里的目的設備是用于接收并處理該網(wǎng)絡數(shù)據(jù)包的設備,而非本發(fā)明實施例中用于宿主有遷移過來的虛擬機的目的主機)。
      [0174]在接收到確認消息后再輸出帶標記的網(wǎng)絡數(shù)據(jù)包,可以保證主虛擬機和備虛擬機對外輸出的一致性,具體可以理解為:在同步主虛擬機的狀態(tài)信息的過程中源主機的物理硬件出現(xiàn)故障,備虛擬機會根據(jù)上一次同步來的主虛擬機的狀態(tài)信息重新產(chǎn)生與設置有標記的網(wǎng)絡數(shù)據(jù)包相同的網(wǎng)絡數(shù)據(jù)包,由目的主機向外輸出這些相同的網(wǎng)絡數(shù)據(jù)包,源主機上的設置有標記的網(wǎng)絡數(shù)據(jù)包就會隨著源主機物理硬件的故障而被丟棄,從而保證對接收這些網(wǎng)絡數(shù)據(jù)包的目的設備數(shù)據(jù)接收的連續(xù)性,不會接收到重復的網(wǎng)絡數(shù)據(jù)包,如果在源主機接收到確認消息后,源主機的物理硬件出現(xiàn)故障,則目的主機會根據(jù)剛同步過來的主虛擬機的狀態(tài)信息接替主虛擬機的工作,不會再產(chǎn)生源主機中設置有標記的網(wǎng)絡數(shù)據(jù)包,而是產(chǎn)生虛擬機啟動后再運行所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包,這樣,源主機在接收到確認消息后已經(jīng)將帶標記的網(wǎng)絡數(shù)據(jù)包輸出到目的設備,依然可以保持目的設備數(shù)據(jù)接收的連續(xù)性。
      [0175]可選地,所述處理器210還用于根據(jù)所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      [0176]本發(fā)明實施例中,在目的主機中完成備虛擬機的同步后,刪除存儲器中存儲的主虛擬機的狀態(tài)信息,可以釋放存儲空間。
      [0177]可選地,所述處理器210還用于暫停所述主虛擬機之前,為所述主虛擬機的狀態(tài)信息確定所述存儲器。
      [0178]參閱圖12,本發(fā)明實施例提供的虛擬機容錯系統(tǒng)的一實施例包括:源主機和2目的主機3,所述源主機2上運行有主虛擬機,例如:VM1、VM2和VM3,源主機2上還運行有宿主機22,宿主機22中部署有主端的虛擬機的狀態(tài)信息同步的裝置20,以及硬件層21,所述目的主機3上運行有備虛擬機,例如:VM4、VM5和VM6,目的主機3上還運行有宿主機32,宿主機32中部署有備端的虛擬機的狀態(tài)信息同步的裝置30,以及硬件層31。
      [0179]源主機與目的主機之間主虛擬機的狀態(tài)信息同步的過程,實際上可以理解為是主端的虛擬機的狀態(tài)信息同步的裝置20與備端的虛擬機的狀態(tài)信息同步的裝置30之間的交互過程,例如:如圖2中的FT_M進程和FT_S進程之間的交互過程。圖3中的QEMU_M進程和QEMU_S進程之間的交互過程。
      [0180]所述源主機2,用于在向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器,啟動運行處于暫停狀態(tài)的所述主虛擬機,在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送;
      [0181]所述目的主機3,用于根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0182]具體更新過程可以是用本次接收到的主虛擬機的狀態(tài)信息替換上次接收到的主虛擬機的狀態(tài)信息。
      [0183]與現(xiàn)有技術中暫停主虛擬機后,源主機向目的主機發(fā)送主虛擬機的狀態(tài)信息,直到接收到目的主機發(fā)送的確認響應后,才會恢復主虛擬機運行,導致暫停主虛擬機的時間過長,計算性能差相比,本發(fā)明實施例提供的容錯系統(tǒng),可以將虛擬機的狀態(tài)信息存入存儲器,然后啟動主虛擬機運行,在所述主虛擬機處于運行狀態(tài)時,再從存儲器中獲取主虛擬機的狀態(tài)信息進行同步,這樣,縮短了主虛擬機的暫停時間,從而提高了主虛擬機的計算性倉泛。
      [0184]可選地,所述源主機2還用于:暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0185]接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息,根據(jù)所述確認消息,將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0186]本發(fā)明實施例中,釋放標記的網(wǎng)絡數(shù)據(jù)包是指將標記的網(wǎng)絡數(shù)據(jù)包從所述源主機輸出,這些帶標記的網(wǎng)絡數(shù)據(jù)包可以通過路由器等設備被轉發(fā)到目的設備(需注意的是,這里的目的設備是用于接收并處理該網(wǎng)絡數(shù)據(jù)包的設備,而非本發(fā)明實施例中用于宿主有遷移過來的虛擬機的目的主機)。
      [0187]在接收到確認消息后再輸出帶標記的網(wǎng)絡數(shù)據(jù)包,可以保證主虛擬機和備虛擬機對外輸出的一致性,具體可以理解為:在同步主虛擬機的狀態(tài)信息的過程中源主機的物理硬件出現(xiàn)故障,備虛擬機會根據(jù)上一次同步來的主虛擬機的狀態(tài)信息重新產(chǎn)生與設置有標記的網(wǎng)絡數(shù)據(jù)包相同的網(wǎng)絡數(shù)據(jù)包,由目的主機向外輸出這些相同的網(wǎng)絡數(shù)據(jù)包,源主機上的設置有標記的網(wǎng)絡數(shù)據(jù)包就會隨著源主機物理硬件的故障而被丟棄,從而保證對接收這些網(wǎng)絡數(shù)據(jù)包的目的設備數(shù)據(jù)接收的連續(xù)性,不會接收到重復的網(wǎng)絡數(shù)據(jù)包,如果在源主機接收到確認消息后,源主機的物理硬件出現(xiàn)故障,則目的主機會根據(jù)剛同步過來的主虛擬機的狀態(tài)信息接替主虛擬機的工作,不會再產(chǎn)生源主機中設置有標記的網(wǎng)絡數(shù)據(jù)包,而是產(chǎn)生虛擬機啟動后再運行所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包,這樣,源主機在接收到確認消息后已經(jīng)將帶標記的網(wǎng)絡數(shù)據(jù)包輸出到目的設備,依然可以保持目的設備數(shù)據(jù)接收的連續(xù)性。
      [0188]本發(fā)明實施例中所提供的源主機可以參閱裝置實施例部分的描述進行理解,本處不做過多贅述。
      [0189]參閱圖13,本發(fā)明實施例提供的虛擬機容錯系統(tǒng)的另一實施例包括:
      [0190]所述虛擬機容錯系統(tǒng)包括源主機2和目的主機3,所述源主機2上運行有主虛擬機2501,所述目的主機3上運行有備虛擬機3501,在所述源主機2向所述目的主機3,所述源主機2的結構可以參閱圖11所對應的實施例進行理解,目的主機3的硬件結構與源主機2相同。
      [0191]在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,所述源主機2,用于在向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器,啟動運行處于暫停狀態(tài)的所述主虛擬機,在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送;
      [0192]所述目的主機3,用于根據(jù)接收到的所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      [0193]具體更新過程可以是用本次接收到的主虛擬機的狀態(tài)信息替換上次接收到的主虛擬機的狀態(tài)信息。
      [0194]與現(xiàn)有技術中暫停主虛擬機后,源主機向目的主機發(fā)送主虛擬機的狀態(tài)信息,直到接收到目的主機發(fā)送的確認響應后,才會恢復主虛擬機運行,導致暫停主虛擬機的時間過長,計算性能差相比,本發(fā)明實施例提供的容錯系統(tǒng),可以將虛擬機的狀態(tài)信息存入存儲器,然后啟動主虛擬機運行,在所述主虛擬機處于運行狀態(tài)時,再從存儲器中獲取主虛擬機的狀態(tài)信息進行同步,這樣,縮短了主虛擬機的暫停時間,從而提高了主虛擬機的計算性倉泛。
      [0195]可選地,所述源主機2還用于:暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包;
      [0196]接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息,根據(jù)所述確認消息,將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      [0197]本發(fā)明實施例中,釋放標記的網(wǎng)絡數(shù)據(jù)包是指將標記的網(wǎng)絡數(shù)據(jù)包從所述源主機輸出,這些帶標記的網(wǎng)絡數(shù)據(jù)包可以通過路由器等設備被轉發(fā)到目的設備(需注意的是,這里的目的設備是用于接收并處理該網(wǎng)絡數(shù)據(jù)包的設備,而非本發(fā)明實施例中用于宿主有遷移過來的虛擬機的目的主機)。
      [0198]在接收到確認消息后再輸出帶標記的網(wǎng)絡數(shù)據(jù)包,可以保證主虛擬機和備虛擬機對外輸出的一致性,具體可以理解為:在同步主虛擬機的狀態(tài)信息的過程中源主機的物理硬件出現(xiàn)故障,備虛擬機會根據(jù)上一次同步來的主虛擬機的狀態(tài)信息重新產(chǎn)生與設置有標記的網(wǎng)絡數(shù)據(jù)包相同的網(wǎng)絡數(shù)據(jù)包,由目的主機向外輸出這些相同的網(wǎng)絡數(shù)據(jù)包,源主機上的設置有標記的網(wǎng)絡數(shù)據(jù)包就會隨著源主機物理硬件的故障而被丟棄,從而保證對接收這些網(wǎng)絡數(shù)據(jù)包的目的設備數(shù)據(jù)接收的連續(xù)性,不會接收到重復的網(wǎng)絡數(shù)據(jù)包,如果在源主機接收到確認消息后,源主機的物理硬件出現(xiàn)故障,則目的主機會根據(jù)剛同步過來的主虛擬機的狀態(tài)信息接替主虛擬機的工作,不會再產(chǎn)生源主機中設置有標記的網(wǎng)絡數(shù)據(jù)包,而是產(chǎn)生虛擬機啟動后再運行所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包,這樣,源主機在接收到確認消息后已經(jīng)將帶標記的網(wǎng)絡數(shù)據(jù)包輸出到目的設備,依然可以保持目的設備數(shù)據(jù)接收的連續(xù)性。
      [0199]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件(例如處理器)來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:R0M、RAM、磁盤或光盤等。
      [0200]以上對本發(fā)明實施例所提供的虛擬機的狀態(tài)信息同步的方法、裝置以及系統(tǒng)進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
      【權利要求】
      1.一種虛擬機的狀態(tài)信息同步的方法,所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,其特征在于,所述方法包括: 暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器; 啟動運行處于暫停狀態(tài)的所述主虛擬機; 在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      2.根據(jù)權利要求1所述的方法,其特征在于,所述暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,所述方法還包括: 為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包; 接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息; 根據(jù)所述確認消息,將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      3.根據(jù)權利要求2所述的方法,其特征在于,所述接收所述目的主機發(fā)送的確認消息之后,所述方法還包括: 根據(jù)所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      4.一種虛擬機的狀態(tài)信息同步的裝置,所述裝置應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機和所述裝置,所述目的主機上運行有備虛擬機,其特征在于,所述裝置包括: 第一控制單元,用于在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器; 第二控制單元,用于啟動運行所述第一控制單元控制暫停的處于暫停狀態(tài)的所述主虛擬機; 獲取單元,用于在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述第一控制單元控制存入的所述主虛擬機的狀態(tài)信息; 發(fā)送單元,用于將所述獲取單元獲取的所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      5.根據(jù)權利要求4所述的裝置,其特征在于,所述裝置還包括:設置單元和接收單元, 所述設置單元,用于在所述第一控制單元暫停所述主虛擬機時,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包; 所述接收單元,用于接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息; 所述發(fā)送單元,用于根據(jù)所述接收單元接收的所述確認消息,將所述設置單元設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      6.根據(jù)權利要求5所述的裝置,其特征在于,所述裝置還包括: 刪除單元,用于根據(jù)所述接收單元接收的所述確認消息,刪除所述存儲器中存儲的所述主虛擬機的狀態(tài)信息。
      7.—種虛擬機的狀態(tài)信息同步的方法,所述方法應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機包括處理器、存儲器和輸入/輸出I/O設備,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,其特征在于,所述方法包括: 所述處理器暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的所述存儲器; 所述處理器啟動運行處于暫停狀態(tài)的所述主虛擬機; 所述處理器在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息; 所述處理器觸發(fā)所述源主機的所述輸入/輸出設備將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      8.—種源主機,其特征在于,所述源主機應用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括所述源主機和目的主機,所述源主機包括處理器、存儲器和輸入/輸出I/O設備,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,其特征在于, 所述處理器用于: 暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述存儲器存儲器; 啟動運行處于暫停狀態(tài)的所述主虛擬機; 在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息; 觸發(fā)所述源主機的所述輸入/輸出設備將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送,以便所述目的主機根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      9.一種虛擬機容錯系統(tǒng),其特征在于,所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,其特征在于,所述源主機包括如權利要求4至6任一項所述的虛擬機的狀態(tài)信息同步的裝置,以及; 所述目的主機用于根據(jù)所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      10.一種虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括源主機和目的主機,所述源主機上運行有主虛擬機,所述目的主機上運行有備虛擬機,在所述源主機向所述目的主機同步所述主虛擬機的狀態(tài)信息時,其特征在于, 所述源主機,用于在向所述目的主機同步所述主虛擬機的狀態(tài)信息時,暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器,啟動運行處于暫停狀態(tài)的所述主虛擬機,在所述主虛擬機處于運行狀態(tài)的同時,從所述存儲器中獲取所述主虛擬機的狀態(tài)信息,并將所述主虛擬機的狀態(tài)信息向所述目的主機發(fā)送; 所述目的主機,用于根據(jù)接收到的所述主虛擬機的狀態(tài)信息更新所述備虛擬機的狀態(tài)。
      11.根據(jù)權利要求10所述的虛擬機容錯系統(tǒng),其特征在于, 所述源主機還用于:在暫停所述主虛擬機,并將所述主虛擬機的狀態(tài)信息存入所述源主機的存儲器時或之后,為所述主虛擬機輸出的網(wǎng)絡數(shù)據(jù)包設置標記,所述標記用于指示所述網(wǎng)絡數(shù)據(jù)包為上次所述主虛擬機啟動后與本次所述主虛擬機暫停的時間間隔內(nèi)所述主虛擬機所產(chǎn)生的網(wǎng)絡數(shù)據(jù)包; 所述源主機還用于:接收所述目的主機發(fā)送的確認消息,所述確認消息用于指示所述目的主機已接收到所述主虛擬機的狀態(tài)信息,并根據(jù)所述確認消息將設置有所述標記的網(wǎng)絡數(shù)據(jù)包從所述源主機中輸出。
      【文檔編號】G06F9/52GK104239120SQ201410431477
      【公開日】2014年12月24日 申請日期:2014年8月28日 優(yōu)先權日:2014年8月28日
      【發(fā)明者】洪濤, 楊曉偉 申請人:華為技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1