一種網(wǎng)絡(luò)化測(cè)試系統(tǒng)的計(jì)算資源虛擬化系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于網(wǎng)絡(luò)化測(cè)試技術(shù)領(lǐng)域,具體設(shè)及一種網(wǎng)絡(luò)化測(cè)試系統(tǒng)的計(jì)算資源虛擬 化方法。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)技術(shù)的拓展,網(wǎng)絡(luò)在自動(dòng)測(cè)試領(lǐng)域中的應(yīng)用越加廣泛。相比于測(cè)試總線, 網(wǎng)絡(luò)W其開(kāi)放性、兼容性和靈活性等方面的優(yōu)勢(shì),在構(gòu)建自動(dòng)測(cè)試系統(tǒng)時(shí),使得系統(tǒng)通用化 方面將具有更好的儀器互換性、TPS可移植性和信息互通性;進(jìn)而,隨著測(cè)試資源的集中管 理、調(diào)度機(jī)制和分布式測(cè)試過(guò)程的完善,將大大提高測(cè)試信息傳輸?shù)男屎筒⑿袦y(cè)試的能 力,從而獲得更高資源利用率和測(cè)試效率。因此,網(wǎng)絡(luò)化將成為未來(lái)自動(dòng)測(cè)試領(lǐng)域的重要應(yīng) 用方向。
[0003] 目前,盡管網(wǎng)絡(luò)化測(cè)試技術(shù)和相應(yīng)規(guī)范已逐步成熟,但在實(shí)際的應(yīng)用中,由于缺少 成熟的基于網(wǎng)絡(luò)的測(cè)試系統(tǒng)架構(gòu)和相應(yīng)的工具,網(wǎng)絡(luò)依然被當(dāng)作測(cè)試總線使用,其優(yōu)勢(shì)難 W發(fā)揮,而其劣勢(shì)甚至被放大。例如,網(wǎng)絡(luò)化測(cè)試中常用的100M/1000MW太網(wǎng),相比于主 流的測(cè)試總線PXI或PXIe,其總線帶寬明顯不足巧有,網(wǎng)絡(luò)延遲的不確定造成測(cè)試系統(tǒng)實(shí) 時(shí)性降低,使得網(wǎng)絡(luò)化測(cè)試系統(tǒng)的應(yīng)用效果大打折扣;另外,網(wǎng)絡(luò)測(cè)試設(shè)備的智能性、設(shè)備 間的通信能力W及設(shè)備同步、觸發(fā)功能難W發(fā)揮作用,信息傳輸出現(xiàn)瓶頸,測(cè)試效率難W提 局。
[0004] 網(wǎng)絡(luò)化測(cè)試儀器通常是采用嵌入式系統(tǒng)技術(shù)開(kāi)發(fā)的智能儀器,儀器本身具有計(jì)算 和存儲(chǔ)能力,但運(yùn)些智能儀器僅作為網(wǎng)絡(luò)化測(cè)試系統(tǒng)主控計(jì)算機(jī)的外設(shè),系統(tǒng)并沒(méi)有對(duì)其 計(jì)算資源加W利用,造成儀器資源的大量浪費(fèi)。
【發(fā)明內(nèi)容】
[0005] 針對(duì)上述現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明的目的在于提供一種可避免出現(xiàn)上述技 術(shù)缺陷的一種網(wǎng)絡(luò)化測(cè)試系統(tǒng)的計(jì)算資源虛擬化方法。
[0006] 為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案如下:
[0007] -種網(wǎng)絡(luò)化測(cè)試系統(tǒng)的計(jì)算資源虛擬化方法,包括W下步驟:
[0008] 步驟1)采用LXC實(shí)現(xiàn)儀器計(jì)算資源的容器虛擬化;
[0009] 步驟2)構(gòu)建容器網(wǎng)絡(luò)連接模型,實(shí)現(xiàn)容器間的互連;
[0010] 步驟3)對(duì)容器網(wǎng)絡(luò)帶寬進(jìn)行分配。
[0011] 進(jìn)一步地,所述步驟1)具體包括W下步驟:
[0012] 步驟A:移植Linux內(nèi)核和ArchLinux:制作boot,生成設(shè)備文件樹(shù),移植Linux kernel3. 12,制作Archlinux文件系統(tǒng);
[0013] 步驟B:對(duì)Linux內(nèi)核進(jìn)行LXC虛擬化配置:Namespaces配置,Cgroups配置, Network配置;
[0014]步驟C:配置TrafficCotroller內(nèi)核;
[001引步驟D:初始化ArchLinux文件系統(tǒng):設(shè)置MAC、IP、DNS地址,設(shè)置多播和路由,編 寫(xiě)開(kāi)機(jī)自啟動(dòng)腳本。
[0016] 進(jìn)一步地,所述步驟2)具體為:
[0017] 首先在宿主機(jī)操作系統(tǒng)上創(chuàng)建Linux化idge設(shè)備,并利用該技術(shù)將多臺(tái)儀器內(nèi)部 容器的虛擬網(wǎng)絡(luò)設(shè)備W內(nèi)核通信的方式連接在同一局域網(wǎng)下;
[001引然后利用Linux的虛擬網(wǎng)絡(luò)技術(shù),在局域網(wǎng)內(nèi)構(gòu)建了Veth、Vlan、MacvlanS種網(wǎng) 絡(luò)模型,用W支撐多儀器、多容器協(xié)同工作。
[0019] 進(jìn)一步地,所述步驟3)具體為
[0020] 首先將ipr〇ute2移植到嵌入式系統(tǒng)中,然后利用TrafficController技術(shù)進(jìn)行 網(wǎng)絡(luò)流量控制。
[0021] 進(jìn)一步地,利用所述TrafficController技術(shù)進(jìn)行網(wǎng)絡(luò)流量控制的具體包括W下 步驟:
[002引(1)創(chuàng)建HTB樹(shù):先創(chuàng)建根節(jié)點(diǎn),然后再創(chuàng)建左右子節(jié)點(diǎn);
[0023] (2)限定IP粒度流量:增加一層過(guò)濾器來(lái)匹配該IP地址,并將其跟隨到特定 classic!的HTB或SFQ中;
[0024] (3)限定端口粒度流量:tc過(guò)濾器匹配特定端口號(hào),并將源或目的端口號(hào)與需限 定端口號(hào)相同的數(shù)據(jù)包跟隨到指定HTB或SFQ中;
[0025] (4)限定進(jìn)程粒度流量。
[0026] 本發(fā)明提出的網(wǎng)絡(luò)化測(cè)試系統(tǒng)的計(jì)算資源虛擬化方法,可在不干擾和破壞網(wǎng)絡(luò)測(cè) 試任務(wù)的前提下將儀器空閑的計(jì)算資源開(kāi)放給系統(tǒng)層,可使儀器參與系統(tǒng)層的數(shù)據(jù)處理和 運(yùn)算,W及將測(cè)試數(shù)據(jù)本地化預(yù)處理,并且本發(fā)明通過(guò)合理配置LXC內(nèi)核特性的方式實(shí)現(xiàn) 了ARM架構(gòu)的單機(jī)LXC容器虛擬化。在儀器LXC單機(jī)容器虛擬化的基礎(chǔ)上,創(chuàng)建了Linux 網(wǎng)橋度ridge),構(gòu)建了Veth、VLAN、MacvlanS種網(wǎng)絡(luò)連接模型,達(dá)到了支撐容器間的網(wǎng)絡(luò) 通信的目標(biāo)。同時(shí),聯(lián)合流量控制器和Cgroupsnet_cls子系統(tǒng)實(shí)現(xiàn)了容器指定的網(wǎng)絡(luò)帶 寬分配;本發(fā)明在智能儀器上W較小的性能開(kāi)銷(xiāo)方式創(chuàng)建多個(gè)虛擬容器,并且可為容器動(dòng) 態(tài)分配隔離可控的內(nèi)存、存儲(chǔ)、CPU、網(wǎng)絡(luò)資源,該方法在提高系統(tǒng)資源利用率,緩解主控計(jì) 算機(jī)計(jì)算壓力,降低網(wǎng)絡(luò)傳輸數(shù)據(jù)量方面具有很強(qiáng)的可行性和合理性,可W很好地滿足實(shí) 際應(yīng)用的需要。
【附圖說(shuō)明】
[0027] 圖1為本發(fā)明的流程圖;
[002引 圖2為L(zhǎng)inux化idge的工作示意圖;
[0029] 圖3為Veth模式的原理示意圖;
[0030] 圖4為VLAN模式的原理示意圖;
[0031] 圖5為Macvlan模式的原理示意圖;
[0032] 圖6為T(mén)C流量控制樹(shù)狀結(jié)構(gòu)示意圖;
[0033] 圖7為網(wǎng)絡(luò)子系統(tǒng)的工作原理示意圖。
【具體實(shí)施方式】
[0034] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖和具體實(shí)施 例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用W解釋本發(fā)明,并不用 于限定本發(fā)明。
[0035] 如圖1所示,。
[0036] 一種網(wǎng)絡(luò)化測(cè)試系統(tǒng)的計(jì)算資源虛擬化方法,包括步驟1)、步驟2)和步驟3)=個(gè) 步驟,如下:
[0037] 步驟1)采用LXC實(shí)現(xiàn)儀器計(jì)算資源的容器虛擬化;
[0038] 步驟2)構(gòu)建容器網(wǎng)絡(luò)連接模型,實(shí)現(xiàn)容器間的互連;
[0039] 步驟3)對(duì)容器網(wǎng)絡(luò)帶寬進(jìn)行分配。
[0040] 所述步驟1)具體包括步驟A、步驟B、步驟C和步驟D,如下所示:
[0041] 巫遞_4:移植Linux內(nèi)核和ArchLinux:制作boot,生成設(shè)備文件樹(shù),移植Linux kernel3. 12,制作Archlinux文件系統(tǒng);
[004引其中:
[0043]boot制作包括針對(duì)ZYNQ忍片的FS化(firststagebootloader)制作,ZYNQ的化 資源的system,bit的編譯,W及u-boot的編譯。FSI3L和system,bit直接用xilinx公司 的Vivado軟件生成即可。
[0044]u-boot源碼壓縮包u-boot-digilent-2012. 04-digilent_13. 01.tar.gz需 在u-boot官網(wǎng)上下載,壓縮包解壓后,在指定的文件夾下(include/configs/)找到與 ze化oard相關(guān)的配置頭文件(zynq_zed.h),然后做如下修改:
[0045] 31#defineC0NFIG-IPADDR192. 168. 0. 100/*zeclboardIP地址 */
[0046] 32#defineC0NFIG_WRVERIP192. 168. 0. 250/* 主機(jī)IP地址 */
[0047] ...
[0048] 42ethacMr= 00:Oa: 35:00:Ol: 45\0"/* 設(shè)定zeclboardmac地址 */
[0049] 生成u-boot配置文件后,利用LinuxShell指令編譯u-boot:
[0050] 3ISmakeCROSS-COMPILE=arm-xilinx-linux-gnueabi-zynq_zed_config
[0051] 32#makeCROSS-COMPILE=arm-xiIinx-linux-即ue油i-
[0052] 最后編寫(xiě)boot_bif.bif文件,并利用xilinx的bootgen生成b