用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的系統(tǒng)和方法
【專利說明】
【背景技術(shù)】
[0001]從關(guān)鍵業(yè)務(wù)應(yīng)用程序的角度來講,業(yè)務(wù)連續(xù)性和災(zāi)難恢復(fù)是指在中斷業(yè)務(wù)操作的災(zāi)難發(fā)生以后,恢復(fù)正常(或接近正常)業(yè)務(wù)操作的能力。業(yè)務(wù)連續(xù)性和災(zāi)難恢復(fù)可能需要能夠提供任務(wù)關(guān)鍵型應(yīng)用程序和這些應(yīng)用程序所依賴的數(shù)據(jù),并且需要能夠如業(yè)務(wù)要求所規(guī)定的那樣迅速地供用戶使用。
[0002]為了促進(jìn)業(yè)務(wù)連續(xù)性,有些組織可能想要在發(fā)生故障轉(zhuǎn)移時(shí)使用虛擬機(jī)內(nèi)的備份磁盤映像。例如,有些傳統(tǒng)系統(tǒng)可能會(huì)實(shí)例化虛擬機(jī)來使用備份磁盤映像,以便立即訪問數(shù)據(jù),并且還執(zhí)行磁盤映像從備份位置到產(chǎn)生位置的實(shí)時(shí)迀移。
[0003]遺憾的是,當(dāng)這些傳統(tǒng)系統(tǒng)實(shí)例化多個(gè)虛擬機(jī)時(shí),這些虛擬機(jī)可能遭受不良性能的影響。例如,在一個(gè)虛擬機(jī)的實(shí)時(shí)迀移過程中,由高輸入/輸出延遲造成的異步輸入/輸出操作可能會(huì)妨礙在另一個(gè)虛擬機(jī)內(nèi)運(yùn)行的應(yīng)用程序的同步輸入/輸出操作。
[0004]因此,本公開識(shí)別并解決對(duì)用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的另外且改善的系統(tǒng)和方法的需求。
【發(fā)明內(nèi)容】
[0005]如下文將更詳細(xì)地描述的,本公開整體涉及用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的系統(tǒng)和方法,這些系統(tǒng)和方法使用從超級(jí)管理程序到數(shù)據(jù)存儲(chǔ)庫(kù)的多個(gè)連接,并且在選擇用于實(shí)例化虛擬機(jī)的到數(shù)據(jù)存儲(chǔ)庫(kù)的連接時(shí),考慮經(jīng)由到數(shù)據(jù)存儲(chǔ)庫(kù)的連接實(shí)時(shí)迀移虛擬機(jī)而造成的推斷輸入/輸出負(fù)載和/或輸入/輸出延遲。
[0006]在一個(gè)例子中,一種用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的計(jì)算機(jī)實(shí)現(xiàn)的方法可包括:(1)識(shí)別可被配置為維持到一個(gè)網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的多個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的多個(gè)同時(shí)連接的超級(jí)管理程序;(2)接收激活超級(jí)管理程序上的新虛擬機(jī)的請(qǐng)求;(3)確定從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的至少一個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的至少一個(gè)連接的使用;(4)基于連接的使用來選擇從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接,供新虛擬機(jī)用來在網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)上存儲(chǔ)數(shù)據(jù)。
[0007]在一個(gè)實(shí)施例中,確定連接的使用可包括確定超級(jí)管理程序可被配置為維持到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的額外數(shù)據(jù)存儲(chǔ)庫(kù)的額外連接。在此實(shí)施例中,選擇到指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接可包括,選擇到額外數(shù)據(jù)存儲(chǔ)庫(kù)的額外連接,供新虛擬機(jī)用來在網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)上存儲(chǔ)數(shù)據(jù)。
[0008]在一個(gè)實(shí)施例中,確定連接的使用可包括確定超級(jí)管理程序已經(jīng)達(dá)到至網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的數(shù)據(jù)存儲(chǔ)庫(kù)的最大數(shù)量的連接。在此實(shí)施例中,選擇到指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接可包括,確定在到指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接上的輸入/輸出負(fù)載小于在到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的額外數(shù)據(jù)存儲(chǔ)庫(kù)的額外連接上的額外輸入/輸出負(fù)載。
[0009]在一些例子中,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接的使用可包括:(1)識(shí)別正通過使用到數(shù)據(jù)存儲(chǔ)庫(kù)的連接來恢復(fù)虛擬機(jī)備份的恢復(fù)操作;(2)識(shí)別恢復(fù)操作的進(jìn)展指示;(3)基于進(jìn)展指示來預(yù)測(cè)在到數(shù)據(jù)存儲(chǔ)庫(kù)的連接上的輸入/輸出負(fù)載。除此之外或作為另外一種選擇,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接的使用可包括:(1)識(shí)別用于對(duì)經(jīng)由到數(shù)據(jù)存儲(chǔ)庫(kù)的連接傳輸?shù)骄W(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的輸入/輸出操作排隊(duì)的輸入/輸出隊(duì)列;(2)基于輸入/輸出隊(duì)列的大小來預(yù)測(cè)至少一個(gè)額外輸入/輸出操作的預(yù)期延遲。
[0010]在一個(gè)實(shí)施例中,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接的使用可包括,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接用于異步輸入/輸出操作的程度。在此實(shí)施例中,選擇到指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接可至少部分地基于到數(shù)據(jù)存儲(chǔ)庫(kù)的連接用于異步輸入/輸出操作的程度。除此之外或作為另外一種選擇,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接的使用可包括,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接用于同步輸入/輸出操作的程度。在該例子中,選擇到指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接可至少部分地基于到數(shù)據(jù)存儲(chǔ)庫(kù)的連接用于同步輸入/輸出操作的程度。在一些例子中,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接的使用可包括,確定所述使用包括來自去重存儲(chǔ)系統(tǒng)的讀取操作。
[0011]在一些例子中,接收激活新虛擬機(jī)的請(qǐng)求可包括接收對(duì)新虛擬機(jī)執(zhí)行即時(shí)恢復(fù)的請(qǐng)求,其中即時(shí)恢復(fù)可包括在虛擬磁盤已經(jīng)完全恢復(fù)之前向應(yīng)用程序提供對(duì)存儲(chǔ)在新虛擬機(jī)的虛擬磁盤內(nèi)的數(shù)據(jù)的讀取/寫入訪問。
[0012]在一些例子中,確定到數(shù)據(jù)存儲(chǔ)庫(kù)的連接的使用可包括,確定所述使用包括即時(shí)恢復(fù)虛擬機(jī),其中即時(shí)恢復(fù)包括在虛擬磁盤已經(jīng)完全恢復(fù)之前向應(yīng)用程序提供對(duì)存儲(chǔ)在虛擬機(jī)的虛擬磁盤內(nèi)的數(shù)據(jù)的讀取/寫入訪問。
[0013]在一些例子中,該計(jì)算機(jī)實(shí)現(xiàn)的方法還可包括,使用從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接激活新虛擬機(jī)。
[0014]在一個(gè)實(shí)施例中,一種用于實(shí)現(xiàn)上述方法的系統(tǒng)可包括:(1)識(shí)別模塊,用于識(shí)別可被配置為維持到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的多個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的同時(shí)連接的超級(jí)管理程序;(2)接收模塊,用于接收激活超級(jí)管理程序上的新虛擬機(jī)的請(qǐng)求;(3)確定模塊,用于確定從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的至少一個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的至少一個(gè)連接的使用;(4)選擇模塊,用于基于連接的使用來選擇從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接,供新虛擬機(jī)用來在網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)上存儲(chǔ)數(shù)據(jù);(5)至少一個(gè)處理器,其被配置為執(zhí)行識(shí)別模塊、接收模塊、確定模塊和選擇模塊。
[0015]在一些例子中,上述方法可被編碼為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)可讀指令。例如,一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可包括一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行指令,所述指令在由計(jì)算設(shè)備的至少一個(gè)處理器執(zhí)行時(shí)可致使計(jì)算設(shè)備:(1)識(shí)別可被配置為維持到一個(gè)網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的多個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的多個(gè)同時(shí)連接的超級(jí)管理程序;(2)接收激活超級(jí)管理程序上的新虛擬機(jī)的請(qǐng)求;(3)確定從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的至少一個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的至少一個(gè)連接的使用;(4)基于連接的使用來選擇從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接,供新虛擬機(jī)用來在網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)上存儲(chǔ)數(shù)據(jù)。
[0016]來自上述實(shí)施例中的任何一者的特征可根據(jù)本文所述的一般原理彼此結(jié)合地使用。通過結(jié)合附圖和權(quán)利要求閱讀下面的詳細(xì)描述,將會(huì)更充分地理解這些和其他實(shí)施例、特征和優(yōu)點(diǎn)。
【附圖說明】
[0017]附圖示出了多個(gè)示例性實(shí)施例并且為說明書的一部分。這些附圖結(jié)合下面的描述展示并且說明本發(fā)明的各種原理。
[0018]圖1是用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的示例性系統(tǒng)的框圖。
[0019]圖2是用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的示例性系統(tǒng)的框圖。
[0020]圖3是用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的示例性方法的流程圖。
[0021]圖4是用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的示例性系統(tǒng)的框圖。
[0022]圖5為能夠?qū)崿F(xiàn)本文描述和/或示出的實(shí)施例中的一者或多者的示例性計(jì)算系統(tǒng)的框圖。
[0023]圖6為能夠?qū)崿F(xiàn)本文描述和/或示出的實(shí)施例中的一者或多者的示例性計(jì)算網(wǎng)絡(luò)的框圖。
[0024]在全部附圖中,相同引用字符和描述指示類似但未必相同的元件。雖然本文所述的示例性實(shí)施例易受各種修改和替代形式的影響,但在附圖中以舉例的方式示出了特定實(shí)施例并且將在本文詳細(xì)描述。然而,本文所述的示例性實(shí)施例并非旨在限于所公開的特定形式。相反,本發(fā)明涵蓋落在所附權(quán)利要求范圍內(nèi)的所有修改形式、等同形式和替代形式。
【具體實(shí)施方式】
[0025]本公開整體涉及用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的系統(tǒng)和方法。如下文將更詳細(xì)地解釋的,通過使用從超級(jí)管理程序到數(shù)據(jù)存儲(chǔ)庫(kù)的多個(gè)連接來分配多個(gè)虛擬機(jī)(例如,處于即時(shí)恢復(fù)和實(shí)時(shí)迀移的各個(gè)階段中的虛擬機(jī))的輸入/輸出負(fù)載,本文所述的系統(tǒng)可減少輸入/輸出延遲,從而改善虛擬機(jī)內(nèi)的應(yīng)用程序的性能。
[0026]下文將參考圖1、2和4提供對(duì)用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的示例性系統(tǒng)的詳細(xì)描述。還將結(jié)合圖3提供相應(yīng)計(jì)算機(jī)實(shí)現(xiàn)的方法的詳細(xì)描述。此外,將分別結(jié)合圖5和6提供能夠?qū)崿F(xiàn)本文所述的實(shí)施例中的一者或多者的示例性計(jì)算系統(tǒng)和網(wǎng)絡(luò)體系結(jié)構(gòu)的詳細(xì)描述。
[0027]圖1是用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)的示例性系統(tǒng)100的框圖。如該附圖所示,示例性系統(tǒng)100可包括用于執(zhí)行一個(gè)或多個(gè)任務(wù)的一個(gè)或多個(gè)模塊102。例如并且如下文將更詳細(xì)地解釋的,示例性系統(tǒng)100還可包括識(shí)別模塊104,該模塊可識(shí)別可被配置為維持到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的多個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的同時(shí)連接的超級(jí)管理程序。示例性系統(tǒng)100可額外包括接收模塊106,該模塊可接收激活超級(jí)管理程序上的新虛擬機(jī)的請(qǐng)求。示例性系統(tǒng)100還可包括確定模塊108,該模塊可確定從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的至少一個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的至少一個(gè)連接的使用。示例性系統(tǒng)100可額外包括選擇模塊110,該模塊可基于連接的使用來選擇從超級(jí)管理程序到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)的指定數(shù)據(jù)存儲(chǔ)庫(kù)的指定連接,供新虛擬機(jī)用來在網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)上存儲(chǔ)數(shù)據(jù)。雖然示出為獨(dú)立元件,但圖1中的一個(gè)或多個(gè)模塊102可表不單個(gè)模塊或應(yīng)用程序的部分。
[0028]在某些實(shí)施例中,圖1中的一個(gè)或多個(gè)模塊102可表不一個(gè)或多個(gè)軟件應(yīng)用程序或程序,這些軟件應(yīng)用程序或程序在由計(jì)算設(shè)備執(zhí)行時(shí)可致使計(jì)算設(shè)備執(zhí)行一個(gè)或多個(gè)任務(wù)。例如并且如下文將更詳細(xì)地描述的,一個(gè)或多個(gè)模塊102可表示存儲(chǔ)在一個(gè)或多個(gè)計(jì)算設(shè)備上并且被配置為在所述計(jì)算設(shè)備上運(yùn)行的軟件模塊,所述計(jì)算設(shè)備諸如為圖2中示出的設(shè)備(例如,計(jì)算設(shè)備202和/或超級(jí)管理程序206)、圖5中的計(jì)算系統(tǒng)510和/或圖6中的示例性網(wǎng)絡(luò)體系結(jié)構(gòu)600的部分。圖1中的一個(gè)或多個(gè)模塊102還可表示被配置為執(zhí)行一個(gè)或多個(gè)任務(wù)的一臺(tái)或多臺(tái)專用計(jì)算機(jī)的全部或部分。
[0029]圖1中的示例性系統(tǒng)100可以多種方式來實(shí)現(xiàn)。例如,示例性系統(tǒng)100的全部或部分可表示圖2中的示例性系統(tǒng)200的部分。如圖2所示,系統(tǒng)200可包括超級(jí)管理程序206,超級(jí)管理程序206經(jīng)由網(wǎng)絡(luò)204與計(jì)算設(shè)備202和網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)208通信??捎靡粋€(gè)或多個(gè)模塊102對(duì)計(jì)算設(shè)備202進(jìn)行編程。除此之外或作為另外一種選擇,可用一個(gè)或多個(gè)模塊102對(duì)超級(jí)管理程序206進(jìn)行編程。
[0030]在一個(gè)實(shí)施例中,圖1的一個(gè)或多個(gè)模塊102可在由計(jì)算設(shè)備202和/或超級(jí)管理程序206的至少一個(gè)處理器執(zhí)行時(shí),促進(jìn)計(jì)算設(shè)備202和/或超級(jí)管理程序206在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)。例如并且如下文將更詳細(xì)地描述,一個(gè)或多個(gè)模塊102可致使計(jì)算設(shè)備202和/或超級(jí)管理程序206選擇到數(shù)據(jù)存儲(chǔ)庫(kù)的連接,用于在高輸入/輸出負(fù)載環(huán)境中即時(shí)恢復(fù)虛擬機(jī)。例如并且如下文將更詳細(xì)地描述的,識(shí)別模塊104可被編程為識(shí)別可被配置為維持到網(wǎng)絡(luò)附接存儲(chǔ)系統(tǒng)208的多個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的同時(shí)連接的超級(jí)管理程序206。接收模塊106可被編程為接收激活超級(jí)管理程序206上的虛擬機(jī)210的請(qǐng)求220。確定模塊108可被編程為確定從超級(jí)管理程序到網(wǎng)絡(luò)204附接存儲(chǔ)系統(tǒng)的數(shù)據(jù)存儲(chǔ)庫(kù)212的連接214的使用222。選擇模塊110可被編程為基于連接214的使用222來選擇從超級(jí)管理程序206