專利名稱:通信網(wǎng)絡(luò)中的虛擬機(jī)的動態(tài)分布的制作方法
技術(shù)領(lǐng)域:
本公開總地涉及通信網(wǎng)絡(luò),更具體地涉及在通信網(wǎng)絡(luò)中通過虛擬機(jī)的動態(tài)分布進(jìn) 行資源分配。
背景技術(shù):
數(shù)據(jù)中心通常只使用可用CPU、存儲裝置和存儲器容量的很小比例。這使得比執(zhí)行 特定量的工作所必需的服務(wù)器更多的服務(wù)器被部署。額外的服務(wù)器增加了成本,并且造成 了很難管理的更加復(fù)雜且完全不同的環(huán)境。很多數(shù)據(jù)中心管理器正轉(zhuǎn)向虛擬化,以在網(wǎng)絡(luò) 上共享資源。虛擬化是一種通過在多個系統(tǒng)中間共享單個計算機(jī)的資源來使一個計算機(jī)完成 多個計算機(jī)的工作的技術(shù)。通過使用虛擬化,多個操作系統(tǒng)和應(yīng)用可以同時在相同的計算 機(jī)上運(yùn)行,從而增加了硬件的利用率和靈活性。虛擬化使得服務(wù)器可以與下層硬件相隔離, 從而使得多個虛擬服務(wù)器可以共享相同的物理服務(wù)器硬件。這還使得虛擬服務(wù)器可以被從 一個物理服務(wù)器轉(zhuǎn)移到另一個物理服務(wù)器,同時維持連續(xù)的服務(wù)可用性。
圖1示出了能夠?qū)崿F(xiàn)本文中描述的實(shí)施例的網(wǎng)絡(luò)的示例。圖2是被配置為監(jiān)視網(wǎng)絡(luò)流量并分配資源的節(jié)點(diǎn)的框圖。圖3是示出用于分配資源的處理的流程圖。圖4是示出虛擬機(jī)之間的帶寬利用率的流量矩陣的示例。圖5是列出從有資格的服務(wù)器到遠(yuǎn)端虛擬機(jī)的路徑開銷的表格。圖6是列出基于虛擬機(jī)之間的帶寬利用率的加權(quán)后的路徑開銷的表格。圖7示出了在實(shí)現(xiàn)本文中描述的實(shí)施例的過程中有用的網(wǎng)絡(luò)設(shè)備的示例。相應(yīng)的參考標(biāo)號貫穿若干附圖指示相應(yīng)的部分。
具體實(shí)施例方式碰在一個實(shí)施例中,一種方法總地包括監(jiān)視與包括多個虛擬機(jī)中的至少一個虛擬 機(jī)的第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)流量,并且確定參數(shù)是否超過了第一網(wǎng)絡(luò)設(shè)備處的預(yù)定閾 值。如果該參數(shù)超過了預(yù)定閾值,則所述虛擬機(jī)之一被選擇以轉(zhuǎn)移到第二網(wǎng)絡(luò)設(shè)備,并且該 虛擬機(jī)被轉(zhuǎn)移,其中第二網(wǎng)絡(luò)設(shè)備是基于網(wǎng)絡(luò)信息選擇的。在另一個實(shí)施例中,一種裝置總地包括監(jiān)視器,被配置用于監(jiān)視與位于該裝置處 的虛擬機(jī)相關(guān)聯(lián)的網(wǎng)絡(luò)流量;控制器,被配置用于確定一個或多個網(wǎng)絡(luò)參數(shù)是否超過了預(yù) 定閾值,并且在網(wǎng)絡(luò)參數(shù)超過預(yù)定閾值的情況下選擇虛擬機(jī)中要轉(zhuǎn)移到網(wǎng)絡(luò)設(shè)備的一個虛 擬機(jī),并將所選擇的虛擬機(jī)轉(zhuǎn)移到網(wǎng)絡(luò)設(shè)備,其中該網(wǎng)絡(luò)設(shè)備是基于網(wǎng)絡(luò)信息選擇的。該裝 置還包括用于存儲網(wǎng)絡(luò)信息的存儲器。
示例實(shí)施例呈現(xiàn)了以下描述,以使本領(lǐng)域技術(shù)人員能夠作出并使用本發(fā)明。具體實(shí)施例和應(yīng) 用的描述僅被作為示例提供,并且各種修改對于本領(lǐng)域技術(shù)人員來說是顯而易見的。本文 中描述的一般原理可以在不脫離本發(fā)明的范圍的條件下被應(yīng)用于其他實(shí)施例和應(yīng)用。所 以,本發(fā)明不限于所示出的實(shí)施例,而是依照與本文中描述的原理和特征相一致的最寬范 圍。為了清楚,沒有詳細(xì)描述涉及在與本發(fā)明有關(guān)的技術(shù)領(lǐng)域中公知的技術(shù)材料的細(xì)節(jié)。虛擬化通過在多個系統(tǒng)之間共享單個計算機(jī)的資源而使一個計算機(jī)能夠完成多 個計算機(jī)的工作。軟件被用來對計算機(jī)的硬件資源(例如,包括CPU、RAM、硬盤、以及網(wǎng)絡(luò) 控制器)進(jìn)行虛擬化,以創(chuàng)建可以運(yùn)行其自己的操作系統(tǒng)和應(yīng)用的虛擬機(jī)。多個虛擬機(jī)在 不相互干擾的條件下共享硬件資源,使得若干操作系統(tǒng)和應(yīng)用可以同時在單個計算機(jī)上運(yùn) 行。虛擬機(jī)可以被用在例如虛擬架構(gòu)中,以動態(tài)地將物理資源映射到商業(yè)需求。從而,虛擬 化使多個服務(wù)器、貯存架構(gòu)、以及網(wǎng)絡(luò)可以匯聚為可以根據(jù)需要被動態(tài)地傳遞給各應(yīng)用的 共享資源中。虛擬化系統(tǒng)中的應(yīng)用性能取決于包括CPU可用性、存儲器可用性、網(wǎng)絡(luò)帶寬可用 性、以及網(wǎng)絡(luò)等待時間(latency)在內(nèi)的多個因素。在數(shù)據(jù)中心中,流量模式(traffic pattern)高度依賴于所部署的應(yīng)用。在校園中,流量模式大多是從校園中的客戶端到數(shù)據(jù) 中心的服務(wù)器或者到存在于一般互聯(lián)網(wǎng)上的服務(wù)器的。在數(shù)據(jù)中心中,大量流量處于數(shù)據(jù) 中心中的服務(wù)器之間,諸如,前端應(yīng)用與后端應(yīng)用通信。等待時間取決于設(shè)備的基本等待時 間、兩個通信節(jié)點(diǎn)之間的鏈路、以及這些節(jié)點(diǎn)之間的網(wǎng)絡(luò)擁塞。應(yīng)用在數(shù)據(jù)中心中的布局將 會影響應(yīng)用性能。在傳統(tǒng)虛擬系統(tǒng)中的應(yīng)用網(wǎng)絡(luò)布局中考慮的因素局限于CPU和存儲器可 用性。然而,和與給定節(jié)點(diǎn)通信的其他節(jié)點(diǎn)有關(guān)的網(wǎng)絡(luò)位置也是在數(shù)據(jù)中心中布置應(yīng)用時 需要考慮的重要因素。因此,確定應(yīng)用在網(wǎng)絡(luò)中的最優(yōu)布局比簡單地檢查CPU和存儲器利 用率要復(fù)雜得多。本文中描述的實(shí)施例利用虛擬機(jī)的聯(lián)網(wǎng)要求來動態(tài)地在物理設(shè)備之間分布虛擬 機(jī)。虛擬機(jī)在網(wǎng)絡(luò)中的布局可以通過考慮應(yīng)用流量模式、網(wǎng)絡(luò)拓?fù)?、等待時間、帶寬要求、或 者它們的任意組合來優(yōu)化。如下面將要描述的,分布式或者集中式的資源調(diào)度可以被用來 自動進(jìn)行初始的虛擬機(jī)布局,并被用來基于當(dāng)前的工作負(fù)荷來不斷優(yōu)化虛擬機(jī)的布局?,F(xiàn)在參考附圖,首先參考圖1,示出了可以實(shí)現(xiàn)本文中描述的實(shí)施例的網(wǎng)絡(luò)10的 示例。為了簡單,只示出了少量節(jié)點(diǎn)。該系統(tǒng)在包括多個網(wǎng)絡(luò)元件的數(shù)據(jù)通信網(wǎng)絡(luò)的背景 中進(jìn)行操作。采用該系統(tǒng)的網(wǎng)絡(luò)中的一些元件可以是諸如服務(wù)器、交換機(jī)、或者路由器之類 的網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備可以包括例如,主中央處理單元(CPU)、接口、以及總線。CPU優(yōu)選地 包括存儲器和處理器。網(wǎng)絡(luò)設(shè)備可以被實(shí)現(xiàn)在諸如下面參考圖7描述的通用網(wǎng)絡(luò)機(jī)器上。圖1中所示的網(wǎng)絡(luò)10包括通過鏈路M互連的數(shù)個交換機(jī)12、14、16、18、20、22。 交換機(jī)(例如,邊緣接入交換機(jī))16、18、20、22分別連接至一個或多個服務(wù)器沈、28、30。在 圖1中所示的示例中,交換機(jī)16連接至服務(wù)器沈和觀,交換機(jī)18連接至服務(wù)器沈和28, 交換機(jī)20連接至服務(wù)器30,并且交換機(jī)22連接至服務(wù)器30。這些交換機(jī)還可以與管理站 32 (例如,VMware虛擬中心管理站或者其他虛擬化管理平臺)通信。每個服務(wù)器沈、28、30包括虛擬交換機(jī)34和一個或多個虛擬機(jī)36。在圖1中所示 的示例中,服務(wù)器沈包括虛擬機(jī)(VM)A和VM B,服務(wù)器觀包括VM C和VM D,并且服務(wù)器30包括VM E0如下面描述的,每個虛擬機(jī)可以被從一個服務(wù)器轉(zhuǎn)移到另一個服務(wù)器。虛擬 機(jī)36經(jīng)由虛擬網(wǎng)絡(luò)接口卡(NIC)與虛擬交換機(jī)34通信,并且虛擬交換機(jī)34經(jīng)由以太網(wǎng)接 口(物理網(wǎng)絡(luò)接口卡)與交換機(jī)通信。虛擬交換機(jī)34切換在虛擬機(jī)和物理網(wǎng)絡(luò)接口卡之 間的流量。在一個實(shí)施例中,虛擬機(jī)34被配置為在管理程序(hypervisor)環(huán)境中進(jìn)行操 作。位于相同的服務(wù)器中的虛擬機(jī)36(例如,圖1中的VM A和VM B)還可以經(jīng)由虛擬交換 機(jī)34直接與彼此通信。應(yīng)該明白,圖1中所示的簡化網(wǎng)絡(luò)只是一個示例,并且本文中描述的實(shí)施例可以 用在具有不同配置和類型的網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)中。圖2是示出根據(jù)本文中描述的實(shí)施例的被配置用于分配資源的裝置38的示例的 框圖。裝置38可以是交換機(jī)12、14、16、18、20、22,服務(wù)器沈、28、30 (或者服務(wù)器處的虛擬 交換機(jī)34)、管理站32、或者其他網(wǎng)絡(luò)設(shè)備中的一者。如下面詳細(xì)描述的,計算和判決可以 在單個網(wǎng)絡(luò)設(shè)備處做出,也可以在多個網(wǎng)絡(luò)設(shè)備上執(zhí)行。圖2中所示的網(wǎng)絡(luò)設(shè)備38包括處 理器40和存儲器42,諸如下面參考圖7所描述的。在一個實(shí)施例中,存儲器42包括以下所 述的物理服務(wù)器信息庫(PSIB)43。網(wǎng)絡(luò)設(shè)備38還包括用于監(jiān)視網(wǎng)絡(luò)流量的監(jiān)視器44、用 于通過網(wǎng)絡(luò)廣告服務(wù)器資源可用性的發(fā)送器46、以及被配置用于基于網(wǎng)絡(luò)信息執(zhí)行計算并 且根據(jù)需要轉(zhuǎn)移一個或多個虛擬機(jī)的虛擬化控制器48。應(yīng)該理解,圖2中所示的元件可以 位于單個網(wǎng)絡(luò)設(shè)備上,或者這些元件可以分布在兩個或者兩個以上網(wǎng)絡(luò)設(shè)備上。如果操作 集中在單個設(shè)備(例如,管理站32)處,則可以去除發(fā)送器46。圖3是示出用于資源分配的處理的一個示例的流程圖。在步驟50處,流量交互被 監(jiān)視。與包括一個或多個虛擬機(jī)的第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)流量在位于網(wǎng)絡(luò)設(shè)備(服務(wù) 器)26、觀、30處的虛擬機(jī)34處、與該服務(wù)器通信的交換機(jī)16、18、20、22之一處、或者另一 個網(wǎng)絡(luò)設(shè)備處被監(jiān)視。例如,管理站32可以通過從邊緣交換機(jī)或服務(wù)器接收流量信息來 監(jiān)視流量交互。在一個實(shí)施例中,監(jiān)視被利用邊緣接入交換機(jī)來執(zhí)行以監(jiān)視來自本地邊緣 交換機(jī)的虛擬機(jī)的流量。邊緣接入交換機(jī)追蹤所有的MAC地址、VLAN對(每個本地虛擬機(jī) 進(jìn)行通信并且追蹤傳送的全部帶寬的VLAN對)、以及諸如峰值帶寬突發(fā)(peak bandwidth burst)之類的任何必需的附加信息。這提供了可以使用Netflow技術(shù)或一般的流量監(jiān)測來 構(gòu)建的流量矩陣。圖4是通過在服務(wù)器沈處監(jiān)視流量交互而生成的流量矩陣的示例。圖4的流量 矩陣在第一行中示出了 VM A和其他虛擬機(jī)(VM B,VM C、VM D、以及VM E)中的每一個之間 的帶寬利用率。流量矩陣的第二行示出了 VM B和其他虛擬機(jī)之間的帶寬利用率。在步驟52,物理服務(wù)器可用性被監(jiān)視并廣告(圖幻。除了監(jiān)視來自本地虛擬機(jī)的 流量之外,邊緣接入交換機(jī)(或者其他網(wǎng)絡(luò)設(shè)備)還可以監(jiān)視以下各項中的一項或多項 CPU使用情況、CPU特性(CPU類型、賣主等)、存儲器、以及其連接到的物理服務(wù)器的功率要 求。在一個示例中,服務(wù)器沈具有90%空閑的CPUUGB空閑的存儲器、以及5Mb空閑的帶 寬。服務(wù)器觀具有23%空閑的CPU、2GB空閑的存儲器、以及85Mb空閑的帶寬。服務(wù)器30 具有90%空閑的CPUUGB空閑的存儲器、以及45Mb空閑的帶寬。該信息例如可以被存儲在 PSIB 43 中。資源可用性信息可以是本地可得的,也可以從遠(yuǎn)程源檢索得到。例如,如果平臺不 存在于服務(wù)器上,則該信息可以通過與API (例如,虛擬中心web服務(wù)API)的通信來收集。該信息然后通過物理服務(wù)器廣告協(xié)議(PSAP)被傳播給L2域中的所有交換機(jī)。在一個實(shí)施 例中,該協(xié)議以類似于在鏈路狀態(tài)路由協(xié)議中發(fā)送的LSA(鏈路狀態(tài)廣告)的方式廣播該信 息。由于該信息不用于匯聚網(wǎng)絡(luò)而用于優(yōu)化應(yīng)用布局,所以該廣告可以是不頻繁的(例如, 5分鐘間隔)。廣播間隔可以由用戶配置。在一個實(shí)施例中,該信息由數(shù)據(jù)中心中的每個邊 緣交換機(jī)存儲在本地數(shù)據(jù)庫(例如,PSIB 43)中。本地數(shù)據(jù)庫類似于用在路由中的路由信 息庫(RIB)。該信息還可以被存儲在中心位置(例如,管理站32)、服務(wù)器沈、28、30、或者其 他網(wǎng)絡(luò)設(shè)備。在步驟M,關(guān)于虛擬機(jī)是否應(yīng)該被轉(zhuǎn)移的判決被作出(圖3)。該判決可以由服務(wù) 器沈、28、30、本地邊緣交換機(jī)16、18、20、22、管理站32、或者其他設(shè)備執(zhí)行。邊緣交換機(jī)可 以基于對于物理服務(wù)器處的CPU、存儲器、帶寬、或者其他參數(shù)、或者參數(shù)的組合的受用戶影 響的閾值來執(zhí)行計算。例如,如果用于特定服務(wù)器的網(wǎng)絡(luò)帶寬超過預(yù)定閾值達(dá)一時間段,則 邊緣交換機(jī)可以嘗試將虛擬機(jī)轉(zhuǎn)移到具有更多可用網(wǎng)絡(luò)帶寬的服務(wù)器。類似地,如果CPU 閾值被超過,則邊緣交換機(jī)可以將虛擬機(jī)轉(zhuǎn)移到具有更多可用CPU計算周期的服務(wù)器。如 果這個動作由管理站32執(zhí)行,則參數(shù)可以由例如邊緣交換機(jī)16、18、20、22傳送給管理站。在步驟56,虛擬機(jī)被選擇,以轉(zhuǎn)移到另一個服務(wù)器(圖幻。本地邊緣交換機(jī)、管 理站、或者服務(wù)器可以基于聯(lián)網(wǎng)參數(shù)輸入來選擇將要轉(zhuǎn)移的虛擬機(jī)。這個判決受到被超過 的閾值的影響,從而使得服務(wù)器閾值水平被預(yù)測為通過移動特定的虛擬機(jī)而得以滿足。在 本示例中,VM B被選擇從服務(wù)器沈(第一網(wǎng)絡(luò)設(shè)備)轉(zhuǎn)移到其他服務(wù)器之一(第二網(wǎng)絡(luò)設(shè) 備)(圖1)。在做出將虛擬機(jī)之一轉(zhuǎn)移到另一個服務(wù)器的判決之后,放置該虛擬機(jī)的最佳服務(wù) 器被確定(步驟58)(圖幻。邊緣交換機(jī)(或者其他設(shè)備)檢查PSIB的本地拷貝,以確定 可以滿足支持所選擇的虛擬機(jī)所必需的要求的PSIB子集(有資格的服務(wù)器池)。在本示 例中,確定可以對VM B進(jìn)行處理的有資格的服務(wù)器池包括服務(wù)器觀和30 (圖1)。該子集 可以通過用戶配置或者通過實(shí)現(xiàn)方式被限制到上邊界。流量信息數(shù)據(jù)庫也可以被檢查,以 確定特定的虛擬機(jī)與哪個MAC地址以及哪些VLAN對通信。在一個實(shí)施例中,用在DCE (數(shù) 據(jù)中心以太網(wǎng))轉(zhuǎn)發(fā)中的IS-IS(中間系統(tǒng)到中間系統(tǒng))數(shù)據(jù)庫被用來確定給定的MAC地 址、VLAN對所駐留的邊緣交換機(jī)。對虛擬機(jī)將被轉(zhuǎn)移到的服務(wù)器的選擇是基于網(wǎng)絡(luò)信息 (例如,應(yīng)用流量模式、帶寬要求、網(wǎng)絡(luò)拓?fù)?的。對于有資格的服務(wù)器池中的每個服務(wù)器, Dijkstra算法可以被用來計算到MAC、VLAN對所連接的每個邊緣交換機(jī)的路徑開銷。在一 個實(shí)施例中,每個鏈路的路徑開銷可經(jīng)由用在DCE轉(zhuǎn)發(fā)中的IS-IS所提供的數(shù)據(jù)庫得到。用 在DCE轉(zhuǎn)發(fā)中的路徑開銷一般反映了路徑的等待時間。然而,算法也可以考慮等待時間度 量。計算可以完全由連接到要求本地VM B的轉(zhuǎn)移的物理服務(wù)器沈的邊緣交換機(jī)16執(zhí)行, 或者可以由管理站32、服務(wù)器沈、或者網(wǎng)絡(luò)設(shè)備的組合(圖1)執(zhí)行。應(yīng)該理解,以上所述的IS-IS數(shù)據(jù)庫只是一個示例,并且諸如IETFTRILL(多鏈接 透明互連)之類的其他L2路由數(shù)據(jù)庫也可以被使用。圖5是示出從服務(wù)器28和30到VM B的遠(yuǎn)端通信伙伴(VM A、VMC、VM D、VM Ε)的 路徑開銷的采樣計算的表格。由于VM C和VM D當(dāng)前位于服務(wù)器觀處,所以這些虛擬機(jī)和 服務(wù)器觀之間沒有路徑開銷。在一個實(shí)施例中,權(quán)重被基于帶寬利用率而施加于每個路徑開銷。圖6示出了基于VM B和遠(yuǎn)端通信伙伴之間使用的帶寬的對圖5的路徑開銷進(jìn)行加權(quán)后所得的路徑開銷 的表格。每個路徑開銷被與記錄到該MAC地址、VLAN對的帶寬相乘(圖4和圖6)。每個路 徑開銷被乘以記錄到該MAC地址、VLAN對的帶寬(圖4和圖6)。加權(quán)后的路徑開銷全部被 累加在一起,以得到有資格的服務(wù)器池中的特定物理服務(wù)器的總開銷,其中考慮了應(yīng)用之 間使用的帶寬。一旦對于有資格的服務(wù)器池中的所有服務(wù)器都完成了這項工作,則具有最 小總開銷的服務(wù)器是從網(wǎng)絡(luò)的角度看放置虛擬機(jī)的最佳服務(wù)器。如圖6中所示,最低的加 權(quán)后的路徑開銷在服務(wù)器30處。所以,路徑開銷計算基于網(wǎng)絡(luò)信息確定了 VM B應(yīng)該移往 服務(wù)器30。在步驟60,VM B被從服務(wù)器26 (第一網(wǎng)絡(luò)設(shè)備)轉(zhuǎn)移到服務(wù)器30 (第二網(wǎng)絡(luò)設(shè) 備)。該轉(zhuǎn)移例如可以使用VMotion技術(shù)來執(zhí)行。虛擬機(jī)優(yōu)選地在保持有效、以及維持連續(xù) 的服務(wù)可用性的同時被移動。虛擬機(jī)移動事件可以通過例如與VMware ESX服務(wù)器通信來 觸發(fā),或者可以通過虛擬中心API來觸發(fā)。該移動可以自動執(zhí)行,或者可以發(fā)出警報來警告 用戶所推薦的動作。圖7示出了可以被用來實(shí)現(xiàn)本文中描述的實(shí)施例的網(wǎng)絡(luò)設(shè)備70。網(wǎng)絡(luò)設(shè)備70被 配置為實(shí)現(xiàn)以上所述的所有網(wǎng)絡(luò)協(xié)議及其擴(kuò)展。在一個實(shí)施例中,網(wǎng)絡(luò)設(shè)備70是可以被實(shí) 現(xiàn)在硬件、軟件、或者它們的任意組合中的可編程機(jī)器。邏輯可以被編碼在一個或多個有形 介質(zhì)中,以由處理器執(zhí)行。例如,處理器72可以執(zhí)行存儲在程序存儲器74中的代碼。程序 存儲器74是計算機(jī)可讀介質(zhì)的一個示例。程序存儲器74可以是易失性存儲器。存儲相同 代碼的其他形式的計算機(jī)可讀介質(zhì)是一種非易失性存儲裝置,例如軟盤、⑶-ROM、DVD-ROM、 硬盤、閃存等。網(wǎng)絡(luò)設(shè)備70經(jīng)由多個線卡76與物理媒介交互。線卡76可以結(jié)合以太網(wǎng)接口、DSL 接口、吉比特以太網(wǎng)接口、10吉比特以太網(wǎng)接口、SONET接口等。當(dāng)數(shù)據(jù)包由網(wǎng)絡(luò)設(shè)備70接 收、處理并轉(zhuǎn)發(fā)時,它們可以被存儲在數(shù)據(jù)包存儲器78中。為了實(shí)現(xiàn)根據(jù)本系統(tǒng)的功能,線 卡96可以整體地結(jié)合類似于以上聯(lián)合網(wǎng)絡(luò)設(shè)備所述的處理和存儲器資源。應(yīng)該理解,圖7 中所示以及如上所述的網(wǎng)絡(luò)設(shè)備70只是一個示例,并且不同配置的網(wǎng)絡(luò)設(shè)備可以被使用。從以上所述可以看出,本文中描述的實(shí)施例提供了很多優(yōu)點(diǎn)。例如,傳統(tǒng)的虛擬機(jī) 資源調(diào)度沒有考慮網(wǎng)絡(luò)資源。通過考慮應(yīng)用通信流量模式、帶寬因素、以及網(wǎng)絡(luò)拓?fù)?,?yīng)用 性能可以被提高,帶寬可以被降低,并且網(wǎng)絡(luò)資源可以被優(yōu)化。本文中所述的實(shí)施例通過適 當(dāng)?shù)奶摂M機(jī)布局優(yōu)化了可用資源的利用率,從而提供了更高的應(yīng)用性能,更好的硬件利用 率,以及開銷降低。盡管根據(jù)所示出的實(shí)施例描述了該方法和裝置,但是本領(lǐng)域技術(shù)人員將很容易明 白,在不脫離本發(fā)明的范圍的條件下可以對這些實(shí)施例作出各種改變。因此,希望以上描述 中包含的以及附圖中示出的所有內(nèi)容應(yīng)該被理解為說明性的,而不是限制性的。
權(quán)利要求
1.一種用于包括多個虛擬機(jī)的網(wǎng)絡(luò)中的資源分配的方法,該方法包括監(jiān)視與包括所述多個虛擬機(jī)中的至少一個虛擬機(jī)的第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)流量;確定一個或多個參數(shù)是否超過所述第一網(wǎng)絡(luò)設(shè)備處的預(yù)定閾值;以及如果所述一個或多個參數(shù)超過了所述預(yù)定閾值,則選擇將所述虛擬機(jī)之一轉(zhuǎn)移到第二網(wǎng)絡(luò)設(shè)備,其中所述第二網(wǎng)絡(luò)設(shè)備是基于網(wǎng)絡(luò)信息 選擇的,并且將所選擇的虛擬機(jī)轉(zhuǎn)移到所述第二網(wǎng)絡(luò)設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,還包括識別所述網(wǎng)絡(luò)中的資源可用性。
3.根據(jù)權(quán)利要求2所述的方法,其中選擇所述第二網(wǎng)絡(luò)設(shè)備包括基于所述資源可用性 選擇一組有資格的網(wǎng)絡(luò)設(shè)備。
4.根據(jù)權(quán)利要求2所述的方法,其中識別所述網(wǎng)絡(luò)中的資源可用性包括監(jiān)視并廣告所 述第一網(wǎng)絡(luò)設(shè)備處的服務(wù)器可用性。
5.根據(jù)權(quán)利要求1所述的方法,其中所述參數(shù)包括所述第一網(wǎng)絡(luò)設(shè)備處的網(wǎng)絡(luò)參數(shù)、 以及處理和存儲器要求。
6.根據(jù)權(quán)利要求1所述的方法,其中選擇所述第二網(wǎng)絡(luò)設(shè)備包括計算尚未被選擇的所 述多個虛擬機(jī)和有資格接收所選擇的虛擬機(jī)的網(wǎng)絡(luò)設(shè)備之間的路徑開銷。
7.根據(jù)權(quán)利要求6所述的方法,還包括對所述路徑開銷中的每一個路徑開銷施加權(quán) 重,所述權(quán)重中的每一個權(quán)重都是基于所選擇的虛擬機(jī)和所述多個虛擬機(jī)中的另一個虛擬 機(jī)之間的網(wǎng)絡(luò)流量的。
8.根據(jù)權(quán)利要求1所述的方法,其中監(jiān)視與所述第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)流量包括 生成包括所述虛擬機(jī)之間的帶寬利用率的流量矩陣。
9.根據(jù)權(quán)利要求1所述的方法,其中確定所述參數(shù)中的一個或多個參數(shù)是否超過預(yù)定 閾值包括確定用于位于所述第一網(wǎng)絡(luò)設(shè)備處的所述虛擬機(jī)的帶寬是否超過所述預(yù)定閾值 達(dá)指定的時間段。
10.一種用于包括多個虛擬機(jī)的網(wǎng)絡(luò)中的資源分配的裝置,包括監(jiān)視器,被配置用于監(jiān)視與所述多個虛擬機(jī)中位于所述裝置處的一個或多個虛擬機(jī)相 關(guān)聯(lián)的網(wǎng)絡(luò)流量;控制器,被配置用于確定一個或多個參數(shù)是否超過預(yù)定閾值,并且在所述參數(shù)中的所 述一個或多個參數(shù)超過了所述預(yù)定閾值的情況下選擇將所述虛擬機(jī)之一轉(zhuǎn)移到網(wǎng)絡(luò)設(shè)備, 并將所選擇的虛擬機(jī)轉(zhuǎn)移到所述網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備是基于網(wǎng)絡(luò)信息選擇的;以 及存儲器,用于存儲所述網(wǎng)絡(luò)信息。
11.根據(jù)權(quán)利要求10所述的裝置,還包括發(fā)送器,被配置用于廣告所述裝置處的資源 可用性。
12.根據(jù)權(quán)利要求11所述的裝置,其中所述資源可用性包括可用CPU、存儲器、和帶寬。
13.根據(jù)權(quán)利要求10所述的裝置,其中所述網(wǎng)絡(luò)信息包括網(wǎng)絡(luò)拓?fù)浜蛶捯蟆?br>
14.根據(jù)權(quán)利要求13所述的裝置,其中所述網(wǎng)絡(luò)信息還包括等待時間。
15.根據(jù)權(quán)利要求10所述的裝置,其中所述控制器被配置為計算尚未被選擇的所述多個虛擬機(jī)和有資格接收所選擇的虛擬機(jī)的網(wǎng)絡(luò)設(shè)備之間的路徑開銷。
16.根據(jù)權(quán)利要求10所述的裝置,其中所述監(jiān)視器被配置為生成包括所述虛擬機(jī)之間 的帶寬利用率的流量矩陣。
17.根據(jù)權(quán)利要求10所述的裝置,其中確定一個或多個參數(shù)是否超過預(yù)定閾值包括確 定用于位于所述第一網(wǎng)絡(luò)設(shè)備處的所述虛擬機(jī)的帶寬是否超過所述預(yù)定閾值達(dá)指定的時 間段。
18.一種用于包括多個虛擬機(jī)的網(wǎng)絡(luò)中的資源分配的裝置,包括用于監(jiān)視與包括所述多個虛擬機(jī)中的至少一個虛擬機(jī)的第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò) 流量的裝置;用于確定一個或多個參數(shù)是否超過所述第一網(wǎng)絡(luò)設(shè)備處的預(yù)定閾值的裝置;以及用于在所述一個或多個參數(shù)超過所述預(yù)定閾值的情況下,選擇將所述虛擬機(jī)之一轉(zhuǎn)移 到第二網(wǎng)絡(luò)設(shè)備的裝置,所述第二網(wǎng)絡(luò)設(shè)備是基于網(wǎng)絡(luò)信息選擇的,和用于將所選擇的虛擬機(jī)轉(zhuǎn)移到所述第二網(wǎng)絡(luò)設(shè)備的裝置。
19.根據(jù)權(quán)利要求18所述的裝置,其中用于選擇所述第二網(wǎng)絡(luò)設(shè)備的裝置包括用于計 算尚未被選擇的所述多個虛擬機(jī)和有資格接收所選擇的虛擬機(jī)的網(wǎng)絡(luò)設(shè)備之間的路徑開 銷的裝置。
20.根據(jù)權(quán)利要求19所述的裝置,還包括用于對所述路徑開銷中的每一個路徑開銷施 加權(quán)重的裝置,所述權(quán)重中的每一個權(quán)重都是基于所選擇的虛擬機(jī)和所述多個虛擬機(jī)中的 另一個虛擬機(jī)之間的網(wǎng)絡(luò)流量的。
全文摘要
在一個實(shí)施例中,一種方法總地包括監(jiān)視與包括多個虛擬機(jī)中的至少一個虛擬機(jī)的第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)流量;確定參數(shù)是否超過了第一網(wǎng)絡(luò)設(shè)備處的預(yù)定閾值。如果該參數(shù)超過了該預(yù)定閾值,則選擇將虛擬機(jī)之一轉(zhuǎn)移到第二網(wǎng)絡(luò)設(shè)備,并且轉(zhuǎn)移該虛擬機(jī),其中第二網(wǎng)絡(luò)設(shè)備是基于網(wǎng)絡(luò)信息選擇的。還公開了一種用于資源分配的裝置。
文檔編號G06F15/173GK102112981SQ200980130223
公開日2011年6月29日 申請日期2009年7月24日 優(yōu)先權(quán)日2008年7月31日
發(fā)明者邁克爾·史密斯 申請人:思科技術(shù)公司