本發(fā)明涉及虛擬化和云領域,特別是指一種應用于虛擬化云環(huán)境中的VXLAN實現(xiàn)裝置及其工作方法。
背景技術:
隨著云計算以及大數(shù)據(jù)等業(yè)務應用的規(guī)模落地,以云計算、虛擬化等技術為基礎的各種規(guī)模化運營的云數(shù)據(jù)中心越來越多。傳統(tǒng)的VLAN(虛擬局域網(wǎng))技術已經(jīng)不能滿足應用要求,從而提出了VXLAN(Virtual extensible Local Area Network,虛擬可擴展局域網(wǎng))技術。
在虛擬化云環(huán)境中VXLAN相關功能是在服務器上占用CPU的資源(比如用開源虛擬交換機OVS)來實現(xiàn)的,所以存在性能瓶頸,無法滿足部分虛擬化主機(VM)高性能網(wǎng)絡通道的要求。
在虛擬化和云領域,為了滿足VM的網(wǎng)絡性能要求,產(chǎn)生了采用輸入/輸出通道虛擬化(Single Root I/O Virtualization,SR-IOV)的技術,但這個技術當前只能應用在虛擬化云環(huán)境中的VLAN網(wǎng)絡,而不能用在VXLAN網(wǎng)絡。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題是提供一種VXLAN實現(xiàn)裝置及其工作方法,能夠克服現(xiàn)有虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的問題。
一方面,提供一種VXLAN實現(xiàn)裝置,應用于虛擬化云環(huán)境中,包括:
接收模塊,用于接收虛擬局域網(wǎng)VLAN報文,所述VLAN報文是從虛擬機發(fā)出的,并通過輸入/輸出通道虛擬化SR-IOV網(wǎng)卡發(fā)送過來;
控制模塊,用于通知發(fā)送模塊,通過SR-IOV網(wǎng)卡發(fā)送過來的VLAN報文對應的VXLAN網(wǎng)絡;
所述發(fā)送模塊,用于將所述VLAN報文轉(zhuǎn)換成對應VXLAN網(wǎng)絡的報文,并將轉(zhuǎn)換后的VXLAN網(wǎng)絡的報文發(fā)送出去。
進一步地,還包括:
虛擬化模塊,用于在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
所述控制模塊具體用于在所述虛擬化模塊生成虛擬機需要使用的虛擬網(wǎng)卡后,設置SR-IOV通道的VLAN信息,并通過和所述虛擬化模塊的接口獲取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息的映射關系。
本發(fā)明實施例還提供了一種VXLAN實現(xiàn)裝置,應用于虛擬化云環(huán)境中,包括:
接收模塊,用于接收VXLAN網(wǎng)絡的報文;
控制模塊,用于通知所述發(fā)送模塊所述VXLAN網(wǎng)絡的報文對應的VLAN;
所述發(fā)送模塊,用于將所述VXLAN網(wǎng)絡的報文轉(zhuǎn)換成VLAN報文,并通過SR-IOV網(wǎng)卡將所述VLAN報文發(fā)送至虛擬機。
進一步地,還包括:
虛擬化模塊,用于在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
所述控制模塊具體用于在所述虛擬化模塊生成虛擬機需要使用的虛擬網(wǎng)卡后,設置SR-IOV通道的VLAN信息,并通過和所述虛擬化模塊的接口獲取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息的映射關系。
本發(fā)明實施例還提供了一種VXLAN實現(xiàn)裝置的工作方法,所述VXLAN實現(xiàn)裝置應用于虛擬化云環(huán)境中,所述方法包括:
接收虛擬局域網(wǎng)VLAN報文,所述VLAN報文是從虛擬機發(fā)出,并通過輸入/輸出通道虛擬化SR-IOV網(wǎng)卡發(fā)送過來的;
確定通過SR-IOV網(wǎng)卡發(fā)送過來的VLAN報文對應的VXLAN網(wǎng)絡;
將所述VLAN報文轉(zhuǎn)換成對應VXLAN網(wǎng)絡的報文,并將轉(zhuǎn)換后的 VXLAN網(wǎng)絡的報文發(fā)送出去。
進一步地,所述接收從虛擬機發(fā)出,通過SR-IOV網(wǎng)卡發(fā)送過來的VLAN報文之前還包括:
在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
設置SR-IOV通道的VLAN信息,并獲取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息的映射關系。
本發(fā)明實施例還提供了一種VXLAN實現(xiàn)裝置的工作方法,應用于虛擬化云環(huán)境中,包括:
接收VXLAN網(wǎng)絡的報文;
確定所述VXLAN網(wǎng)絡的報文對應的VLAN;
將所述VXLAN網(wǎng)絡的報文轉(zhuǎn)換成VLAN報文,并通過SR-IOV網(wǎng)卡將所述VLAN報文發(fā)送至虛擬機。
進一步地,所述接收VXLAN網(wǎng)絡的報文之前還包括:
在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
設置SR-IOV通道的VLAN信息,并獲取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息的映射關系。
本發(fā)明的實施例具有以下有益效果:
本發(fā)明的技術方案能夠使得SR-IOV技術和VXLAN技術融合使用,克服現(xiàn)有虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的問題,從而實現(xiàn)高性能VXLAN網(wǎng)絡。
附圖說明
圖1是本發(fā)明實施例VXLAN實現(xiàn)裝置的結構示意圖;
圖2是在OpenStack環(huán)境中VXLAN網(wǎng)絡與SR-IOV虛擬化主機的啟動交互示意圖;
圖3是本發(fā)明實施例一的交互流程示意圖;
圖4是本發(fā)明實施例二的交互流程示意圖;
圖5是本發(fā)明實施例三的框架圖;
圖6是本發(fā)明實施例三的交互流程示意圖。
具體實施方式
為使本發(fā)明的實施例要解決的技術問題、技術方案和優(yōu)點更加清楚,下面將結合附圖及具體實施例進行詳細描述。
本發(fā)明的實施例針對現(xiàn)有技術中虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的的問題,提供一種VXLAN實現(xiàn)裝置及其工作方法,能夠克服現(xiàn)有虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的問題。
本發(fā)明實施例提供一種VXLAN實現(xiàn)裝置,應用于虛擬化云環(huán)境中,如圖1所示,本實施例包括:
接收模塊,用于接收虛擬局域網(wǎng)VLAN報文,所述VLAN報文是從虛擬機發(fā)出的,并通過輸入/輸出通道虛擬化SR-IOV網(wǎng)卡發(fā)送過來;
控制模塊,用于通知發(fā)送模塊,通過SR-IOV網(wǎng)卡發(fā)送過來的VLAN報文對應的VXLAN網(wǎng)絡;
所述發(fā)送模塊,用于將所述VLAN報文轉(zhuǎn)換成對應VXLAN網(wǎng)絡的報文,并將轉(zhuǎn)換后的VXLAN網(wǎng)絡的報文發(fā)送出去。
本實施例的技術方案能夠使得SR-IOV技術和VXLAN技術融合使用,克服現(xiàn)有虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的問題,從而實現(xiàn)高性能VXLAN網(wǎng)絡。
其中,接收模塊和發(fā)送模塊可以位于外部硬件加速設備上。
進一步地,所述裝置還包括:
虛擬化模塊,用于在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
所述控制模塊具體用于在所述虛擬化模塊生成虛擬機需要使用的虛擬網(wǎng)卡后,設置SR-IOV通道的VLAN信息,并通過和所述虛擬化模塊的接口獲取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息 的映射關系。
具體地,虛擬化模塊負責服務器系統(tǒng)的虛擬化技術,控制模塊負責控制發(fā)送模塊和接收模塊對SR-IOV網(wǎng)卡送出的報文和VXLAN網(wǎng)絡報文直接進行轉(zhuǎn)換。讓整個虛擬化系統(tǒng)呈現(xiàn)一個高性能VXLAN網(wǎng)絡,控制模塊還將VXLAN技術的處理從服務器卸載到外部硬件加速設備,進一步加速VXLAN報文頭處理的效率和性能。
在工作過程中,虛擬化模塊先將VXLAN網(wǎng)絡類型創(chuàng)建起來,控制模塊預規(guī)劃SR-IOV通道VLAN的信息,并通過和虛擬化模塊的接口獲取VXLAN網(wǎng)絡的信息,從而形成SR-IOV通道VLAN信息和VXLAN信息的映射關系。當租戶(虛擬化環(huán)境的用戶)要在某個VXLAN上面創(chuàng)建一個虛擬機時,虛擬化模塊向控制模塊查詢VXLAN網(wǎng)絡和SR-IOV通道VLAN的對應關系,從而能將虛擬機創(chuàng)建在SR-IOV網(wǎng)卡上。控制模塊發(fā)送控制命令給硬件加速設備,通知它這個虛擬機使用的SR-IOV網(wǎng)口發(fā)送過來的報文其VLAN和VXLAN的映射信息。虛擬機有報文發(fā)送時,通過虛擬化模塊和硬件加速設備之間的接口,將報文發(fā)送到硬件加速設備,硬件加速設備根據(jù)控制模塊下發(fā)的控制命令,對報文進行VLAN到VXLAN的轉(zhuǎn)換后發(fā)送出去。
本發(fā)明實施例還提供了一種VXLAN實現(xiàn)裝置,應用于虛擬化云環(huán)境中,包括:
接收模塊,用于接收VXLAN網(wǎng)絡的報文;
控制模塊,用于通知所述發(fā)送模塊所述VXLAN網(wǎng)絡的報文對應的VLAN;
所述發(fā)送模塊,用于將所述VXLAN網(wǎng)絡的報文轉(zhuǎn)換成VLAN報文,并通過SR-IOV網(wǎng)卡將所述VLAN報文發(fā)送至虛擬機。
其中,接收模塊和發(fā)送模塊可以位于外部硬件加速設備上。
進一步地,所述裝置還包括:
虛擬化模塊,用于在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
所述控制模塊具體用于在所述虛擬化模塊生成虛擬機需要使用的虛擬網(wǎng)卡后,設置SR-IOV通道的VLAN信息,并通過和所述虛擬化模塊的接口獲 取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息的映射關系。
本實施例的技術方案能夠使得SR-IOV技術和VXLAN技術融合使用,克服現(xiàn)有虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的問題,從而實現(xiàn)高性能VXLAN網(wǎng)絡。
具體地,虛擬化模塊負責服務器系統(tǒng)的虛擬化技術,控制模塊負責控制發(fā)送模塊和接收模塊對SR-IOV網(wǎng)卡送出的報文和VXLAN網(wǎng)絡報文直接進行轉(zhuǎn)換。讓整個虛擬化系統(tǒng)呈現(xiàn)一個高性能VXLAN網(wǎng)絡,控制模塊還將VXLAN技術的處理從服務器卸載到外部硬件加速設備,進一步加速VXLAN報文頭處理的效率和性能。
在工作過程中,虛擬化模塊先將VXLAN網(wǎng)絡類型創(chuàng)建起來,控制模塊預規(guī)劃SR-IOV通道VLAN的信息,并通過和虛擬化模塊的接口獲取VXLAN網(wǎng)絡的信息,從而形成SR-IOV通道VLAN信息和VXLAN信息的映射關系。當租戶(虛擬化環(huán)境的用戶)要在某個VXLAN上面創(chuàng)建一個虛擬機時,虛擬化模塊向控制模塊查詢VXLAN網(wǎng)絡和SR-IOV通道VLAN的對應關系,從而能將虛擬機創(chuàng)建在SR-IOV網(wǎng)卡上??刂颇K發(fā)送控制命令給硬件加速設備,通知它這個虛擬機使用的SR-IOV網(wǎng)口發(fā)送過來的報文其VLAN和VXLAN的映射信息。虛擬機有報文發(fā)送時,通過虛擬化模塊和硬件加速設備之間的接口,將報文發(fā)送到硬件加速設備,硬件加速設備根據(jù)控制模塊下發(fā)的控制命令,對報文進行VLAN到VXLAN的轉(zhuǎn)換后發(fā)送出去。
本發(fā)明實施例還提供了一種VXLAN實現(xiàn)裝置的工作方法,所述VXLAN實現(xiàn)裝置應用于虛擬化云環(huán)境中,所述方法包括:
接收虛擬局域網(wǎng)VLAN報文,所述VLAN報文是從虛擬機發(fā)出,并通過輸入/輸出通道虛擬化SR-IOV網(wǎng)卡發(fā)送過來的;
確定通過SR-IOV網(wǎng)卡發(fā)送過來的VLAN報文對應的VXLAN網(wǎng)絡;
將所述VLAN報文轉(zhuǎn)換成對應VXLAN網(wǎng)絡的報文,并將轉(zhuǎn)換后的VXLAN網(wǎng)絡的報文發(fā)送出去。
本實施例的技術方案能夠使得SR-IOV技術和VXLAN技術融合使用,克 服現(xiàn)有虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的問題,從而實現(xiàn)高性能VXLAN網(wǎng)絡。
進一步地,所述接收從虛擬機發(fā)出,通過SR-IOV網(wǎng)卡發(fā)送過來的VLAN報文之前還包括:
在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
設置SR-IOV通道的VLAN信息,并獲取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息的映射關系。
本發(fā)明實施例還提供了一種VXLAN實現(xiàn)裝置的工作方法,應用于虛擬化云環(huán)境中,包括:
接收VXLAN網(wǎng)絡的報文;
確定所述VXLAN網(wǎng)絡的報文對應的VLAN;
將所述VXLAN網(wǎng)絡的報文轉(zhuǎn)換成VLAN報文,并通過SR-IOV網(wǎng)卡將所述VLAN報文發(fā)送至虛擬機。
本實施例的技術方案能夠使得SR-IOV技術和VXLAN技術融合使用,克服現(xiàn)有虛擬化云環(huán)境中SR-IOV和VXLAN兩種技術不能融合使用的問題,從而實現(xiàn)高性能VXLAN網(wǎng)絡。
進一步地,所述接收VXLAN網(wǎng)絡的報文之前還包括:
在虛擬化環(huán)境中的服務器上安裝SR-IOV驅(qū)動,生成虛擬機需要使用的虛擬網(wǎng)卡;
設置SR-IOV通道的VLAN信息,并獲取VXLAN網(wǎng)絡的信息,形成SR-IOV通道的VLAN信息和VXLAN網(wǎng)絡信息的映射關系。
下面結合具體的實施例對本發(fā)明的技術方案進行進一步介紹:
實施例一
圖2為本實施例應用于OpenStack的虛擬化主機啟動過程中的交互示意圖,其中,虛擬化模塊包括圖中的nova-compute(計算服務器)和neutron-server,硬件加速設備為圖中的VXLAN GW(網(wǎng)關),控制模塊為圖中的SDN(軟件定義網(wǎng)絡)Controller(控制器)。
如圖2所示,虛擬化模塊獲取虛擬化主機需要使用的端口網(wǎng)絡(VXLAN)信息,并且虛擬化模塊向控制模塊獲取網(wǎng)絡(VLAN)信息,控制模塊向硬件加速設備同步網(wǎng)絡(VXLAN和VLAN ID)映射信息。
如圖3所示,本實施例的VXLAN實現(xiàn)裝置的工作方法包括以下步驟:
步驟1:nova-compute開始啟動虛擬化主機,虛擬化主機綁定端口過程中,首先攜帶虛擬化主機的標識(Instance ID)到neutron-server上獲取該虛擬化主機對應的端口網(wǎng)絡信息;
步驟2:neutron-server根據(jù)虛擬化主機標識查詢數(shù)據(jù)庫中該虛擬化主機對應的端口網(wǎng)絡信息,并傳遞給nova-compute,對于VXLAN網(wǎng)絡上的虛擬化主機,攜帶的網(wǎng)絡信息是包含VNI(虛擬局域網(wǎng)標識)的;
步驟3:nova-compute獲取到VNI信息后,向SDN Controller獲取SR-IOV驅(qū)動所需的VLAN Id;
步驟4:SDN Controller根據(jù)VNI,計算獲取一個VLAN ID,并發(fā)送給nova-compute;
步驟5:SDN Controller將VNI和VLAN ID的映射關系同步給VXLAN GW;
步驟6:nova-compute收到VLAN ID之后,將該VLAN ID設置到SR-IOV端口上。
其中步驟3到步驟6是本實施例所特有步驟。
實施例二
如圖2所示,虛擬化模塊獲取虛擬化主機需要使用的端口網(wǎng)絡(VXLAN)信息,并且虛擬化模塊向控制模塊獲取網(wǎng)絡(VLAN)信息,控制模塊向硬件加速設備同步網(wǎng)絡(VXLAN和VLAN ID)映射信息。
如圖4所示,本實施例的VXLAN實現(xiàn)裝置的工作方法包括以下步驟:
步驟1:nova-compute開始啟動虛擬化主機,虛擬化主機綁定端口過程中,首先攜帶虛擬化主機的標識(Instance ID)到neutron-server上獲取該虛擬化主機對應的端口網(wǎng)絡信息;
步驟2:neutron-server根據(jù)虛擬化主機標識查詢數(shù)據(jù)庫中該虛擬化主機對應的端口網(wǎng)絡信息,并傳遞給nova-compute,對于VXLAN網(wǎng)絡上的虛擬化主 機,攜帶的網(wǎng)絡信息是包含VNI的;
步驟3:nova-compute獲取到VNI信息后,根據(jù)VNI,計算獲取一個VLAN ID,將該VLAN ID設置到SR-IOV端口上;
步驟4:nova-compute將VNI和VLAN ID的映射關系同步給SDN Controller;
步驟5:SDN Controller將VNI和VLAN ID的映射關系同步給VXLAN GW。
其中步驟3到步驟5是本實施例所特有步驟。
實施例三
圖5所示為虛擬化模塊內(nèi)部的交互示意圖,虛擬化模塊從虛擬網(wǎng)絡獲取虛擬化主機需要使用的端口網(wǎng)絡(VLAN)信息,虛擬化模塊向控制模塊同步(VXLAN和VLAN ID)映射信息,控制模塊向硬件加速設備同步網(wǎng)絡(VXLAN和VLAN ID)映射信息。
如圖6所示,本實施例的VXLAN實現(xiàn)裝置的工作方法包括以下步驟:
步驟1:nova-compute開始啟動虛擬化主機,虛擬化主機綁定端口過程中,首先攜帶虛擬化主機的標識(Instance ID)到neutron-server上獲取該虛擬化主機對應的端口網(wǎng)絡信息;
步驟2:neutron-server根據(jù)虛擬化主機標識查詢數(shù)據(jù)庫中該虛擬化主機對應的端口網(wǎng)絡信息,并根據(jù)網(wǎng)絡信息中的VNI,計算獲取VLAN ID,傳遞給nova-compute;
步驟3:nova-compute獲取VLAN ID之后,設置到SR-IOV端口上;
步驟4:neutron-server將VNI和VLAN ID的映射關系同步給SDN Controller;
步驟5:SDN Controller將VNI和VLAN ID的映射關系同步給VXLAN GW;
通過上述實施例,本發(fā)明的技術方案使得SR-IOV技術和VXLAN技術能融合使用,從而實現(xiàn)高性能VXLAN網(wǎng)絡。
此說明書中所描述的許多功能部件都被稱為模塊,以便更加特別地強調(diào)其實現(xiàn)方式的獨立性。
本發(fā)明實施例中,模塊可以用軟件實現(xiàn),以便由各種類型的處理器執(zhí)行。 舉例來說,一個標識的可執(zhí)行代碼模塊可以包括計算機指令的一個或多個物理或者邏輯塊,舉例來說,其可以被構建為對象、過程或函數(shù)。盡管如此,所標識模塊的可執(zhí)行代碼無需物理地位于一起,而是可以包括存儲在不同物理上的不同的指令,當這些指令邏輯上結合在一起時,其構成模塊并且實現(xiàn)該模塊的規(guī)定目的。
實際上,可執(zhí)行代碼模塊可以是單條指令或者是許多條指令,并且甚至可以分布在多個不同的代碼段上,分布在不同程序當中,以及跨越多個存儲器設備分布。同樣地,操作數(shù)據(jù)可以在模塊內(nèi)被識別,并且可以依照任何適當?shù)男问綄崿F(xiàn)并且被組織在任何適當類型的數(shù)據(jù)結構內(nèi)。所述操作數(shù)據(jù)可以作為單個數(shù)據(jù)集被收集,或者可以分布在不同位置上(包括在不同存儲設備上),并且至少部分地可以僅作為電子信號存在于系統(tǒng)或網(wǎng)絡上。
在模塊可以利用軟件實現(xiàn)時,考慮到現(xiàn)有硬件工藝的水平,所以可以以軟件實現(xiàn)的模塊,在不考慮成本的情況下,本領域技術人員都可以搭建對應的硬件電路來實現(xiàn)對應的功能,所述硬件電路包括常規(guī)的超大規(guī)模集成(VLSI)電路或者門陣列以及諸如邏輯芯片、晶體管之類的現(xiàn)有半導體或者是其它分立的元件。模塊還可以用可編程硬件設備,諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯設備等實現(xiàn)。
在本發(fā)明各方法實施例中,所述各步驟的序號并不能用于限定各步驟的先后順序,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,對各步驟的先后變化也在本發(fā)明的保護范圍之內(nèi)。
以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。