一種限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法
【專利摘要】本發(fā)明涉及云計算【技術(shù)領(lǐng)域】,特別是指一種限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法。本發(fā)明包括下行和上行帶寬限定,下行帶寬限定是在宿主機(jī)中查找到虛擬機(jī)的網(wǎng)絡(luò)接口;利用TC建立一個htb隊列,并將網(wǎng)絡(luò)接口綁定到該隊列上;針對htb隊列建立一個根分類,并在根分類中設(shè)置下行最大可用帶寬;針對根分類建立一個過濾器,將要設(shè)定網(wǎng)絡(luò)帶寬的虛擬機(jī)網(wǎng)絡(luò)接口的數(shù)據(jù)過濾出來,并發(fā)給根分類限制速度;上行帶寬限定是在宿主機(jī)中查找到虛擬機(jī)的網(wǎng)絡(luò)接口;使用TC建立一個ingress隊列;針對ingress隊列默認(rèn)的根分類建立一個過濾器并設(shè)置上行的最大可用帶寬。本發(fā)明提供了一種限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,可用于對虛擬機(jī)虛擬網(wǎng)卡的帶寬控制。
【專利說明】一種限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計算【技術(shù)領(lǐng)域】,特別是指一種限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法。
【背景技術(shù)】
[0002]在云計算環(huán)境下,為了解決某些虛擬主機(jī)對網(wǎng)絡(luò)帶寬的過度使用,需要對虛擬機(jī)的網(wǎng)絡(luò)帶寬進(jìn)行限制。當(dāng)前對虛擬網(wǎng)絡(luò)進(jìn)行帶寬限制的方法有兩種:
[0003]第一種,通過宿主機(jī)的軟路由設(shè)置的方式將所有虛擬通信的數(shù)據(jù)全部讓其經(jīng)過一臺主機(jī)作為軟件網(wǎng)關(guān),由網(wǎng)關(guān)上的軟件防火墻統(tǒng)一限制帶寬。這種方法存在的問題是全部通信集中到一臺主機(jī)上,在虛擬機(jī)數(shù)量多、通信量大的時候,會成為通信的瓶頸。
[0004]第二種,直接在硬件防火墻或路由器上根據(jù)虛擬機(jī)的IP直接設(shè)置規(guī)則限制帶寬。這種方法也有問題:首先虛擬機(jī)的IP被修改,防火墻或路由器上的規(guī)則也要跟隨修改,否則限制無效;虛擬機(jī)使用者可利用這一點(diǎn)躲開系統(tǒng)的限制。其次,這個修改需要在虛擬機(jī)的IP配置以后才能生效,與一般虛擬機(jī)先創(chuàng)建后設(shè)置網(wǎng)絡(luò)的業(yè)務(wù)流程不符合。
【發(fā)明內(nèi)容】
[0005]本發(fā)明解決的技術(shù)問題在于提供一種限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,解決了云計算平臺上現(xiàn)存無法有效控制各個虛擬機(jī)網(wǎng)絡(luò)接口上下行帶寬的問題。
[0006]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:包括對虛擬機(jī)網(wǎng)絡(luò)接口的上行帶寬和下行帶寬進(jìn)行限定;
[0007]所述的下行帶寬限定步驟包括:
[0008]步驟1:在宿主機(jī)中查找到虛擬機(jī)的網(wǎng)絡(luò)接口 ;
[0009]步驟2:利用TC建立一個htb隊列,并將網(wǎng)絡(luò)接口綁定到該隊列上;
[0010]步驟3:針對htb隊列建立一個根分類,并在根分類中設(shè)置下行最大可用帶寬;
[0011]步驟4:針對根分類建立一個過濾器,將要設(shè)定網(wǎng)絡(luò)帶寬的虛擬機(jī)網(wǎng)絡(luò)接口的數(shù)據(jù)過濾出來,并發(fā)給根分類限制速度;
[0012]所述的上行帶寬限定步驟包括:
[0013]步驟1:在宿主機(jī)中查找到虛擬機(jī)的網(wǎng)絡(luò)接口 ;
[0014]步驟2:使用TC建立一個ingress隊列;
[0015]步驟3:針對ingress隊列默認(rèn)的根分類建立一個過濾器并設(shè)置上行的最大可用帶寬。
[0016]所述的虛擬機(jī)網(wǎng)絡(luò)接口即虛擬網(wǎng)卡,每一個虛擬機(jī)一般只有一個網(wǎng)絡(luò)接口 ;如果有多個,則可根據(jù)需要限制一個或多個特定的網(wǎng)絡(luò)接口。
[0017]所述的下行帶寬是指數(shù)據(jù)包從外部網(wǎng)絡(luò)進(jìn)入到虛擬機(jī)網(wǎng)卡里面的速度,即虛擬機(jī)從網(wǎng)絡(luò)上其他主機(jī)的下載速度;
[0018]所述的上行帶寬是指數(shù)據(jù)包從虛擬機(jī)虛擬網(wǎng)卡流出到外部網(wǎng)絡(luò)的速度,即虛擬機(jī)上傳的速度,也即是別人從虛擬機(jī)進(jìn)行通訊的速率。[0019]所述的TC是Linux操作系統(tǒng)中的流量控制器,它利用隊列規(guī)定建立處理數(shù)據(jù)包的隊列,并通過定義隊列中的數(shù)據(jù)包被發(fā)送的方式來實現(xiàn)對流量的控制;
[0020]所述的隊列規(guī)定是指管理網(wǎng)絡(luò)設(shè)備流量輸入或輸出的一個算法。
[0021]所述的htb隊列是一個分類的令牌桶過濾器,利用它可以簡單有效的控制網(wǎng)絡(luò)接口的下行帶寬;
[0022]所述的過濾器是指計算機(jī)網(wǎng)絡(luò)的專有名詞,一個過濾器包含若干的匹配條件,不同分類的數(shù)據(jù)包通過過濾器的匹配條件完成分類。
[0023]采用本發(fā)明的方法可以解決云計算平臺上現(xiàn)存無法有效控制各個虛擬機(jī)網(wǎng)絡(luò)接口上下行帶寬的問題,提高云計算平臺虛擬機(jī)的QoS(所述的QoS是Quality of Service,即服務(wù)質(zhì)量;是網(wǎng)絡(luò)的一種安全機(jī)制,是用來解決網(wǎng)絡(luò)延遲和阻塞等問題的一種技術(shù);當(dāng)網(wǎng)絡(luò)過載或擁塞時,QoS能確保重要業(yè)務(wù)量不受延遲或丟棄,同時保證網(wǎng)絡(luò)的高效運(yùn)行)。此外,還具有以下有益效果:
[0024]1、本發(fā)明的方法只限制本宿主機(jī)上的虛擬機(jī)的帶寬,對宿主機(jī)性能的開銷較小,不會成為通信的瓶頸;
[0025]2、本發(fā)明的方法以限制網(wǎng)絡(luò)接口為手段,不依賴于虛擬機(jī)的IP,在虛擬機(jī)IP被修改的情況下限制也依然生效;
[0026]3、本發(fā)明的方法在宿主機(jī)上限制帶寬,既能通過虛擬機(jī)ID,也能通過IP、MAC查找到虛擬機(jī),而且與虛擬機(jī)IP是否已設(shè)置無關(guān),能夠與虛擬機(jī)的業(yè)務(wù)流程緊密集合,實用性較強(qiáng)。
【專利附圖】
【附圖說明】
[0027]下面結(jié)合附圖對本發(fā)明進(jìn)一步說明:
[0028]附圖是本發(fā)明方法流程圖。
【具體實施方式】
[0029]如圖所示,登錄虛擬機(jī)所在的宿主機(jī)查看帶限定網(wǎng)絡(luò)接口速度的虛擬機(jī)列表:
[0030][rootitest-ssd-kvm xm]#virsh list
[0031]
【權(quán)利要求】
1.一種限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,其特征在于:包括對虛擬機(jī)網(wǎng)絡(luò)接口的上行帶寬和下行帶寬進(jìn)行限定; 所述的下行帶寬限定步驟包括: 步驟1:在宿主機(jī)中查找到虛擬機(jī)的網(wǎng)絡(luò)接口 ; 步驟2:利用TC建立一個htb隊列,并將網(wǎng)絡(luò)接口綁定到該隊列上; 步驟3:針對htb隊列建立一個根分類,并在根分類中設(shè)置下行最大可用帶寬; 步驟4:針對根分類建立一個過濾器,將要設(shè)定網(wǎng)絡(luò)帶寬的虛擬機(jī)網(wǎng)絡(luò)接口的數(shù)據(jù)過濾出來,并發(fā)給根分類限制速度; 所述的上行帶寬限定步驟包括: 步驟1:在宿主機(jī)中查找到虛擬機(jī)的網(wǎng)絡(luò)接口 ; 步驟2:使用TC建立一個ingress隊列; 步驟3:針對ingress隊列默認(rèn)的根分類建立一個過濾器并設(shè)置上行的最大可用帶寬。
2.根據(jù)權(quán)利要求1所述的限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,其特征在于:所述的虛擬機(jī)網(wǎng)絡(luò)接口即虛擬網(wǎng)卡,每一個虛擬機(jī)一般只有一個網(wǎng)絡(luò)接口 ;如果有多個,則可根據(jù)需要限制一個或多個特定的網(wǎng)絡(luò)接口。
3.根據(jù)權(quán)利要求1所述的限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,其特征在于:所述的下行帶寬是指數(shù)據(jù)包從外部網(wǎng)絡(luò)進(jìn)入到虛擬機(jī)網(wǎng)卡里面的速度,即虛擬機(jī)從網(wǎng)絡(luò)上其他主機(jī)的下載速度; 所述的上行帶寬是指數(shù)據(jù)包從虛擬機(jī)虛擬網(wǎng)卡流出到外部網(wǎng)絡(luò)的速度,即虛擬機(jī)上傳的速度,也即是別人從虛擬機(jī)進(jìn)行通訊的速率。
4.根據(jù)權(quán)利要求2所述的限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,其特征在于:所述的下行帶寬是指數(shù)據(jù)包從外部網(wǎng)絡(luò)進(jìn)入到虛擬機(jī)網(wǎng)卡里面的速度,即虛擬機(jī)從網(wǎng)絡(luò)上其他主機(jī)的下載速度; 所述的上行帶寬是指數(shù)據(jù)包從虛擬機(jī)虛擬網(wǎng)卡流出到外部網(wǎng)絡(luò)的速度,即虛擬機(jī)上傳的速度,也即是別人從虛擬機(jī)進(jìn)行通訊的速率。
5.根據(jù)權(quán)利要求1至4任一項所述的限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,其特征在于:所述的TC是Linux操作系統(tǒng)中的流量控制器,它利用隊列規(guī)定建立處理數(shù)據(jù)包的隊列,并通過定義隊列中的數(shù)據(jù)包被發(fā)送的方式來實現(xiàn)對流量的控制; 所述的隊列規(guī)定是指管理網(wǎng)絡(luò)設(shè)備流量輸入或輸出的一個算法。
6.根據(jù)權(quán)利要求1至4任一項所述的限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,其特征在于:所述的htb隊列是一個分類的令牌桶過濾器,利用它可以簡單有效的控制網(wǎng)絡(luò)接口的下行帶寬; 所述的過濾器是指計算機(jī)網(wǎng)絡(luò)的專有名詞,一個過濾器包含若干的匹配條件,不同分類的數(shù)據(jù)包通過過濾器的匹配條件完成分類。
7.根據(jù)權(quán)利要求5所述的限定虛擬機(jī)網(wǎng)絡(luò)接口速度的方法,其特征在于:所述的htb隊列是一個分類的令牌桶過濾器,利用它可以簡單有效的控制網(wǎng)絡(luò)接口的下行帶寬; 所述的過濾器是指計算機(jī)網(wǎng)絡(luò)的專有名詞,一個過濾器包含若干的匹配條件,不同分類的數(shù)據(jù)包通過過濾器的匹配條件完成分類。
【文檔編號】H04L12/911GK103634235SQ201310535389
【公開日】2014年3月12日 申請日期:2013年11月1日 優(yōu)先權(quán)日:2013年11月1日
【發(fā)明者】熊夢, 楊松, 莫展鵬, 季統(tǒng)凱 申請人:國云科技股份有限公司