大型數(shù)據(jù)中心中對虛擬機移動性的處理的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本公開涉及在大型數(shù)據(jù)中心環(huán)境中的虛擬機迀移期間維持流量流。
【背景技術(shù)】
[0002]隨著高度虛擬化的工作負載的出現(xiàn)和向云部署方向驅(qū)使,有必要具有支持高度可擴展的彈性模型的網(wǎng)絡(luò)基礎(chǔ)設(shè)施以確保資源(例如,存儲、網(wǎng)絡(luò)和計算)被高效利用并且可以基于用戶/客戶需求而被按需供應(yīng)。虛擬化允許虛擬機移動性,使得虛擬機能夠進行從一個物理服務(wù)器到另一物理服務(wù)器的有狀態(tài)迀移,并且該虛擬化是動態(tài)按需供應(yīng)資源的完整范例。
【附圖說明】
[0003]圖1A是示出了被附著到在物理設(shè)備中運行的虛擬交換機的虛擬機的示例網(wǎng)絡(luò)拓撲的框圖,并且其中本文中所呈現(xiàn)的技術(shù)可以被用于處理在不同物理設(shè)備中運行的虛擬交換機之間的一個或多個虛擬機的迀移,該一個或多個虛擬機被附接到網(wǎng)絡(luò)拓撲中的不同的物理交換機。
[0004]圖1B示出了在虛擬機從一個物理設(shè)備迀移到另一物理設(shè)備之前,與虛擬機相關(guān)聯(lián)的地址解析協(xié)議(ARP)緩存的內(nèi)容的示例。
[0005]圖2A是與圖1A相似但在最初被連接到在第一物理設(shè)備中運行的第一虛擬交換機的虛擬機迀移到在被附接到與第一物理設(shè)備不同的物理交換機的第二物理設(shè)備中運行的第二虛擬交換機之后的圖示,以及與不同物理設(shè)備上的兩個虛擬機之間的流量流相關(guān)聯(lián)的報頭?目息O
[0006]圖2Β是與圖1B相似的圖,但是示出了針對圖2Α中所描述的情境迀移后虛擬機的ARP緩存的內(nèi)容。
[0007]圖3Α是與圖2Α相似但在最初被連接到在第一物理設(shè)備中運行的第一虛擬交換機的虛擬機迀移到在被附接到與第一物理設(shè)備不同的物理交換機的第二物理設(shè)備中運行的第二虛擬交換機之后的圖示以及與已迀移的虛擬機和相同物理設(shè)備上的另一虛擬機之間的流量相關(guān)聯(lián)的報頭信息。
[0008]圖3Β是與圖2Β相似的圖,但是示出了針對圖3Α中所描述的情境迀移后虛擬機的ARP緩存的內(nèi)容。
[0009]圖4描繪了根據(jù)本文中所公開的技術(shù),目的地媒體訪問控制(MAC)地址與網(wǎng)絡(luò)拓撲中的多個物理交換機相關(guān)聯(lián)的共享MAC地址的替換。
[0010]圖5是描繪了在物理設(shè)備處被執(zhí)行以確定分組的DMAC地址是否將被共享MAC地址替換的操作的流程圖。
[0011]圖6是根據(jù)本文中所呈現(xiàn)的技術(shù),被配置為執(zhí)行圖5中所描繪的操作的物理設(shè)備的示例框圖。
【具體實施方式】
[0012]挺述
[0013]提供了用于在虛擬機從一個物理設(shè)備迀移到另一物理設(shè)備期間維持流量流的技術(shù)。這些技術(shù)可以被實施為計算機可讀存儲介質(zhì)中的方法、裝置或指令。在網(wǎng)絡(luò)中被配置為托管虛擬交換機和一個或多個虛擬機的物理設(shè)備處,于虛擬交換機處接收來自與該虛擬交換機通信的源虛擬機的分組。目的地媒體訪問控制(DMAC)地址從分組中被識別,該DMAC地址指示分組的目的地主機(可以是虛擬主機或物理主機)。做出關(guān)于在可由虛擬交換機訪問的媒體訪問控制(MAC)地址的數(shù)據(jù)庫中是否存在分組的DMAC地址的確定。如果該確定指示在MAC地址的數(shù)據(jù)庫中不存在DMAC地址,則分組的DMAC地址被用與網(wǎng)絡(luò)中多個物理交換機相關(guān)聯(lián)的共享MAC地址替換。分組然后用作為DMAC地址的共享MAC地址被轉(zhuǎn)發(fā),以便到達目的地主機。
[0014]示例實施例
[0015]本文中所呈現(xiàn)的技術(shù)包括在虛擬機從網(wǎng)絡(luò)中的一個物理設(shè)備迀移到另一物理設(shè)備期間維持流量流。本文中所描述的技術(shù)特別地對于大規(guī)模數(shù)據(jù)中心環(huán)境(包括具有基于Clos架構(gòu)的數(shù)據(jù)中心)是有用的。
[0016]虛擬機除了具有與物理機器等同的功能,還具有能夠位于任意物理主機或服務(wù)器的額外的優(yōu)點。在一個方法中,虛擬機被附接到在超級管理程序(hypervisor)上運行的虛擬交換機設(shè)備,該管理管理程序分配資源以允許多個虛擬機通過一個或多個虛擬網(wǎng)絡(luò)接口(VNic)共享單個硬件主機。虛擬機可以基于網(wǎng)絡(luò)的特性迀移到或者被重新分配給不同的物理設(shè)備(例如,主服務(wù)器)。
[0017]首先參考圖1A。圖1A示出了被連接到第一物理設(shè)備110和第二物理設(shè)備120的示例脊-葉(spine-leaf)集群網(wǎng)絡(luò)拓撲100。如下文中所更詳細描述的,物理設(shè)備110和120可以是能夠運行虛擬機和虛擬交換機的服務(wù)器計算機。第一物理設(shè)備110還被稱為物理設(shè)備A,且第二物理設(shè)備120還被稱為物理設(shè)備B。
[0018]網(wǎng)絡(luò)拓撲100包括多個統(tǒng)一由標號140表不的脊交換機S1-Sn和統(tǒng)一由標號150表示的葉交換機L1- L m。脊交換機14 O通過網(wǎng)絡(luò)結(jié)構(gòu)I 6 O (例如,思科系統(tǒng)的結(jié)構(gòu)路徑(FabricPath)技術(shù)、IETF多鏈路透明互連(TRILL)技術(shù)或VxLAN技術(shù))連接到葉交換機150。每一個葉交換機被連接到物理設(shè)備,托管(host)—個或多個虛擬交換機設(shè)備和一個或多個虛擬機。此外,脊交換機140和葉交換機150被示為是完全網(wǎng)狀的,其中經(jīng)由網(wǎng)絡(luò)結(jié)構(gòu)160,每一個葉交換機被連接到每一個脊交換機,并且每一個脊交換機被連接到每一個葉交換機。脊交換機140和葉交換機150—起形成了可擴展多路徑數(shù)據(jù)中心結(jié)構(gòu)的骨干。出于示例的目的,每一個葉交換機還被稱為“架頂” (ToR)交換機。
[0019]每一個葉交換機和每一個脊交換機可以支持由開放系統(tǒng)互連(OSI)模型第2層或第3層所定義的功能。每一個葉交換機可以有能力執(zhí)行地址查找操作(例如,互聯(lián)網(wǎng)協(xié)議(IP)地址或MAC地址查找)。因此,應(yīng)該理解葉交換機和脊交換機可以具有交換或路由能力。
[0020]在圖1A的示例中,物理設(shè)備A110運行托管虛擬機Hl、H2和H3的虛擬交換機(被表示為vswitch-1 ),并且被連接到葉交換機LI。物理設(shè)備B 120運行托管虛擬機H4和H5的虛擬交換機(被表示為vswitch-m),并且被連接到葉交換機Lm。也就是,托管虛擬機H1、H2和H3的vswitch-1被連接到葉交換機LI,并且托管虛擬機H4和H5的vswitch-m被連接到葉交換機Lm。針對該示例,所有主機(host)被認為在相同的子網(wǎng)(例如,1.1.1.0/24)內(nèi)。
[0021 ]此外,如圖1A中所示,共享的媒體訪問控制(MAC)地址170是任播(Anycast)網(wǎng)關(guān)(GW)MAC地址“00:00:de: ad: be: ef”,并且共享的任播互聯(lián)網(wǎng)協(xié)議(IP)地址180是“1.1.1.254/24”。這些將在下面更詳細地進行描述。
[0022]還應(yīng)該認識到,圖1A中的拓撲只是作為示例被示出,并且在網(wǎng)絡(luò)100中可以存在物理服務(wù)器、葉、脊、虛擬交換機設(shè)備和虛擬機的任意數(shù)量的組合。
[0023]為了產(chǎn)生可擴展的網(wǎng)絡(luò)結(jié)構(gòu),一種方法是將第3層邊界向下移動到ToR接入層(例如,葉交換機處)并終止地址解析協(xié)議(ARP)/鄰居發(fā)現(xiàn)(ND)協(xié)議,這具有在ToR接入層跨越網(wǎng)絡(luò)洪泛流量的能力,由此減少了對由寬結(jié)構(gòu)的洪泛、廣播或多播引起的網(wǎng)絡(luò)性能的負面影響。此外,能夠跨越多個ToR的子網(wǎng)的優(yōu)點應(yīng)該被保留以繼承由傳統(tǒng)的第2層訪問架構(gòu)提供的靈活性。
[0024]圖1A中所示的架構(gòu)通過將第3層訪問邊界移動到ToR(例如,葉交換機處)并針對子網(wǎng)內(nèi)或者跨越子網(wǎng)的流量執(zhí)行基于IP的轉(zhuǎn)發(fā)(路由)來提供所有這些益處,子網(wǎng)可被分布于多個ToR間。這些益處通過具有用于集群的共享MAC地址以及每個子網(wǎng)的共享IP地址而被實現(xiàn)。
[0025]針對跨越子網(wǎng)的通信,默認的網(wǎng)關(guān)到MAC綁定(binding)被保留在主虛擬機上,并且地址解析協(xié)議(ARP)緩存不需要被清除,由此避免了流量損失。然而,針對本地子網(wǎng)主機,因為第3層邊界被移動到ToR交換機并且子網(wǎng)被分發(fā)以避免未知的單播洪泛,所以ToR將需要代理以用于對相同子網(wǎng)中的遠程主機進行ARP請求。然而,針對本地子網(wǎng)主機(S卩,附接到相同虛擬交換機的相同子網(wǎng)內(nèi)的主機),ToR交換機不應(yīng)該代理ARP請求以便避免本地虛擬機之間流量的發(fā)夾(hair-pinning)。
[0026]每一個虛擬交換機存儲包括它正在托管的每個虛擬機的MAC地址的MAC地址表和相關(guān)的接口信息。當最初“登入”或加入網(wǎng)絡(luò)100時,虛擬機H1-H5中的每一個被分配上下文標識符,該上下文標識符可以包括IP地址(例如,IP第4版(I Pv4)地址或IP第6版(I Pv6)地址)、MAC地址和與虛擬機的VLAN相關(guān)聯(lián)的端口號以及其他事物。上下文標識符可以例如使用動態(tài)主機配置協(xié)議(DHCP)而被分配給虛擬機H1-H5。
[0027]每一個虛擬交換機可以標識或識別被連接到虛擬交換機設(shè)備的主機(例如,虛擬機)的MAC地址,并且可以將該信息存儲于MAC地址表中。在傳統(tǒng)的第2層學習方法中,希望與第二設(shè)備進行通信的第一設(shè)備將幀發(fā)送到交換機,該幀包括:標識了第一設(shè)備的MAC地址的源MAC(SMAC)地址和標識了第二設(shè)備的MAC地址的DMAC地址,以及其他事物。在接收到幀時,交換機