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