專利名稱:在虛擬化計(jì)算環(huán)境下運(yùn)行虛擬交換機(jī)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及虛擬交換機(jī),尤其涉及在虛擬化計(jì)算環(huán)境下運(yùn)行虛擬交換機(jī)的技術(shù)。
背景技術(shù):
術(shù)語(yǔ)“公用計(jì)算(utility computing)”已被用于指其中處理、存儲(chǔ)和網(wǎng)絡(luò)資源、軟件和數(shù)據(jù)能夠被客戶計(jì)算機(jī)系統(tǒng)和其它客戶設(shè)備(例如,移動(dòng)電話或媒體播放器)按需訪問的計(jì)算模型,非常像諸如水電的熟悉住宅公用服務(wù)。在一些實(shí)現(xiàn)中,為客戶設(shè)備訪問和使用分配的特定計(jì)算資源(例如,服務(wù)器、存儲(chǔ)驅(qū)動(dòng)器等)通過公用計(jì)算提供商與其顧客之間的 服務(wù)協(xié)議來指定。在常被稱為“云計(jì)算”的其它實(shí)現(xiàn)中,基礎(chǔ)信息技術(shù)(IT)基礎(chǔ)設(shè)施的細(xì)節(jié)對(duì)于公用計(jì)算顧客來講是透明的。云計(jì)算因易于訪問遠(yuǎn)程計(jì)算網(wǎng)站(例如,經(jīng)由互聯(lián)網(wǎng)或私有企業(yè)網(wǎng)絡(luò))而便利,并且經(jīng)常采取云消費(fèi)者可以通過web瀏覽器訪問和使用的基于web的資源、工具或應(yīng)用的形式,就好像所述資源、工具或應(yīng)用是安裝在云消費(fèi)者的計(jì)算機(jī)系統(tǒng)上的本地程序。一般預(yù)期商用云實(shí)現(xiàn)能滿足可在服務(wù)水平協(xié)議(SLA)中規(guī)定的云消費(fèi)者的服務(wù)質(zhì)量(QoS)要求。在典型的云實(shí)現(xiàn)中,云消費(fèi)者消費(fèi)作為服務(wù)的計(jì)算資源,并且只對(duì)使用的資源付費(fèi)。公用計(jì)算的采用因虛擬化的廣泛運(yùn)用而便利,虛擬化是創(chuàng)建計(jì)算資源,例如,操作系統(tǒng)、服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)資源等的虛擬(而不是實(shí)際)形式。例如,也被稱為邏輯分區(qū)(LPAR)的虛擬機(jī)(VM)是像物理機(jī)那樣執(zhí)行指令的物理機(jī)(例如,計(jì)算機(jī)系統(tǒng))的軟件實(shí)現(xiàn)。VM可被分類成系統(tǒng)VM或進(jìn)程VM。系統(tǒng)VM提供支持諸如Windows、Linux、AIX、Android等的整個(gè)操作系統(tǒng)(OS)以及其相關(guān)應(yīng)用的執(zhí)行的整個(gè)系統(tǒng)平臺(tái)。另一方面,進(jìn)程VM通常被設(shè)計(jì)成運(yùn)行單個(gè)程序和支持單個(gè)進(jìn)程。在任一種情況下,運(yùn)行在VM上的任何應(yīng)用軟件都受到那個(gè)VM所提供的資源和抽象概念的限制。因此,能夠通過部署可能與許多不同公用計(jì)算顧客相關(guān)聯(lián)的許多VM來有效管理和利用公共IT基礎(chǔ)設(shè)施所提供的實(shí)際資源。實(shí)際IT資源的虛擬化和VM的管理通常由被稱為VM監(jiān)控器(VMM)或管理程序的軟件來提供。在各種實(shí)現(xiàn)中,VMM可以運(yùn)行在裸硬件(類型I或本機(jī)VMM)上或運(yùn)行在操作系統(tǒng)(類型2或托管VMM)的頂部。在典型虛擬化計(jì)算環(huán)境下,VM可以相互通信以及利用傳統(tǒng)聯(lián)網(wǎng)協(xié)議與公用計(jì)算環(huán)境的IT基礎(chǔ)設(shè)施中的物理實(shí)體通信。如在現(xiàn)有技術(shù)中已知的,傳統(tǒng)聯(lián)網(wǎng)協(xié)議通常以眾所周知的七層開放系統(tǒng)互連(OSI)模型為前提,七層OSI模型包括(按升序)物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、和應(yīng)用層。通過用虛擬網(wǎng)絡(luò)連接來替代傳統(tǒng)物理層連接,使得VM能夠與其它網(wǎng)絡(luò)實(shí)體通信,就好像VM是物理網(wǎng)絡(luò)元件。傳統(tǒng)上,已經(jīng)在VMM內(nèi)(用軟件)實(shí)現(xiàn)了虛擬交換機(jī)(虛交換機(jī)),以便提供受VMM控制的VM之間以及VM與外部網(wǎng)絡(luò)之間的連通性。傳統(tǒng)虛交換機(jī)(或虛擬以太網(wǎng)橋(VEB))完全用軟件或與一個(gè)或多個(gè)網(wǎng)絡(luò)接口控制器(NIC)相結(jié)合使用軟件來進(jìn)行相關(guān)服務(wù)器內(nèi)的所有網(wǎng)絡(luò)業(yè)務(wù)轉(zhuǎn)發(fā)。例如,為了在由同一個(gè)VMM控制的VM之間傳送信息,VEB進(jìn)行存儲(chǔ)復(fù)制操作以便在VM之間傳送分組。最近,已經(jīng)提出了被稱為虛擬以太網(wǎng)端口匯集器(VEPA)的較新的一類虛交換機(jī)。一般說來,實(shí)現(xiàn)VEPA的虛交換機(jī)不完全用軟件對(duì)從VM發(fā)出的業(yè)務(wù)進(jìn)行本地轉(zhuǎn)發(fā)。也就是說,在實(shí)現(xiàn)VEPA的虛交換機(jī)中,在鏈路上將所有分組(包括VMM內(nèi)的VM到VM分組)發(fā)送給物理網(wǎng)絡(luò)交換機(jī)。在VEPA實(shí)現(xiàn)中,物理網(wǎng)絡(luò)交換機(jī)對(duì)分組進(jìn)行附加處理,并且當(dāng)目的地VM由與源VM相同的VMM控制時(shí),在同一條鏈路上發(fā)回分組。一般說來,在接收分組的相同物理交換機(jī)端口上發(fā)回分組要求物理網(wǎng)絡(luò)交換機(jī)在端口上實(shí)現(xiàn)被稱為“反射中繼”的特征。
發(fā)明內(nèi)容
一種運(yùn)行虛擬交換機(jī)的技術(shù)包括確定由虛擬機(jī)監(jiān)控器控制的虛擬機(jī)的網(wǎng)絡(luò)連接要求。還確定可用于處理虛擬機(jī)的數(shù)據(jù)業(yè)務(wù)的資源。最后,根據(jù)網(wǎng)絡(luò)連接要求和可用資源,選擇虛擬交換機(jī)的一個(gè)端口作為虛擬以太網(wǎng)橋或虛擬以太網(wǎng)端口匯集器來操作。
圖I是依照一個(gè)實(shí)施例的數(shù)據(jù)處理環(huán)境的高級(jí)方框圖;圖2描繪了依照一個(gè)實(shí)施例的圖I的示范性數(shù)據(jù)處理環(huán)境下的虛擬和物理資源的分層;圖3是依照一個(gè)實(shí)施例的數(shù)據(jù)處理系統(tǒng)的高級(jí)方框圖;圖4是依照一個(gè)實(shí)施例,應(yīng)用虛擬聯(lián)網(wǎng)的數(shù)據(jù)處理環(huán)境的一部分的高級(jí)方框圖;以及圖5是依照一個(gè)實(shí)施例,配置虛擬聯(lián)網(wǎng)環(huán)境的虛擬交換機(jī)的示范性方法的高級(jí)邏輯流程圖。
具體實(shí)施例方式與物理網(wǎng)絡(luò)交換機(jī)相比,應(yīng)用虛擬以太網(wǎng)橋(VEB)的典型虛擬交換機(jī)具有較短的等待時(shí)間(例如,當(dāng)應(yīng)用本地交換時(shí)),但具有較少的高級(jí)特征。此外,由不同虛擬化商家編寫的VEB可能具有顯著不同的功能并且可能無法充分實(shí)現(xiàn)網(wǎng)絡(luò)政策。按照本公開的各個(gè)方面,根據(jù)由虛擬機(jī)監(jiān)控器(VMM)控制的虛擬機(jī)的網(wǎng)絡(luò)連接要求和可用于處理VM的數(shù)據(jù)業(yè)務(wù)的資源(例如,可用于VMM的資源),將虛擬交換機(jī)的端口配置成VEB或虛擬以太網(wǎng)端口匯集器(VEPA)?,F(xiàn)在參照附圖,尤其參考圖1,圖I例示了依照本公開一個(gè)實(shí)施例的示范性數(shù)據(jù)處理環(huán)境100的高級(jí)方框圖。如圖所示,在描繪的實(shí)施例中作為云計(jì)算環(huán)境的數(shù)據(jù)處理環(huán)境100包括常被稱為云102的計(jì)算資源集合。云102內(nèi)的計(jì)算資源被互連以便通信,并且可被物理或虛擬地分組到(未示出)諸如私有、社區(qū)、公共、或混合云或它們的組合的一個(gè)或多個(gè)網(wǎng)絡(luò)中。以這種方式,數(shù)據(jù)處理環(huán)境100可以提供基礎(chǔ)設(shè)施、平臺(tái)和/或軟件作為諸如個(gè)人(例如,臺(tái)式、膝上型、筆記本、平板或手持)計(jì)算機(jī)110a、智能電話110b、服務(wù)器計(jì)算機(jī)系統(tǒng)IlOc的客戶設(shè)備110、和諸如媒體播放器(例如,機(jī)頂盒、數(shù)字多功能盤(DVD)播放器、或數(shù)字錄像機(jī)(DVR))的消費(fèi)者電子產(chǎn)品IlOd可訪問的服務(wù)。應(yīng)該明白,顯示在圖I中的客戶設(shè)備110的類型只是例示性的,客戶設(shè)備110可以是能夠經(jīng)由分組網(wǎng)絡(luò)與計(jì)算資源通信和訪問計(jì)算資源的服務(wù)的任何類型的電子設(shè)備。圖2是描繪依照一個(gè)實(shí)施例的駐留在圖I的云102的集合中的虛擬和物理資源的分層圖。應(yīng)該明白,顯示在圖2中的計(jì)算資源、層、和功能只是例示性的,要求保護(hù)的發(fā)明的實(shí)施例不局限于此。如圖所描繪,云102包括物理層200、虛擬化層202、管理層204、和工作負(fù)載層206。物理層200包括可被用于實(shí)例化虛擬實(shí)體以便供云服務(wù)提供商和它的顧客使用的各種物理硬件和軟件部件。舉一個(gè)例子來說,硬件部件可以包括大型主機(jī)(例如,IBM zSeries 系統(tǒng))、精簡(jiǎn)指令集計(jì)算機(jī)(Rise)體系結(jié)構(gòu)服務(wù)器(例如,IBM pSeries 系統(tǒng))、lBM xSeries ,系統(tǒng)、皿 Blade Center 系統(tǒng)、存儲(chǔ)設(shè)備(例如,閃速驅(qū)動(dòng)器、磁驅(qū)動(dòng)器、光驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等)、物理網(wǎng)絡(luò)、和聯(lián)網(wǎng)部件(例如,路由器、交換機(jī)等)。軟件部件可以包括操作系統(tǒng)軟件(例如,AIX、Windows, Linux等)、網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件(例如,包括web服務(wù)器軟件的IBM WebSphere .應(yīng)用服務(wù)器軟件)、和數(shù)據(jù)庫(kù)軟件(例如,IBM DB2 ,數(shù)據(jù)庫(kù)軟件)。IBM、zSeries、pSeries、xSeries、 BladeCenter>WebSphere和DB2是在全世界許多權(quán)威機(jī)構(gòu)注冊(cè)的美國(guó)國(guó)際商用機(jī)器公司的商標(biāo)。駐留在云102的物理層200中的計(jì)算資源被一個(gè)或多個(gè)虛擬機(jī)監(jiān)控器(VMM)或管理程序虛擬化和管理。VMM呈現(xiàn)包括虛擬實(shí)體(例如,虛擬服務(wù)器、虛擬存儲(chǔ)器、虛擬網(wǎng)絡(luò)(包括虛擬私有網(wǎng)絡(luò)))、虛擬應(yīng)用、和虛擬客戶機(jī)的虛擬化層202。如前所述,作為物理層200中的基礎(chǔ)資源的抽象概念的這些虛擬實(shí)體可由云消費(fèi)者的客戶設(shè)備110按需訪問。VMM還支持為云102實(shí)現(xiàn)各種管理功能的管理層204。這些管理功能可由VMM和/或運(yùn)行在VMM上的一個(gè)或多個(gè)管理或服務(wù)VM直接實(shí)現(xiàn),并且可以提供諸如資源提供、計(jì)量和定價(jià)、安全、用戶門戶服務(wù)、服務(wù)水平管理、以及SLA規(guī)劃和落實(shí)的功能。資源提供功能提供被用于在云計(jì)算環(huán)境內(nèi)執(zhí)行任務(wù)的計(jì)算資源和其它資源的動(dòng)態(tài)獲取。計(jì)量和定價(jià)功能提供成本跟蹤(隨著資源在云計(jì)算環(huán)境內(nèi)被提供和利用)和所用資源消耗的記帳或結(jié)帳。舉一個(gè)例子來說,所用資源可以包括應(yīng)用軟件許可證。安全功能為云消費(fèi)者和任務(wù)提供身份核實(shí)以及數(shù)據(jù)和其它資源的保護(hù)。用戶門戶功能為消費(fèi)者和系統(tǒng)管理員提供對(duì)云計(jì)算環(huán)境的訪問。服務(wù)水平管理功能提供云計(jì)算資源分配和管理,使得滿足所要求服務(wù)水平。例如,安全功能或服務(wù)水平管理功能可被配置成限制將虛擬機(jī)(VM)映像部署/遷移到指示云消費(fèi)者可接受的地理位置。服務(wù)水平協(xié)議(SLA)規(guī)劃和落實(shí)功能為依照SLA預(yù)期未來要求的云計(jì)算資源提供預(yù)安排以及獲取。可由一個(gè)或多個(gè)消費(fèi)者VM實(shí)現(xiàn)的工作負(fù)載層206提供可以利用云計(jì)算環(huán)境的功能的例子??蓮墓ぷ髫?fù)載層206提供的工作負(fù)載和功能的例子包括映射和導(dǎo)航;軟件開發(fā)和生命周期管理;虛擬課堂教學(xué)播送;數(shù)據(jù)分析處理;以及交易處理?,F(xiàn)在參考圖3,圖3例示了可被用于實(shí)現(xiàn)圖2的物理層200中的物理主計(jì)算平臺(tái)或圖I的客戶設(shè)備110的示范性數(shù)據(jù)處理系統(tǒng)300的高級(jí)方框圖。在例示的示范性實(shí)施例中,數(shù)據(jù)處理系統(tǒng)300包括一個(gè)或多個(gè)網(wǎng)絡(luò)接口 304,網(wǎng)絡(luò)接口 304使數(shù)據(jù)處理系統(tǒng)300可以經(jīng)由纜線和/或一個(gè)或多個(gè)有線或無線、公開或私有網(wǎng)絡(luò)、局域或廣域網(wǎng)絡(luò)(包括互聯(lián)網(wǎng))與云102中的一種或多種計(jì)算資源通信。數(shù)據(jù)處理系統(tǒng)300另外還包括一個(gè)或多個(gè)處理器302,處理器302處理數(shù)據(jù)和程序代碼,例如,以便在數(shù)據(jù)處理環(huán)境100下管理、訪問和操縱數(shù)據(jù)或軟件。數(shù)據(jù)處理系統(tǒng)300還包括諸如端口、顯示器和附接設(shè)備等的輸入/輸出(I/O)設(shè)備306,I/O設(shè)備306接收輸入并提供數(shù)據(jù)處理環(huán)境100下的數(shù)據(jù)處理系統(tǒng)300和/或其它資源所進(jìn)行的處理的輸出。最后,數(shù)據(jù)處理系統(tǒng)包括數(shù)據(jù)存儲(chǔ)器310,數(shù)據(jù)存儲(chǔ)器310可以包括一個(gè)或多個(gè)易失性或非易失性存儲(chǔ)設(shè)備,這些存儲(chǔ)設(shè)備包括內(nèi)存、固態(tài)驅(qū)動(dòng)器、光或磁盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等。數(shù)據(jù)存儲(chǔ)器310可以存儲(chǔ),例如,物理層200內(nèi)的軟件和/或諸如web瀏覽器的便于訪問工作負(fù)載層206和/或管理層204的軟件。在諸如參考圖1-3所述的那些的公用或云計(jì)算環(huán)境下,虛擬網(wǎng)絡(luò)常被實(shí)現(xiàn)成支持VM之間的通信。在傳統(tǒng)實(shí)現(xiàn)中,由同一 VMM控制的VM之間 的網(wǎng)絡(luò)業(yè)務(wù)主要由作為虛擬以太網(wǎng)橋(VEB)的虛擬交換機(jī)來路由?,F(xiàn)在參考圖4,圖4描繪了依照本公開的一個(gè)實(shí)施例配置的應(yīng)用虛擬交換機(jī)的數(shù)據(jù)處理環(huán)境400的一部分的高級(jí)方框圖。例如,數(shù)據(jù)處理環(huán)境400可以實(shí)現(xiàn)描繪在圖I中的云102的一部分。在描繪的實(shí)施例中,數(shù)據(jù)處理環(huán)境400包括網(wǎng)際協(xié)議(IP)網(wǎng)絡(luò)402,IP網(wǎng)絡(luò)402包括每一個(gè)與各自一個(gè)物理網(wǎng)絡(luò)交換機(jī)406a、406b耦接的多個(gè)網(wǎng)絡(luò)段404a、404b。正如所描繪的那樣,物理網(wǎng)絡(luò)交換機(jī)406a、406b中的每一個(gè)包括各自的轉(zhuǎn)發(fā)數(shù)據(jù)結(jié)構(gòu)(例如,各自的轉(zhuǎn)發(fā)表(F)) 407a、407b,通過該轉(zhuǎn)發(fā)表(F),物理網(wǎng)絡(luò)交換機(jī)406a、406b根據(jù)例如包含在分組中的OSI層2地址(例如,根據(jù)MAC地址),向分組的目的地轉(zhuǎn)發(fā)到來的數(shù)據(jù)分組。物理主機(jī)410a、410b與網(wǎng)絡(luò)段404a耦接,而物理主機(jī)410c與網(wǎng)絡(luò)段404b耦接。物理主機(jī)410a-410c中的每一個(gè)可以例如利用如圖3所描繪的數(shù)據(jù)處理系統(tǒng)300來實(shí)現(xiàn)。物理主機(jī)410a_410c的每一個(gè)執(zhí)行各自的一個(gè)VMM 412a_412c,該VMM例如在人和/或通過IP網(wǎng)絡(luò)402與物理主機(jī)410a-410c耦接的管理控制臺(tái)420處的自動(dòng)云管理員的指導(dǎo)下,虛擬化和管理其各自的物理主機(jī)410的資源。物理主機(jī)410a上的VMM 412a支持VM 414a、414b的運(yùn)行,物理主機(jī)410b上的VMM 412b支持VM 414c、414d的運(yùn)行,以及物理主機(jī)410c上的VMM 412c支持VM 414e、414f的運(yùn)行。VMM 412a在VM 414a、414b的支持下實(shí)現(xiàn)虛擬交換機(jī)432a和端口選擇例程418a。類似地,VMM 412b在VM 414c、414d的支持下實(shí)現(xiàn)虛擬交換機(jī)432b和端口選擇例程418b。同樣,VMM 412c在VM 414e、414f的支持下實(shí)現(xiàn)虛擬交換機(jī)432c和端口選擇例程418c。確定虛擬交換機(jī)432的端口被指定成VEB端口還是VEPA端口的端口選擇例程418c將在下面結(jié)合圖5作進(jìn)一步描述。應(yīng)當(dāng)懂得,雖然兩個(gè)VM被例示成部署在物理主機(jī)410a-410c的每一個(gè)上,但可以將多于或少于兩個(gè)的VM部署在按照本公開配置的物理主機(jī)上。在各種實(shí)施例中,VM 414a-414f可以包括一個(gè)或多個(gè)云消費(fèi)者和/或云提供商的VM。在描繪的實(shí)施例中,每個(gè)VM 414具有一個(gè)(和可以包括多個(gè))至少在OSI模型的層2和3上提供網(wǎng)絡(luò)連通性的虛擬網(wǎng)絡(luò)接口控制器VNIC1-VNIC6。VM 414a利用VNICl來便利經(jīng)由虛擬交換機(jī)432a的第一端口的通信,以及VM414b利用VNIC2來便利經(jīng)由虛擬交換機(jī)432a的第二端口的通信。例如,當(dāng)虛擬交換機(jī)432a的第一和第二端口被配置成虛擬以太網(wǎng)橋(VEB)端口時(shí),VM 414a和VM 414b之間的通信可完全經(jīng)由軟件(例如,使用存儲(chǔ)器復(fù)制操作)來路由。作為另一個(gè)例子,當(dāng)虛擬交換機(jī)432a的第一和第二端口被配置成虛擬以太網(wǎng)端口匯集器(VEPA)端口時(shí),VM 414a和VM 414b之間的通信通過物理NIC420a并在網(wǎng)絡(luò)段404a上路由到物理交換機(jī)406a,物理交換機(jī)406a經(jīng)由網(wǎng)絡(luò)段404a和物理NIC 420a將通信路由回到虛擬交換機(jī)432a。類似地,VM 414c和VM 414d分別利用VNIC3和VNIC4來便利經(jīng)由虛擬交換機(jī)432b的不同端口的通信。同樣,VM 414e和VM 414f分別利用VNIC5和VNIC6來經(jīng)由虛擬交換機(jī)432c的不同端口進(jìn)行通信。按照本公開的各個(gè)方面,虛擬交換機(jī)432a_432c的每個(gè)端口可被獨(dú)立地配置成VEB端口或VEPA端口。例如,VNICl與虛擬交換機(jī)432a之間的端口可被配置成VEB端口或VEPA端口。在VMM只管理兩個(gè)VM的情況下,在任何給定時(shí)間點(diǎn),虛擬交換機(jī)的兩個(gè)端口通常都被配置成VEB端口或VEPA端口。當(dāng)VMM管理不止兩個(gè)VM時(shí),在任何給定時(shí)間點(diǎn),虛擬交換機(jī)的一些端口可被配置成VEB端口,而虛擬交換機(jī)的其它端口可被配置成VEPA端口。通常,與物理網(wǎng)絡(luò)交換機(jī)相比,作為VEB的虛擬交換機(jī)具有較短的等待時(shí)間(例如,當(dāng)應(yīng)用本地交換時(shí)),但具有較少的高級(jí)特征。如前所述,由不同虛擬化商家編寫的VEB可能具有顯著不同的功能并且可能未充分實(shí)現(xiàn)網(wǎng)絡(luò)政策。通常,使用VEB實(shí)現(xiàn)高級(jí)特征(諸如網(wǎng)絡(luò)訪問控制列表(ACL))需要更多的資源(例如,當(dāng)用軟件實(shí)現(xiàn)時(shí),更多的中央處理單元(CPU)周期,或者當(dāng)用物理NIC硬件實(shí)現(xiàn)時(shí),更復(fù)雜的專用集成電路(ASIC))。 在物理服務(wù)器的CPU (或NIC的ASIC)已經(jīng)負(fù)擔(dān)很重(例如,大于75%)的情況下,可以應(yīng)用VEPA來分擔(dān)與在由同一個(gè)VMM控制的VM之間傳送分組相關(guān)聯(lián)的附加CPU工作。雖然應(yīng)用VEPA的虛擬交換機(jī)具有較長(zhǎng)的等待時(shí)間(例如,由于在外圍部件互連(PCI)總線上將分組傳送到物理網(wǎng)絡(luò)交換機(jī)并傳回),但由于所有業(yè)務(wù)流過符合標(biāo)準(zhǔn)的物理網(wǎng)絡(luò)交換機(jī),所以應(yīng)用VEPA的虛擬交換機(jī)通常更一致地提供高級(jí)特征。在網(wǎng)絡(luò)政策要求嚴(yán)格實(shí)施的情況下,為虛擬交換機(jī)實(shí)現(xiàn)VEPA端口允許網(wǎng)絡(luò)政策由諸如網(wǎng)絡(luò)交換機(jī)406a、406b的符合標(biāo)準(zhǔn)的物理網(wǎng)絡(luò)交換機(jī)來實(shí)施。例如,物理網(wǎng)絡(luò)交換機(jī)可以實(shí)現(xiàn)將所期望規(guī)則應(yīng)用于物理網(wǎng)絡(luò)交換機(jī)的端口的網(wǎng)絡(luò)訪問控制列表(ACL)。這些規(guī)則可以例如規(guī)定被準(zhǔn)許使用端口(例如,通過指定允許的IP和/或MAC地址)的主機(jī)和/或網(wǎng)絡(luò)的列表或端口可允許的業(yè)務(wù)的類型(例如,可以根據(jù)應(yīng)用的協(xié)議分類的業(yè)務(wù),以及每個(gè)業(yè)務(wù)類別可經(jīng)受不同的速率限制和/或相對(duì)于其它業(yè)務(wù)類別被優(yōu)先化)。這樣,與在物理服務(wù)器(或NIC)中實(shí)現(xiàn)相同功能相對(duì)照,物理網(wǎng)絡(luò)交換機(jī)能夠以相對(duì)有效的方式利用網(wǎng)絡(luò)ACL來控制入境和出境業(yè)務(wù)兩者(類似于防火墻)。一般說來,指定了 VEB或VEPA模式的虛擬交換機(jī)在靜態(tài)環(huán)境下充分地起作用。然而,指定了 VEB或VEPA模式的虛擬交換機(jī)對(duì)于動(dòng)態(tài)環(huán)境可能不理想。按照本公開的各個(gè)方面,(例如,在VMM 412或物理NIC 420內(nèi))實(shí)現(xiàn)了一種自適應(yīng)機(jī)制(即,端口選擇例程418),該自適應(yīng)機(jī)制根據(jù)可用資源和/或性能目標(biāo)來控制虛擬交換機(jī)(例如,交換機(jī)432或物理NIC 420內(nèi)的虛擬交換機(jī))的端口作為VEB或VEPA端口(在每個(gè)端口的基礎(chǔ)上)。端口選擇例程418 —般被配置成評(píng)估VM網(wǎng)絡(luò)連接的性能和功能要求,以確定VMM 412上的可用資源,并選擇哪種模式用于與VM 414連接的端口。在一個(gè)或多個(gè)實(shí)施例中,端口選擇例程418可以在各種時(shí)間上實(shí)現(xiàn)。例如,端口選擇例程418可在VM部署時(shí)(例如,在初始部署和/或遷移時(shí))或作為負(fù)載平衡機(jī)制的一部分實(shí)現(xiàn)。對(duì)虛擬交換機(jī)432的端口的指定在VM 414正在運(yùn)行時(shí)可以保持靜態(tài),或可在VM 414運(yùn)行期間改變。例如,作為負(fù)載平衡機(jī)制的一部分,可以根據(jù)例如已知服務(wù)器負(fù)載發(fā)生變化的某日某時(shí)或某星期某日,將正在運(yùn)行的VM的虛擬交換機(jī)的端口從VEB端口改變成VEPA端口。在各種實(shí)施例中,可將標(biāo)記為需要短等待時(shí)間(例如,依據(jù)系統(tǒng)管理員)的VM與虛擬交換機(jī)的VEB端口連接,而可將需要更多訪問控制的VM與虛擬交換機(jī)的VEPA端口連接。在各種實(shí)施例中,虛擬交換機(jī)的端口可被獨(dú)立配置成VEB或VEPA端口。以這種方式,能夠通過在VEB模式和VEPA模式之間切換相關(guān)的虛擬交換機(jī)端口,來適應(yīng)需要隨時(shí)間動(dòng)態(tài)改變的VM。當(dāng)虛擬交換機(jī)432a的端口被配置成VEPA端口時(shí),虛擬交換機(jī)432a使用物理NIC420a (在網(wǎng)絡(luò)段404a)上將VM 414a、414b之間的通信路由到物理網(wǎng)絡(luò)交換機(jī)406a。當(dāng)虛擬交換機(jī)432a的端口被配置成VEB端口時(shí),虛擬交換機(jī)432a直接(使用軟件或使用軟件和物理NIC 420a)在VM 414a、414b之間路由通信。類似地,當(dāng)虛擬交換機(jī)432b的端口被配置成VEPA端口時(shí),虛擬交換機(jī)432b使用物理NIC 420b (在網(wǎng)絡(luò)段404a)上將VM 414c、414d之間的通信路由到物理網(wǎng)絡(luò)交換機(jī)406a。同樣,當(dāng)虛擬交換機(jī)432b的端口被配置成VEB端口時(shí),虛擬交換機(jī)432b直接(使用軟件或使用軟件和物理NIC 420b)在VM 414c和VM 414d之間路由通信。響應(yīng)于虛擬交換機(jī)432c的端口被配置成VEPA端口,虛擬交換機(jī)432c使用物理NIC 420c (在網(wǎng)絡(luò)段404b)上將VM 414e、414f之間的通信路由到物理網(wǎng)絡(luò)交換機(jī)406b。響應(yīng)于虛擬交換機(jī)432c的端口被配置成VEB端口,虛擬交換機(jī)432c直接(使用軟件或使用軟件和物理NIC 420c)在VM 414e和VM 414f之間路由通信?,F(xiàn)在參考圖5,圖5例示了依照本公開的一個(gè)實(shí)施例,配置虛擬聯(lián)網(wǎng)環(huán)境的虛擬交換機(jī)的示范性方法的高級(jí)邏輯流程圖。圖5的流程圖按邏輯順序而不是嚴(yán)格的時(shí)間順序描繪了各步驟。因此,在至少一些實(shí)施例中,可以以與所例示不同的順序或同時(shí)地執(zhí)行邏輯流程圖的至少一些步驟。例示在圖5中的進(jìn)程可由例如執(zhí)行端口選擇例程418的每個(gè)VMM412 (在圖4的數(shù)據(jù)處理環(huán)境400下)執(zhí)行,或可由每個(gè)物理NIC 420執(zhí)行。該進(jìn)程從方塊500開始,然后轉(zhuǎn)到方塊502,在方塊502中,VMM412確定由VMM控制的VM 414的網(wǎng)絡(luò)連接要求。如上所述,VM的網(wǎng)絡(luò)連接要求可以例如由系統(tǒng)管理員指定或基于業(yè)務(wù)分類(例如,業(yè)務(wù)類型、源MAC、目的地MAC、和/或數(shù)據(jù)業(yè)務(wù)的其它字段)的自動(dòng)選擇。舉一個(gè)例子來說,當(dāng)VM具有短等待時(shí)間要求(S卩,小于,例如,I微秒的第一預(yù)定時(shí)段的等待時(shí)間)時(shí),可以選擇VM的虛擬交換機(jī)端口運(yùn)行在VEB模式下。接著,在方塊504中,VMM 412 (或物理NIC420)確定什么資源可用。例如,使用VEB實(shí)現(xiàn)高級(jí)特征需要更多資源(例如,當(dāng)用軟件實(shí)現(xiàn)時(shí),更多的中央處理單元(CPU)周期)。在服務(wù)器的CPU (或物理NIC的ASIC)已經(jīng)負(fù)擔(dān)很重(例如,大于諸如75%或80%的可選閾值)的情況下,可以將虛擬交換機(jī)端口配置成VEPA端口,以分擔(dān)與在由同一個(gè)VMM控制的VM之間傳送分組相關(guān)聯(lián)的附加CPU O^AISC)工作。接著,在方塊506中,VMM 412 (或物理NIC 420)選擇虛擬交換機(jī)432的端口是作為VEB端口工作還是作為VEPA端口工作。例如,可以為每個(gè)端口保持每端口規(guī)則數(shù)據(jù)結(jié)構(gòu)(例如,表格),以便為端口提供選擇VEB還是VEPA的默認(rèn)和/或定制每端口規(guī)則。舉一個(gè)例子來說,每個(gè)端口可以具有指定多條規(guī)則的列表,這些規(guī)則可以按給予列表中的較早或較晚規(guī)則的優(yōu)先權(quán)被依次應(yīng)用。雖然實(shí)現(xiàn)VEPA端口的虛擬交換機(jī)具有較長(zhǎng)的等待時(shí)間(例如,由于在外圍部件互連(PCI)總線上將分組傳送到物理網(wǎng)絡(luò)交換機(jī)并傳回),但由于所有業(yè)務(wù)流過符合標(biāo)準(zhǔn)的物理網(wǎng)絡(luò)交換機(jī),所以實(shí)現(xiàn)VEPA端口的虛擬交換機(jī)便于提供高級(jí)特征。在網(wǎng)絡(luò)政策要求嚴(yán)格實(shí)施的情況下(例如,在與只指定被準(zhǔn)許在端口上的業(yè)務(wù)的類型相對(duì)照,要求訪問控制在指定被準(zhǔn)許使用端口的主機(jī)和/或網(wǎng)絡(luò)的列表(例如,通過指定允許的IP地址)的第一訪問控制水平之上的情況下),實(shí)現(xiàn)VEPA端口允許網(wǎng)絡(luò)政策被符合標(biāo)準(zhǔn)的物理網(wǎng)絡(luò)交換機(jī)嚴(yán)格地實(shí)施。在方塊506之后,在方塊510上結(jié)束描繪在圖5中的進(jìn)程。雖然如參考一個(gè)或多個(gè)優(yōu)選實(shí)施例所述已經(jīng)對(duì)本發(fā)明進(jìn)行了具體展示,但本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)懂得,可以不偏離本發(fā)明的精神和 范圍地在形式和細(xì)節(jié)上作出各種改變。例如,應(yīng)當(dāng)明白,盡管本文提供的詳細(xì)描述提供了云計(jì)算環(huán)境的多個(gè)實(shí)施例,但本文公開的教導(dǎo)不局限于云計(jì)算環(huán)境。而是,這些實(shí)施例可以在包括客戶機(jī)-服務(wù)器和對(duì)等計(jì)算環(huán)境的現(xiàn)在已知或以后發(fā)展的任何其它類型的計(jì)算環(huán)境下實(shí)現(xiàn)。并且,盡管針對(duì)執(zhí)行指示本文所述的功能的程序代碼的計(jì)算機(jī)系統(tǒng)對(duì)一些方面作出描述,但應(yīng)當(dāng)明白,這些實(shí)施例可替代地可以實(shí)現(xiàn)成包括存儲(chǔ)媒體(例如,數(shù)據(jù)存儲(chǔ)器310)的程序產(chǎn)品,該存儲(chǔ)媒體存儲(chǔ)可被數(shù)據(jù)處理系統(tǒng)處理,以使數(shù)據(jù)處理系統(tǒng)執(zhí)行一種或多種所述功能的程序代碼。
權(quán)利要求
1.一種運(yùn)行虛擬交換機(jī)的方法,包含 使用數(shù)據(jù)處理系統(tǒng)來確定由虛擬機(jī)監(jiān)控器控制的虛擬機(jī)的網(wǎng)絡(luò)連接要求; 使用所述數(shù)據(jù)處理系統(tǒng)來確定可用于處理虛擬機(jī)的數(shù)據(jù)業(yè)務(wù)的資源;以及使用所述數(shù)據(jù)處理系統(tǒng),根據(jù)所述網(wǎng)絡(luò)連接要求和可用資源來選擇虛擬交換機(jī)的一個(gè)端口是否作為虛擬以太網(wǎng)橋和虛擬以太網(wǎng)端口匯集器之一操作。
2.如權(quán)利要求I所述的方法,其中,響應(yīng)于包括在虛擬機(jī)中的第一虛擬機(jī)要求等待時(shí)間短于第一預(yù)定時(shí)段,選擇虛擬交換機(jī)的所述端口作為用于所述第一虛擬機(jī)的虛擬以太網(wǎng)橋操作。
3.如權(quán)利要求2所述的方法,其中,響應(yīng)于包括在虛擬機(jī)中的第二虛擬機(jī)要求訪問控制高于第一訪問控制水平,選擇虛擬交換機(jī)的另一個(gè)端口作為用于所述第二虛擬機(jī)的虛擬以太網(wǎng)端口匯集器操作。
4.如權(quán)利要求I所述的方法,其中,所述選擇響應(yīng)于虛擬交換機(jī)之一的初始部署而發(fā)生。
5.如權(quán)利要求I所述的方法,其中,所述選擇響應(yīng)于虛擬交換機(jī)之一的遷移而發(fā)生。
6.如權(quán)利要求I所述的方法,其中,每個(gè)虛擬機(jī)的網(wǎng)絡(luò)連接要求由數(shù)據(jù)處理系統(tǒng)的管理員指定,以及可用于處理虛擬機(jī)的數(shù)據(jù)業(yè)務(wù)的資源對(duì)應(yīng)于可用于虛擬機(jī)監(jiān)控器的資源。
7.如權(quán)利要求I所述的方法,其中,虛擬交換機(jī)的端口可被配置成根據(jù)每個(gè)虛擬機(jī)的網(wǎng)絡(luò)連接要求,在作為虛擬以太網(wǎng)橋操作和作為虛擬以太網(wǎng)端口匯集器操作之間改變。
8.如權(quán)利要求I所述的方法,其中,所述選擇響應(yīng)于數(shù)據(jù)處理系統(tǒng)上的負(fù)載而發(fā)生。
9.一種數(shù)據(jù)處理系統(tǒng),包含 包括程序代碼的數(shù)據(jù)存儲(chǔ)器;以及 與所述數(shù)據(jù)存儲(chǔ)器耦接的處理器,其中,所述處理器被配置成執(zhí)行所述程序代碼,以便 確定由虛擬機(jī)監(jiān)控器控制的虛擬機(jī)的網(wǎng)絡(luò)連接要求; 確定可用于處理虛擬機(jī)的數(shù)據(jù)業(yè)務(wù)的資源;以及 根據(jù)所述網(wǎng)絡(luò)連接要求和可用資源,選擇虛擬交換機(jī)的一個(gè)端口是否作為虛擬以太網(wǎng)橋和虛擬以太網(wǎng)端口匯集器之一操作。
10.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中,響應(yīng)于包括在虛擬機(jī)中的第一虛擬機(jī)要求等待時(shí)間短于第一預(yù)定時(shí)段,選擇虛擬交換機(jī)的所述端口作為用于所述第一虛擬機(jī)的虛擬以太網(wǎng)橋操作。
11.如權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,響應(yīng)于包括在虛擬機(jī)中的第二虛擬機(jī)要求訪問控制高于第一訪問控制水平,選擇虛擬交換機(jī)的另一個(gè)端口作為用于所述第二虛擬機(jī)的虛擬以太網(wǎng)端口匯集器操作。
12.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中,所述選擇響應(yīng)于虛擬交換機(jī)之一的初始部署而發(fā)生。
13.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中,所述選擇響應(yīng)于虛擬交換機(jī)之一的遷移而發(fā)生。
14.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中,每個(gè)虛擬機(jī)的網(wǎng)絡(luò)連接要求由數(shù)據(jù)處理系統(tǒng)的管理員指定,以及可用于處理虛擬機(jī)的數(shù)據(jù)業(yè)務(wù)的資源對(duì)應(yīng)于可用于虛擬機(jī)監(jiān)控器的資源。
15.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中,虛擬交換機(jī)的端口可配置成根據(jù)每個(gè)虛擬機(jī)的網(wǎng)絡(luò)連接要求,在作為虛擬以太網(wǎng)橋操作和作為虛擬以太網(wǎng)端口匯集器操作之間改變。
16.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中,所述選擇響應(yīng)于數(shù)據(jù)處理系統(tǒng)上的負(fù)載而發(fā)生。
全文摘要
運(yùn)行虛擬交換機(jī)的技術(shù)包括確定由虛擬機(jī)監(jiān)控器控制的虛擬機(jī)的網(wǎng)絡(luò)連接要求。還確定可用于處理虛擬機(jī)的數(shù)據(jù)業(yè)務(wù)的資源。最后,根據(jù)網(wǎng)絡(luò)連接要求和可用資源,選擇虛擬交換機(jī)的一個(gè)端口作為虛擬以太網(wǎng)橋或虛擬以太網(wǎng)端口匯集器操作。
文檔編號(hào)H04L12/46GK102821021SQ20121014623
公開日2012年12月12日 申請(qǐng)日期2012年5月11日 優(yōu)先權(quán)日2011年5月13日
發(fā)明者J·奇丹畢, A·畢斯瓦, J·布斯瓦爾, D·榮德 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司