建立用于虛擬機的冗余連接的方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及虛擬化技術,具體地,涉及建立用于虛擬機的冗余連接的方法及裝置。
【背景技術】
[0002]在例如云計算網(wǎng)絡的分布式網(wǎng)絡中,通常有兩種類型的節(jié)點,即計算節(jié)點和存儲節(jié)點。計算節(jié)點可提供安裝虛擬機所需的計算資源,例如CPU和內存,而存儲節(jié)點可存儲并提供虛擬機鏡像。相對于存儲節(jié)點,計算節(jié)點是客戶端設備。
[0003]當在計算節(jié)點上安裝虛擬機時,需要載入虛擬機鏡像以完成虛擬機系統(tǒng)的初始配置。因此,在計算節(jié)點與存儲節(jié)點之間需要建立連接以傳輸虛擬機鏡像。
[0004]在現(xiàn)有技術中,可以使用因特網(wǎng)小型計算機系統(tǒng)接口(Internet Small ComputerSystem Interface,縮寫為iSCSI)協(xié)議來建立計算節(jié)點與存儲節(jié)點之間的連接。iSCSI協(xié)議能夠實現(xiàn)在IP網(wǎng)絡上的主機系統(tǒng)(啟動器)和存儲設備(目標器)之間進行大量數(shù)據(jù)的封裝和可靠傳輸。
[0005]為了虛擬機的高可用性,通常,在多個存儲節(jié)點上存儲有相同的虛擬機鏡像。計算節(jié)點可選擇任意一個存儲節(jié)點來建立iSCSI連接,從而訪問該存儲節(jié)點以獲取虛擬機鏡像。
[0006]然而,這樣的連接容易受到網(wǎng)絡的影響。如果連接中的任意一個節(jié)點出現(xiàn)故障,都會導致該連接中斷,從而造成虛擬機崩潰。
[0007]此外,在存儲相同的虛擬機鏡像的多個存儲節(jié)點可用時,如何選擇最合適的存儲節(jié)點來提供虛擬機鏡像也是重要的問題。
【發(fā)明內容】
[0008]本發(fā)明的實施例提供了一種建立用于虛擬機的冗余連接的方法及裝置。
[0009]根據(jù)本發(fā)明的一個方面,提供了一種建立用于虛擬機的冗余連接的方法,包括:獲取存儲虛擬機的相同的虛擬機鏡像的多個存儲節(jié)點;至少兩個存儲節(jié)點從所述多個存儲節(jié)點中確定至少兩個存儲節(jié)點,以使得安裝所述虛擬機的計算節(jié)點與所述至少兩個存儲節(jié)點的各個之間的連接的相關性最??;以及在所述計算節(jié)點與所述至少兩個存儲節(jié)點之間分別建立連接。
[0010]根據(jù)本發(fā)明的另一個方面,提供了一種建立用于虛擬機的冗余連接的裝置,包括:節(jié)點獲取模塊,其被配置為獲取存儲虛擬機的相同的虛擬機鏡像的多個存儲節(jié)點;選擇模塊,其被配置為從所述多個存儲節(jié)點中確定至少兩個存儲節(jié)點,以使得安裝所述虛擬機的計算節(jié)點與所述至少兩個存儲節(jié)點的各個之間的連接的相關性最??;以及連接建立模塊,其被配置為在所述計算節(jié)點與所述至少兩個存儲節(jié)點之間分別建立連接。
[0011]根據(jù)本發(fā)明的實施例的方法及裝置能夠為安裝在計算節(jié)點上的虛擬機提供冗余的連接以防止由于連接的斷開而導致虛擬機的崩潰,從而提高連接的可靠性。
【附圖說明】
[0012]通過結合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標號通常代表相同部件。
[0013]圖1示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機系統(tǒng)/服務器12的框圖;
[0014]圖2是根據(jù)本發(fā)明的一個實施例的建立用于虛擬機的冗余連接的方法的流程圖;
[0015]圖3是圖2所示的實施例中選擇存儲節(jié)點的步驟的流程圖;
[0016]圖4是根據(jù)本發(fā)明的另一個實施例的建立用于虛擬機的冗余連接的方法的流程圖;
[0017]圖5是根據(jù)本發(fā)明的一個實施例的建立用于虛擬機的冗余連接的裝置的示意性方框圖;
[0018]圖6是根據(jù)本發(fā)明的另一個實施例的建立用于虛擬機的冗余連接的裝置的示意性方框圖。
【具體實施方式】
[0019]下面將參照附圖更詳細地描述本公開的優(yōu)選實施方式。雖然附圖中顯示了本公開的優(yōu)選實施方式,然而應該理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施方式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的范圍完整地傳達給本領域的技術人員。
[0020]圖1示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機系統(tǒng)/服務器12的框圖。圖1顯示的計算機系統(tǒng)/服務器12僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。
[0021]如圖1所示,計算機系統(tǒng)/服務器12以通用計算設備的形式表現(xiàn)。計算機系統(tǒng)/服務器12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統(tǒng)存儲器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器28和處理單元16)的總線18。
[0022]總線18表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉例來說,這些體系結構包括但不限于工業(yè)標準體系結構(ISA)總線,微通道體系結構(MAC)總線,增強型ISA總線、視頻電子標準協(xié)會(VESA)局域總線以及外圍組件互連(PCI)總線。
[0023]計算機系統(tǒng)/服務器12典型地包括多種計算機系統(tǒng)可讀介質。這些介質可以是任何能夠被計算機系統(tǒng)/服務器12訪問的可用介質,包括易失性和非易失性介質,可移動的和不可移動的介質。
[0024]系統(tǒng)存儲器28可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質,例如隨機存取存儲器(RAM)30和/或高速緩存存儲器32。計算機系統(tǒng)/服務器12可以進一步包括其它可移動/不可移動的、易失性/非易失性計算機系統(tǒng)存儲介質。僅作為舉例,存儲系統(tǒng)34可以用于讀寫不可移動的、非易失性磁介質(圖1未顯示,通常稱為“硬盤驅動器”)。盡管圖1中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅動器,以及對可移動非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質)讀寫的光盤驅動器。在這些情況下,每個驅動器可以通過一個或者多個數(shù)據(jù)介質接口與總線18相連。存儲器28可以包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。
[0025]具有一組(至少一個)程序模塊42的程序/實用工具40,可以存儲在例如存儲器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個或者多個應用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡環(huán)境的實現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。
[0026]計算機系統(tǒng)/服務器12也可以與一個或多個外部設備14 (例如鍵盤、指向設備、顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機系統(tǒng)/服務器12交互的設備通信,和/或與使得該計算機系統(tǒng)/服務器12能與一個或多個其它計算設備進行通信的任何設備(例如網(wǎng)卡,調制解調器等等)通信。這種通信可以通過輸入/輸出(I/O)接口 22進行。并且,計算機系統(tǒng)/服務器12還可以通過網(wǎng)絡適配器20與一個或者多個網(wǎng)絡(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡,例如因特網(wǎng))通信。如圖所示,網(wǎng)絡適配器20通過總線18與計算機系統(tǒng)/服務器12的其它模塊通信。應當明白,盡管圖中未示出,可以結合計算機系統(tǒng)/服務器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、RAID系統(tǒng)、磁帶驅動器以及數(shù)據(jù)備份存儲系統(tǒng)等。
[0027]圖2示出了根據(jù)本發(fā)明的一個實施例的建立用于虛擬機的冗余連接的方法的流程圖。以下結合附圖,對本實施例進行詳細描述。
[0028]本實施例的方法可以應用于諸如云計算網(wǎng)絡的分布式網(wǎng)絡,并可由分布式網(wǎng)絡中的計算節(jié)點或者獨立于計算節(jié)點和存儲節(jié)點的另一個節(jié)點執(zhí)行。如前所述,計算節(jié)點可用于提供安裝虛擬機所需的計算資源,例如CPU和內存。存儲節(jié)點可用于存儲并提供虛擬機的虛擬機鏡像。此外,用于同一個虛擬機的相同的虛擬機鏡像可分別存儲在多個存儲節(jié)點上。
[0029]如圖2所示,首先,在步驟S210,獲取存儲虛擬機的相同的虛擬機鏡像的多個存儲節(jié)點。在該步驟中,可向分布式網(wǎng)絡中的存儲節(jié)點發(fā)送查詢消息,然后,