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