虛擬計(jì)算實(shí)例遷移的制作方法
【專利說(shuō)明】虛擬計(jì)算實(shí)例遷移
[0001] 相關(guān)申請(qǐng)的交叉引用
[0002] 本申請(qǐng)案要求2013年8月5日提交的共同未決的美國(guó)專利申請(qǐng)?zhí)?3/959,550的優(yōu) 先權(quán),所述申請(qǐng)的全部?jī)?nèi)容W引用的方式并入本文。
[000;3]背景
[0004] 虛擬計(jì)算機(jī)系統(tǒng)已經(jīng)得到發(fā)展并且繼續(xù)發(fā)展W滿足使用它們的組織的需求。例 如,許多組織利用虛擬計(jì)算機(jī)系統(tǒng)(除了其他原因之外)的目的是遠(yuǎn)程操作一個(gè)或多個(gè)虛擬 服務(wù)器,包括用于網(wǎng)頁(yè)應(yīng)用的開(kāi)發(fā)。虛擬計(jì)算機(jī)系統(tǒng)經(jīng)常根據(jù)粗略尺寸而被設(shè)定大小。例 如,運(yùn)些系統(tǒng)可根據(jù)處理器內(nèi)核的數(shù)目、附接的存儲(chǔ)裝置的類型和/或數(shù)量或其他因素而被 設(shè)定大小。運(yùn)允許計(jì)算資源服務(wù)提供商W有效的方式重新定制(repu巧ose)或細(xì)分(具體地 用于容量管理的)物理系統(tǒng)。盡管其許多優(yōu)點(diǎn),但是現(xiàn)代的虛擬計(jì)算機(jī)系統(tǒng)服務(wù)經(jīng)常缺乏用 于當(dāng)客戶提交創(chuàng)建或遷移虛擬機(jī)實(shí)例的請(qǐng)求時(shí),向客戶提供已請(qǐng)求的硬件的功能性。
[0005] 在一些實(shí)例中,一種類型的虛擬機(jī)實(shí)例可使用不同類型或代的硬件而實(shí)現(xiàn)。當(dāng)將 更新的硬件集成到一系列硬件裝置中時(shí),所述更新的硬件可包括較舊的硬件所缺乏的各種 特征。例如,更新的硬件可包括在確定所述硬件是否適合在上述粗糖尺寸內(nèi)時(shí)不使用的特 征(例如,并入加密加速的忍片組)。因此,新的虛擬機(jī)實(shí)例的創(chuàng)建可包括運(yùn)些更新的、可能 有吸引力的特征。在此類環(huán)境中,客戶可提供虛擬機(jī)實(shí)例,并且如果分配的物理主機(jī)不滿足 期望的硬件要求,那么就立即終止所述實(shí)例。客戶可重復(fù)運(yùn)個(gè)過(guò)程,直到在包括期望的硬件 配置的物理主機(jī)上實(shí)現(xiàn)的實(shí)例被創(chuàng)建。運(yùn)可導(dǎo)致不太理想的客戶體驗(yàn)及其他不良后果。解 決運(yùn)些問(wèn)題的一些方式,諸如通過(guò)購(gòu)買和提供具有變化的配置的另外的服務(wù)器系統(tǒng)W滿足 客戶需要,可能出現(xiàn)大量附加成本和管理負(fù)擔(dān)。
[0006] 附圖簡(jiǎn)述
[0007] 將參照附圖描述根據(jù)本公開(kāi)的各個(gè)實(shí)施方案,在附圖中:
[000引圖1示出可實(shí)現(xiàn)各個(gè)實(shí)施方案的環(huán)境的說(shuō)明性示例;
[0009] 圖2示出可實(shí)現(xiàn)各個(gè)實(shí)施方案的環(huán)境的說(shuō)明性示例;
[0010] 圖3示出可實(shí)現(xiàn)各個(gè)實(shí)施方案的環(huán)境的說(shuō)明性示例;
[0011] 圖4示出可實(shí)現(xiàn)各個(gè)實(shí)施方案的環(huán)境的說(shuō)明性示例;
[0012] 圖5示出根據(jù)至少一個(gè)實(shí)施方案的分配一個(gè)或多個(gè)虛擬機(jī)實(shí)例的說(shuō)明性示例;
[0013] 圖6示出根據(jù)至少一個(gè)實(shí)施方案的將虛擬機(jī)實(shí)例從一個(gè)物理主機(jī)遷移至另一個(gè)物 理主機(jī)的說(shuō)明性示例;
[0014] 圖7示出根據(jù)至少一個(gè)實(shí)施方案的用于基于客戶請(qǐng)求來(lái)分配虛擬機(jī)實(shí)例的過(guò)程的 說(shuō)明性示例;
[0015] 圖8示出根據(jù)至少一個(gè)實(shí)施方案的用于基于槽(slot)可用性來(lái)遷移虛擬機(jī)實(shí)例的 過(guò)程的說(shuō)明性示例;
[0016] 圖9示出根據(jù)至少一個(gè)實(shí)施方案的用于準(zhǔn)備并遷移虛擬機(jī)實(shí)例的過(guò)程的說(shuō)明性示 例;
[0017] 圖10示出根據(jù)至少一個(gè)實(shí)施方案的用于處理針對(duì)將硬件分配給現(xiàn)有的虛擬機(jī)實(shí) 例的請(qǐng)求的過(guò)程的說(shuō)明性示例;并且
[0018]圖11示出可實(shí)現(xiàn)各個(gè)實(shí)施方案的環(huán)境。
[0019] 詳述
[0020] 在W下描述中,將描述各個(gè)實(shí)施方案。出于解釋的目的,將闡述具體的配置和細(xì) 節(jié),W便提供實(shí)施方案的透徹理解。然而,對(duì)本領(lǐng)域的技術(shù)人員也將是明顯的是,沒(méi)有具體 細(xì)節(jié)的情況下也可W實(shí)踐實(shí)施方案。此外,為了不使所描述的實(shí)施方案變得模糊,可能會(huì)省 略或簡(jiǎn)化眾所周知的特征。
[0021] 本文所描述和所建議的技術(shù)設(shè)及基于客戶針對(duì)特定硬件配置的偏好而對(duì)虛擬機(jī) 實(shí)例進(jìn)行分配和遷移,W實(shí)例化和支持所述實(shí)例。在一個(gè)實(shí)施方案中,實(shí)體(例如,組織)可 諸如通過(guò)對(duì)虛擬計(jì)算機(jī)系統(tǒng)服務(wù)的適當(dāng)?shù)嘏渲玫膽?yīng)用編程接口(API)調(diào)用來(lái)與虛擬計(jì)算機(jī) 系統(tǒng)服務(wù)通信,W請(qǐng)求創(chuàng)建或遷移虛擬機(jī)實(shí)例。所述實(shí)體可W是操作各種服務(wù)(諸如數(shù)據(jù)存 儲(chǔ)服務(wù)、虛擬計(jì)算機(jī)系統(tǒng)服務(wù)和/或數(shù)據(jù)庫(kù)服務(wù))的計(jì)算資源服務(wù)提供商的客戶??蛻艨蒞 各種方式表達(dá)硬件偏好,諸如通過(guò)請(qǐng)求創(chuàng)建或遷移虛擬機(jī)實(shí)例。已請(qǐng)求的硬件配置可在一 個(gè)或多個(gè)物理主機(jī)中體現(xiàn),所述一個(gè)或多個(gè)物理主機(jī)可由虛擬計(jì)算機(jī)系統(tǒng)服務(wù)提供。物理 主機(jī)可包括各種硬件組件。例如,物理主機(jī)可包括一個(gè)或多個(gè)處理器、一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ) 裝置(例如,固態(tài)驅(qū)動(dòng)器或磁盤驅(qū)動(dòng)器)、隨機(jī)存取存儲(chǔ)器(RAM)和可能需要實(shí)例化和支持虛 擬機(jī)實(shí)例的其他組件。在一些實(shí)施方案中,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可將每個(gè)物理主機(jī)配置成 包括許多槽,W實(shí)例化虛擬機(jī)實(shí)例。運(yùn)些槽可用來(lái)通過(guò)對(duì)應(yīng)于底層計(jì)算機(jī)系統(tǒng)的各種硬件 資源的分配而在虛擬機(jī)實(shí)例的使用壽命期間提供槽的保證平均性能。因此,當(dāng)虛擬機(jī)實(shí)例 在物理主機(jī)中被實(shí)例化時(shí),所述實(shí)例可基于必須實(shí)例化和支持虛擬機(jī)實(shí)例的硬件規(guī)范而在 一個(gè)或多個(gè)槽中被實(shí)例化。
[0022] 在一些實(shí)施方案中,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可從虛擬機(jī)實(shí)例的客戶接收請(qǐng)求,所述 請(qǐng)求可包括用W實(shí)例化所述實(shí)例的硬件規(guī)范的要求或偏好。因此,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可 確定具有已請(qǐng)求的硬件規(guī)范的物理主機(jī)是否可用于分配。如果具有已請(qǐng)求的硬件規(guī)范的物 理主機(jī)可用,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可將虛擬機(jī)實(shí)例分配給可用的物理主機(jī)。如果已請(qǐng) 求的硬件不可用,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可確定針對(duì)特定硬件的請(qǐng)求是由客戶闡述的偏 好或要求。如果具有已請(qǐng)求的硬件規(guī)范的物理主機(jī)不可用,并且所述客戶請(qǐng)求就是針對(duì)用 W支持和實(shí)例化虛擬機(jī)實(shí)例的某些硬件規(guī)范的偏好,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可將所述實(shí) 例分配給非符合(non-conforming)的物理主機(jī)。然而,如果具有已請(qǐng)求的硬件規(guī)范的物理 主機(jī)不可用,并且所述請(qǐng)求是由客戶闡述的固定要求,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可制止將 所述實(shí)例分配給非符合物理主機(jī)并且代替顯示錯(cuò)誤消息,所述錯(cuò)誤消息例如可包括直到適 當(dāng)?shù)奈锢碇鳈C(jī)可用的估算時(shí)間,和針對(duì)已請(qǐng)求的虛擬機(jī)實(shí)例客戶可用的其他可用選項(xiàng)。
[0023] 在一些實(shí)施方案中,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可持久性地將客戶硬件規(guī)范偏好存儲(chǔ)在 與虛擬機(jī)實(shí)例相關(guān)聯(lián)的元數(shù)據(jù)中。當(dāng)虛擬計(jì)算機(jī)系統(tǒng)服務(wù)檢測(cè)到在物理主機(jī)內(nèi)的一個(gè)或多 個(gè)槽已經(jīng)變得可用時(shí),虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可查詢?nèi)魏维F(xiàn)有虛擬機(jī)實(shí)例的元數(shù)據(jù),W確定 客戶是否已經(jīng)請(qǐng)求將所述實(shí)例遷移至具有與包括于客戶請(qǐng)求中的規(guī)范匹配的硬件規(guī)范的 物理主機(jī)。如果與多個(gè)虛擬機(jī)實(shí)例相關(guān)聯(lián)的元數(shù)據(jù)指示針對(duì)具有特定硬件規(guī)范的物理主機(jī) 進(jìn)行遷移的請(qǐng)求,并且現(xiàn)在可用的物理主機(jī)包括用于運(yùn)些虛擬機(jī)實(shí)例的匹配的硬件規(guī)范, 那么所述虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可應(yīng)用一個(gè)或多個(gè)標(biāo)準(zhǔn)W確定可將哪個(gè)虛擬機(jī)實(shí)例遷移至 物理主機(jī)。因此,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可獲得所選擇的虛擬機(jī)實(shí)例的一個(gè)或多個(gè)快照,并且 將所述快照傳送給物理主機(jī)中的目標(biāo)槽。隨后,可將虛擬機(jī)實(shí)例暫停并且傳送給物理主機(jī) 中的目標(biāo)槽。因此,可在具有在實(shí)例元數(shù)據(jù)中指定的已請(qǐng)求的硬件規(guī)范的物理主機(jī)中遷移 和激活虛擬機(jī)實(shí)例。
[0024] 在一些實(shí)施方案中,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可接收針對(duì)用W支持現(xiàn)有實(shí)例的某些硬 件規(guī)范的請(qǐng)求。如W上所指出,如果物理主機(jī)包括一個(gè)或多個(gè)可用槽,并且包括已請(qǐng)求的硬 件規(guī)范,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可使用與上文所述的過(guò)程相似的過(guò)程將現(xiàn)有實(shí)例分配給 物理主機(jī)槽。然而,如果具有已請(qǐng)求的硬件規(guī)范的物理主機(jī)不可用,那么虛擬計(jì)算機(jī)系統(tǒng)服 務(wù)可評(píng)估所述請(qǐng)求W確定所述請(qǐng)求是偏好還是要求,如W上所指出。因此,如果所述請(qǐng)求僅 是某一硬件規(guī)范集合的偏好,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可能不遷移現(xiàn)有實(shí)例,直到具有已 請(qǐng)求的硬件規(guī)范的物理主機(jī)中的一個(gè)或多個(gè)槽可用的時(shí)刻。另外,如果所述請(qǐng)求是客戶要 求集合,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可顯示錯(cuò)誤消息并且等待針對(duì)遷移的任何新的客戶請(qǐng) 求。
[0025] W此方式,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可將一個(gè)或多個(gè)虛擬機(jī)實(shí)例分配給滿足客戶硬件 規(guī)范要求的物理主機(jī)。此外,本文所描述和建議的技術(shù)有利于另外的技術(shù)優(yōu)勢(shì)。例如,在一 些實(shí)施方案中,因?yàn)樘摂M計(jì)算機(jī)系統(tǒng)服務(wù)可基于客戶偏好或要求將現(xiàn)有的虛擬機(jī)實(shí)例遷移 至物理主機(jī),所W如果用來(lái)實(shí)例化所述實(shí)例的物理主機(jī)初始地不與客戶硬件規(guī)范要求匹 配,那么運(yùn)就可消除創(chuàng)建和終止虛擬機(jī)實(shí)例的實(shí)踐。另外地,在一個(gè)實(shí)施方案中,由于虛擬 計(jì)算機(jī)系統(tǒng)服務(wù)可基于客戶硬件規(guī)范要求自動(dòng)地將虛擬機(jī)實(shí)例遷移至不同的物理主機(jī),因 而客戶可能不再需要連續(xù)地提交請(qǐng)求W將現(xiàn)有的虛擬機(jī)實(shí)例分配給具有已請(qǐng)求的硬件規(guī) 范的物理主機(jī)。運(yùn)進(jìn)而可減少對(duì)用W支持客戶請(qǐng)求的新硬件的需要,并且因此可減少任何 新硬件組件的成本W(wǎng)及維護(hù)運(yùn)些組件的相關(guān)聯(lián)的成本。針對(duì)某些硬件規(guī)范的積壓的客戶請(qǐng) 求還可向計(jì)算資源服務(wù)提供商提供有價(jià)值的信息。例如,所述積壓可用來(lái)通知系統(tǒng)容量規(guī) 劃和/或硬件購(gòu)買決定。另外的用途也可由本文所述的各種技術(shù)實(shí)現(xiàn)。
[0026] 圖1示出可實(shí)踐各個(gè)實(shí)施方案的環(huán)境100的說(shuō)明性示例。在環(huán)境100中,計(jì)算資源服 務(wù)提供商102可向計(jì)算資源服務(wù)提供商的客戶提供各種計(jì)算資源服務(wù)。計(jì)算資源服務(wù)提供 商102可W是代表一個(gè)或多個(gè)用戶托管各種計(jì)算資源的組織。例如,計(jì)算資源服務(wù)提供商可 操作用來(lái)托管各種計(jì)算硬件資源(諸如,硬件服務(wù)器、數(shù)據(jù)存儲(chǔ)裝置、網(wǎng)絡(luò)裝置及其他設(shè)備 (諸如服務(wù)器機(jī)架、網(wǎng)絡(luò)電纜W及類似物))的一個(gè)或多個(gè)設(shè)施。計(jì)算資源服務(wù)提供商102可 利用其計(jì)算硬件資源操作一個(gè)或多個(gè)服務(wù)。此類服務(wù)可包括在減少或甚至消除客戶對(duì)物理 設(shè)備投資的需要的同時(shí),使計(jì)算資源服務(wù)提供商的客戶能夠遠(yuǎn)程管理計(jì)算資源W支持客戶 的操作的服務(wù)。示例性服務(wù)包括但不限于各種數(shù)據(jù)存儲(chǔ)服務(wù)(基于對(duì)象的數(shù)據(jù)存儲(chǔ)服務(wù)、檔 案庫(kù)數(shù)據(jù)存儲(chǔ)服務(wù)、數(shù)據(jù)庫(kù)服務(wù)W及類似物)、程序執(zhí)行服務(wù)及其他服務(wù)。所述服務(wù)可被客 戶使用W支持多種多樣的活動(dòng),諸如操作網(wǎng)站、操作支持組織的企業(yè)系統(tǒng)、分布式計(jì)算和/ 或其他活動(dòng)。
[0027] 因此,如圖1所示,環(huán)境100包括客戶104??蛻?04可W是可利用由計(jì)算資源服務(wù)提 供商102提供的一個(gè)或多個(gè)服務(wù)遠(yuǎn)程地管理計(jì)算資源的個(gè)體或組織,W支持他的或她的操 作,諸如網(wǎng)頁(yè)開(kāi)發(fā)或數(shù)據(jù)庫(kù)管理??蛻?04可通過(guò)客戶計(jì)算裝置向由計(jì)算系統(tǒng)服務(wù)提供商 102提供的虛擬計(jì)算機(jī)系統(tǒng)服務(wù)提交一個(gè)或多個(gè)請(qǐng)求,W配置可用來(lái)支持客戶需要的虛擬 機(jī)實(shí)例。所述一個(gè)或多個(gè)請(qǐng)求可包括硬件規(guī)范要求或偏好,所述硬件規(guī)范要求或偏好可用 來(lái)進(jìn)一步支持包括于虛擬機(jī)實(shí)例中的操作系統(tǒng)和/或應(yīng)用。例如,如果客戶104將要使用虛 擬機(jī)實(shí)例來(lái)創(chuàng)建和測(cè)試資源密集的應(yīng)用,那么客戶104就可能需要非常大的處理功率和存 儲(chǔ)容量W支持運(yùn)些應(yīng)用??商娲?,如果客戶104將利用虛擬機(jī)實(shí)例W用于進(jìn)行字處理和電 子表格操縱,那么廣泛的資源可能就不需要。因此,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可將虛擬機(jī)實(shí)例實(shí) 例化到物理主機(jī)106上。
[0028] 如W上所指出,物理主機(jī)106可包括多個(gè)硬件組件。例如,物理主機(jī)106可包括一個(gè) 或多個(gè)處理器、若干RAM忍片組和被配置來(lái)持久性地存儲(chǔ)和實(shí)例化虛擬機(jī)實(shí)例108的一個(gè)或 多個(gè)存儲(chǔ)裝置(例如,固態(tài)驅(qū)動(dòng)器或磁盤驅(qū)動(dòng)器)。如結(jié)合圖4進(jìn)一步詳細(xì)所示,每個(gè)物理主 機(jī)106可被配置來(lái)包括用于實(shí)例化和支持一個(gè)或多個(gè)虛擬機(jī)實(shí)例108的一個(gè)或多個(gè)槽。運(yùn)些 槽用來(lái)將一組平均性能度量分配給在其中實(shí)例化的虛擬機(jī)實(shí)例108中的每一個(gè)。例如,取決 于已請(qǐng)求類型的虛擬機(jī)實(shí)例108,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可將一個(gè)或多個(gè)槽分配給虛擬機(jī)實(shí) 例 108。
[0029] 在虛擬機(jī)實(shí)例108在物理主機(jī)106中的一個(gè)或多個(gè)槽中已經(jīng)被實(shí)例化之后的任何 點(diǎn)處,客戶104可向虛擬計(jì)算機(jī)系統(tǒng)服務(wù)提交請(qǐng)求,所述請(qǐng)求可包括針對(duì)應(yīng)被用來(lái)實(shí)例化和 支持虛擬機(jī)實(shí)例108的特定硬件規(guī)范的偏好或要求。因此,虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可確定系統(tǒng) 內(nèi)可用的任何物理主機(jī)106是否包括可用的放置位置,所述可用的放置位置可用來(lái)提供已 請(qǐng)求的規(guī)范。例如,可基于將一個(gè)或多個(gè)可用槽定位在包括所請(qǐng)求的特定硬件規(guī)范的物理 主機(jī)中來(lái)識(shí)別放置位置。因此,如果物理主機(jī)106發(fā)現(xiàn)可用來(lái)實(shí)現(xiàn)所述請(qǐng)求,并且所述物理 主機(jī)包括足夠的槽W實(shí)例化虛擬機(jī)實(shí)例108,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可將虛擬機(jī)實(shí)例108 遷移至該物理主機(jī)106,并且釋放先前用來(lái)實(shí)例化該實(shí)例的槽。然而,如果物理主機(jī)106不可 用來(lái)實(shí)現(xiàn)所述請(qǐng)求,那么虛擬計(jì)算機(jī)系統(tǒng)服務(wù)可能不遷移虛擬機(jī)實(shí)例108和/或可能顯示錯(cuò) 誤消息。
[0030] 圖2示出可實(shí)踐本公開(kāi)的各種實(shí)施方案的環(huán)境200的說(shuō)明性示例。在環(huán)境200中,計(jì) 算資源服務(wù)提供商202可向客戶204提供各種服務(wù)??蛻?04可W是可利用由計(jì)算資源服務(wù) 提供商202提供的各種服務(wù)來(lái)遠(yuǎn)程產(chǎn)生、測(cè)試和維護(hù)一個(gè)或多個(gè)網(wǎng)頁(yè)服務(wù)器或應(yīng)用的組織。 如圖2所示,客戶204可通過(guò)一個(gè)或多個(gè)通信網(wǎng)絡(luò)206(諸如互聯(lián)網(wǎng))與計(jì)算資源服務(wù)提供商 202進(jìn)行通信。從客戶204到計(jì)算資源服務(wù)提供商202的一些通信可致使計(jì)算資源服務(wù)