虛擬機(jī)策略遷移配置方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種虛擬機(jī)策略迀移配置方法及裝置。
【背景技術(shù)】
[0002]在數(shù)據(jù)中心網(wǎng)絡(luò)中,存在了成百上千的虛擬機(jī)來(lái)為多租戶(hù)提供網(wǎng)絡(luò)服務(wù)。為了滿(mǎn)足在資源優(yōu)化、容錯(cuò)、負(fù)載均衡等方面的靈活性,這些虛擬機(jī)需要在不同的硬件設(shè)備上進(jìn)行及時(shí)且有效的迀移。例如,當(dāng)某一個(gè)虛擬機(jī)因?yàn)橄到y(tǒng)故障而不能繼續(xù)為租戶(hù)提供服務(wù),則需要將該虛擬機(jī)上的應(yīng)用信息、用戶(hù)信息等迀移至另外一個(gè)虛擬機(jī)上,并且為了保證服務(wù)不被迀移操作中斷,還需要對(duì)網(wǎng)絡(luò)的配置信息進(jìn)行相應(yīng)修改?;虍?dāng)一臺(tái)物理設(shè)備的網(wǎng)絡(luò)負(fù)載偏大時(shí),為了降低該設(shè)備的網(wǎng)絡(luò)壓力,需要將部分虛擬機(jī)迀移至其他設(shè)備,以實(shí)現(xiàn)不同物理設(shè)備之間的負(fù)載平衡,緩解熱點(diǎn)設(shè)備的壓力。
[0003]由于虛擬機(jī)承載了不同租戶(hù)的不同服務(wù),因此為了保障其隔離性,不同虛擬機(jī)之間的通信被由一系列規(guī)則組成的安全策略所限制。當(dāng)虛擬機(jī)進(jìn)行迀移時(shí),為了保證與虛擬機(jī)相關(guān)聯(lián)的策略的一致性,就必須重新配置相關(guān)聯(lián)的規(guī)則。在保障租戶(hù)或網(wǎng)絡(luò)域隔離性的前提下又要保障策略的一致性,是策略配置所面臨的一個(gè)巨大挑戰(zhàn)。在傳統(tǒng)網(wǎng)絡(luò)技術(shù)背景下,要實(shí)現(xiàn)策略配置需要大量人工參與,需要對(duì)所有關(guān)聯(lián)的硬件設(shè)備進(jìn)行一一配置。
【發(fā)明內(nèi)容】
[0004]為了在無(wú)需人工參與的情況下即可實(shí)現(xiàn)策略配置,降低策略空間由于虛擬機(jī)迀移操作而產(chǎn)生的增長(zhǎng),減少新增的碎片策略數(shù)目,本發(fā)明提供了一種虛擬機(jī)策略迀移配置方法,所述方法包括:
[0005]從流表中獲取與待迀移虛擬機(jī)相匹配的規(guī)則集Ra;
[0006]基于所述規(guī)則集Ra從處于空閑狀態(tài)的IP地址中查詢(xún)最優(yōu)的迀移目標(biāo)地址;
[0007]根據(jù)所述迀移目標(biāo)地址的網(wǎng)絡(luò)配置環(huán)境對(duì)所述規(guī)則集^中的規(guī)則進(jìn)行重配置。
[0008]其中,所述從流表中獲取與待迀移虛擬機(jī)相匹配的規(guī)則集Ra,進(jìn)一步包括:
[0009]將所述流表中各流表項(xiàng)分別作為規(guī)則,將各規(guī)則的IP地址依次與待迀移虛擬機(jī)的IP地址進(jìn)行匹配;
[0010]判斷規(guī)則中匹配的IP地址段是否為全網(wǎng)絡(luò)網(wǎng)段,若否,則將該規(guī)則添加至規(guī)則集Ra中。
[0011]其中,所述基于所述規(guī)則集Ra從處于空閑狀態(tài)的IP地址中查詢(xún)最優(yōu)的迀移目標(biāo)地址,進(jìn)一步包括:
[0012]將源地址或目的地址作為匹配域,將所述流表中的各規(guī)則按照所述匹配域進(jìn)行劃分,直至劃分的各子規(guī)則集中的規(guī)則數(shù)量均未超過(guò)預(yù)設(shè)閾值;
[0013]遍歷各子規(guī)則集,在遍歷到的當(dāng)前子規(guī)則集中的規(guī)則數(shù)量大于所述規(guī)則集Ra時(shí),直接遍歷下一子規(guī)則集;
[0014]在所述當(dāng)前子規(guī)則集中的各規(guī)則均能在所述規(guī)則集Ra中找到對(duì)應(yīng)規(guī)則時(shí),則將所述當(dāng)前子規(guī)則集加入結(jié)果集,所述對(duì)應(yīng)規(guī)則為除匹配域外其他信息均相同的規(guī)則;
[0015]從所述結(jié)果集中找出包含規(guī)則數(shù)量最多的子規(guī)則集,從該子規(guī)則集中找出一個(gè)處于空閑狀態(tài)的IP地址IPZ,并將所述IPz作為最優(yōu)的迀移目標(biāo)地址。
[0016]其中,所述根據(jù)所述迀移目標(biāo)地址的網(wǎng)絡(luò)配置環(huán)境對(duì)所述規(guī)則集Ra中的規(guī)則進(jìn)行重配置,進(jìn)一步包括:
[0017]獲取所述迀移目標(biāo)地址IPz對(duì)應(yīng)的規(guī)則集R z;
[0018]遍歷所述規(guī)則集^中的規(guī)則,判斷是否能在所述規(guī)則集1中找到與遍歷到的規(guī)則A對(duì)應(yīng)的規(guī)則r ,,所述規(guī)則&除匹配域外其他信息均與規(guī)則r i相同;
[0019]當(dāng)能在所述規(guī)則集&中找到與遍歷到的規(guī)則r i對(duì)應(yīng)的規(guī)則r.,時(shí),判斷規(guī)則r ^勺作用域內(nèi)是否還存在正常工作的虛擬機(jī),若存在,則保留該規(guī)則A,若不存在,則回收該規(guī)則A;
[0020]當(dāng)不能在所述規(guī)則集&中找到與遍歷到的規(guī)則r i對(duì)應(yīng)的規(guī)則r.,時(shí),判斷所述規(guī)則A的匹配域是否為值匹配,若是,則將所述規(guī)則r i的匹配域的值修改為IP z,若否,則添加規(guī)則A對(duì)應(yīng)的新規(guī)則,將所述新規(guī)則的匹配域的值設(shè)為IPz,將所述新規(guī)則的其他信息設(shè)為與規(guī)則A相同。
[0021]其中,所述遍歷各子規(guī)則集之前,所述方法還包括:
[0022]按照多叉規(guī)則樹(shù)來(lái)反映對(duì)所述流表中的各規(guī)則按照所述匹配域的劃分。
[0023]本發(fā)明還公開(kāi)了一種虛擬機(jī)策略迀移配置裝置,所述裝置包括:
[0024]匹配獲取單元,用于從流表中獲取與待迀移虛擬機(jī)相匹配的規(guī)則集Ra;
[0025]地址查詢(xún)單元,用于基于所述規(guī)則集Ra從處于空閑狀態(tài)的IP地址中查詢(xún)最優(yōu)的迀移目標(biāo)地址;
[0026]規(guī)則配置單元,用于根據(jù)所述迀移目標(biāo)地址的網(wǎng)絡(luò)配置環(huán)境對(duì)所述規(guī)則集Ra中的規(guī)則進(jìn)行重配置。
[0027]其中,所述匹配獲取單元,進(jìn)一步用于將所述流表中各流表項(xiàng)分別作為規(guī)則,將各規(guī)則的IP地址依次與待迀移虛擬機(jī)的IP地址進(jìn)行匹配;判斷規(guī)則中匹配的IP地址段是否為全網(wǎng)絡(luò)網(wǎng)段,若否,則將該規(guī)則添加至規(guī)則集Ra中。
[0028]其中,所述地址查詢(xún)單元,進(jìn)一步用于將源地址或目的地址作為匹配域,將所述流表中的各規(guī)則按照所述匹配域進(jìn)行劃分,直至劃分的各子規(guī)則集中的規(guī)則數(shù)量均未超過(guò)預(yù)設(shè)閾值;遍歷各子規(guī)則集,在遍歷到的當(dāng)前子規(guī)則集中的規(guī)則數(shù)量大于所述規(guī)則集^時(shí),直接遍歷下一子規(guī)則集;在所述當(dāng)前子規(guī)則集中的各規(guī)則均能在所述規(guī)則集Ra中找到對(duì)應(yīng)規(guī)則時(shí),則將所述當(dāng)前子規(guī)則集加入結(jié)果集,所述對(duì)應(yīng)規(guī)則為除匹配域外其他信息均相同的規(guī)則;從所述結(jié)果集中找出包含規(guī)則數(shù)量最多的子規(guī)則集,從該子規(guī)則集中找出一個(gè)處于空閑狀態(tài)的IP地址IPZ,并將所述IPjt為最優(yōu)的迀移目標(biāo)地址。
[0029]其中,所述規(guī)則配置單元,進(jìn)一步用于獲取所述迀移目標(biāo)地址IPz對(duì)應(yīng)的規(guī)則集Rz;遍歷所述規(guī)則集的規(guī)則,判斷是否能在所述規(guī)則集1^中找到與遍歷到的規(guī)則r 3寸應(yīng)的規(guī)則r,,所述規(guī)則&除匹配域外其他信息均與規(guī)則r i相同;當(dāng)能在所述規(guī)則集Rz中找到與遍歷到的規(guī)則^對(duì)應(yīng)的規(guī)則r ,時(shí),判斷規(guī)則r 作用域內(nèi)是否還存在正常工作的虛擬機(jī),若存在,則保留該規(guī)則A,若不存在,則回收該規(guī)則r1;當(dāng)不能在所述規(guī)則集R z中找到與遍歷到的規(guī)則^對(duì)應(yīng)的規(guī)則r ,時(shí),判斷所述規(guī)則r 匹配域是否為值匹配,若是,則將所述規(guī)則A的匹配域的值修改為IP z,若否,則添加規(guī)則A對(duì)應(yīng)的新規(guī)則,將所述新規(guī)則的匹配域的值設(shè)為IPz,將所述新規(guī)則的其他信息設(shè)為與規(guī)則A相同。
[0030]其中,所述地址查詢(xún)單元還用于按照多叉規(guī)則樹(shù)來(lái)反映對(duì)所述流表中的各規(guī)則按照所述匹配域的劃分。
[0031]本發(fā)明從流表中獲取與待迀移虛擬機(jī)相匹配的規(guī)則集Ra,基于所述規(guī)則集Ra從處于空閑狀態(tài)的IP地址中查詢(xún)最優(yōu)的迀移目標(biāo)地址,根據(jù)所述迀移目標(biāo)地址的網(wǎng)絡(luò)配置環(huán)境對(duì)所述規(guī)則集Ra中的規(guī)則進(jìn)行重配置,無(wú)需人工參與的情況下即可實(shí)現(xiàn)策略配置,有效降低了策略空間由于虛擬機(jī)迀移操作而產(chǎn)生的增長(zhǎng),減少了新增的碎片策略數(shù)目,進(jìn)一步提高了控制器及網(wǎng)絡(luò)設(shè)備的查詢(xún)轉(zhuǎn)發(fā)效率,并且易于實(shí)現(xiàn)、算法復(fù)雜度低。
【附圖說(shuō)明】
[0032]圖1是本發(fā)明一種實(shí)施方式的虛擬機(jī)策略迀移配置方法的流程圖;
[0033]圖2是多叉規(guī)則樹(shù)的結(jié)構(gòu)示意圖;
[0034]圖3是本發(fā)明一種實(shí)施例的虛擬機(jī)策略迀移配置方法的流程圖;
[0035]圖4是本發(fā)明一種實(shí)施方式的虛擬機(jī)策略迀移配置裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0036]下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
[0037]圖1是本發(fā)明一種實(shí)施方式的虛擬機(jī)策略迀移配置方法的流程圖;參照?qǐng)D1,所述方法包括:
[0038]SlOl:從流表中獲取與待迀移虛擬機(jī)相匹配的規(guī)則集Ra;
[0039]需要說(shuō)明的是,所述流表是軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)交換機(jī)進(jìn)行數(shù)據(jù)包處理的最基本依據(jù),它直接影響了數(shù)據(jù)轉(zhuǎn)發(fā)的效率和整個(gè)網(wǎng)絡(luò)性能。流表由集中化的控制器統(tǒng)一管理,通過(guò)感知全網(wǎng)拓?fù)湟晥D進(jìn)行生成,并根據(jù)實(shí)際情況統(tǒng)一下發(fā)給數(shù)據(jù)流傳輸路徑上的所有SDN交換機(jī)。流表的組成單元是流表項(xiàng),一條流表項(xiàng)即可理解為一條規(guī)則。
[0040]在SDN網(wǎng)絡(luò)中,不再區(qū)分匹配長(zhǎng)度較短的FIB、MAC、MPLS Lable表以及較長(zhǎng)的ACL表,而一律采用具有最大長(zhǎng)度的流表項(xiàng)記錄代替。SDN交換機(jī)的流表機(jī)制打破了傳統(tǒng)網(wǎng)絡(luò)中的層次化概念