專利名稱:網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實用新型屬于計算機軟件測試技術(shù)領(lǐng)域,涉及一種網(wǎng)絡(luò)存儲管理軟件虛擬測化試系統(tǒng)。
背景技術(shù):
隨著存儲容量的不斷擴展,網(wǎng)絡(luò)存儲變得越來越復(fù)雜,自動化管理變得異常重要。因此,網(wǎng)絡(luò)存儲管理軟件的設(shè)計和開發(fā)就成為存儲產(chǎn)品開發(fā)中不可或缺的部分。網(wǎng)絡(luò)存儲管理軟件設(shè)計完成后,需要通過讀寫遠(yuǎn)端的多個磁盤陣列來驗證軟件的正確性和有效性。網(wǎng)絡(luò)存儲管理軟件的測試需要配置相當(dāng)數(shù)量的真實盤陣作為測試的硬件基礎(chǔ),不僅會嚴(yán)重浪費硬件資源,增加軟件測試的成本,而且盤陣運行時所耗費的空間資源和電力資源也會進一步加大測試開銷。另一方面,當(dāng)測試所需的盤陣個數(shù)快速變化時,基于真實盤陣的測試方法不能及時響應(yīng)測試要求,影響測試效果。鑒于上述方法存在的問題,提出一種網(wǎng)絡(luò)存儲管理軟件的測試虛擬化測試系統(tǒng),在遠(yuǎn)程PC上運行虛擬盤陣服務(wù)進程模擬真實盤陣操作。
實用新型內(nèi)容本實用新型的目的是為克服現(xiàn)有技術(shù)在對網(wǎng)絡(luò)存儲管理軟件進行測試時要占用大量資源、測試效果不佳的問題,提供一種網(wǎng)絡(luò)存儲管理軟件的測試虛擬化測試系統(tǒng)。本實用新型的技術(shù)方案是:一種網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng),包括:網(wǎng)絡(luò)存儲管理軟件客戶端;磁盤陣列虛擬服務(wù)端,其包括網(wǎng)絡(luò)連接設(shè)備和磁盤陣列虛擬機。其中,至少有一臺所述磁盤陣列虛擬機與所述網(wǎng)絡(luò)連接設(shè)備通信連接;網(wǎng)絡(luò)存儲管理軟件客戶端與磁盤陣列虛擬服務(wù)端通信連接。所述系統(tǒng)的磁盤陣列虛擬服務(wù)端中至少一臺磁盤陣列虛擬機B上安裝虛擬機軟件并在虛擬機上運行若干個Linux操作系統(tǒng),通過給網(wǎng)卡設(shè)置別名的方法,實現(xiàn)單個網(wǎng)卡綁定多個IP地址。一個虛擬盤陣由一個UDP Server進程和一個TCP Server進程構(gòu)成,每個虛擬盤陣被分配一個IP地址,UDP Server進程和TCP Server進程監(jiān)聽同一 IP地址上的不同端口。這兩個進程分別與主程序中的UDP Client線程和TCP Client線程相對應(yīng),模擬真實盤陣響應(yīng)UDP包并完成管理命令的操作。如圖2所示。所述系統(tǒng)的網(wǎng)絡(luò)存儲管理軟件客戶端臺式計算機A上運行待測試的網(wǎng)絡(luò)存儲管理軟件,確定出需要管理的盤陣個數(shù)及與盤陣通信的IP地址范圍。然后根據(jù)這些地址覆蓋的IP網(wǎng)段個數(shù),網(wǎng)絡(luò)存儲管理軟件中的主程序循環(huán)調(diào)用UDP Client線程。該線程依次給每個網(wǎng)段內(nèi)的每個盤陣發(fā)送一個UDP包,以探測盤陣的狀態(tài)和類型。如果在規(guī)定時間內(nèi)UDPClient沒有收到來自某個IP地址的響應(yīng)包,則認(rèn)為該IP地址上的盤陣失效;如果有盤陣對這個UDP包做出響應(yīng)并返回信息,則UDP Client線程就把該盤陣的IP地址記錄在一個公共數(shù)組中。之后,主程序時刻監(jiān)測公共數(shù)組的變化,當(dāng)發(fā)現(xiàn)有新的IP地址加入數(shù)組就立刻調(diào)用TCP Client的線程。該線程會向上述IP地址發(fā)起一個TCP連接,要求對應(yīng)盤陣完成某種操作,例如讀操作或者寫操作。根據(jù)存儲軟件管理盤陣的私有協(xié)議,接受連接的盤陣會解析TCP信息包中的操作命令,從而執(zhí)行操作并把結(jié)果返回給TCP Client線程。所述系統(tǒng)的網(wǎng)絡(luò)存儲管理軟件客戶端與磁盤陣列虛擬服務(wù)端通過網(wǎng)絡(luò)連接。網(wǎng)絡(luò)存儲管理軟件客戶端A向運行在磁盤虛擬機B上的N個UDP Server進程和N個TCP Server進程發(fā)送操作請求。磁盤虛擬機B執(zhí)行UDP Server進程,響應(yīng)UDP Client發(fā)出的查詢包,把虛擬盤陣的硬件信息打包返回給UDP Client線程;執(zhí)行TCP Server進程,響應(yīng)TCP Client發(fā)出的管理請求,根據(jù)私有協(xié)議解析管理命令,模擬完成相應(yīng)操作。以讀命令為例,先檢查該連接是否可讀,如果可讀,則讀取該socket的內(nèi)容到緩沖區(qū),然后根據(jù)私有協(xié)議解析命令內(nèi)容,最后到Linux系統(tǒng)的特定目錄下讀取以命令名命名的數(shù)據(jù)文件并把數(shù)據(jù)內(nèi)容打包返回給TCP Client線程,從而完成虛擬盤陣的一次讀操作。詳細(xì)過程如圖3所示。有益效果:采用本實用新型在測試網(wǎng)絡(luò)存儲管理軟件的正確性和有效性時,無需讀寫遠(yuǎn)端真實的磁盤陣列,模擬真實盤陣在存儲管理軟件測試中執(zhí)行的操作。與現(xiàn)有技術(shù)相比,用虛擬盤陣軟件代替真實的盤陣硬件完成網(wǎng)絡(luò)存儲管理軟件性能的測試,既降低了軟件測試的費用又增加了測試的靈活性,具有極大的實用價值和經(jīng)濟效益。
圖1網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng)結(jié)構(gòu)圖圖2盤陣虛擬化結(jié)構(gòu)圖圖3執(zhí)行讀命令的線程工作流程圖
具體實施方式
下面結(jié)合實施例對本實用新型作具體細(xì)描述。實施例如圖1所示,本實用新型提供一種網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng),包括:網(wǎng)絡(luò)存儲管理軟件客戶端;磁盤陣列虛擬服務(wù)端,其包括網(wǎng)絡(luò)連接設(shè)備和磁盤陣列虛擬機。其中,至少有一臺所述磁盤陣列虛擬機與所述網(wǎng)絡(luò)連接設(shè)備通信連接;網(wǎng)絡(luò)存儲管理軟件客戶端與磁盤陣列虛擬服務(wù)端通信連接。測試實例預(yù)計對600個盤陣進行管理。所述系統(tǒng)的磁盤陣列虛擬服務(wù)端中至少一臺磁盤陣列虛擬機B上安裝3個Linux系統(tǒng)。每個系統(tǒng)的單網(wǎng)卡上綁定200個IP地址,地址范圍設(shè)置成 192.168.4.11 192.168.4.210、192.168.5.11 192.168.5.210 和192.168.6.11 192.168.6.210,子網(wǎng)掩碼為255.255.255.0。運行磁盤陣列虛擬機B上的腳本程序依次啟動600個UDP Server進程和600個TCP Server進程,進程的輸入?yún)?shù)IP地址如上述范圍,UID范圍從1048576變化到1049175。所述系統(tǒng)的網(wǎng)絡(luò)存儲管理軟件客戶端臺式計算機A上運行待測試的網(wǎng)絡(luò)存儲管理軟件。從上述設(shè)置的IP地址范圍可知,該地址覆蓋了 3個網(wǎng)段,因此管理軟件的主程序3次調(diào)用UDP Client線程分別在每一個網(wǎng)段內(nèi)向每個IP地址發(fā)送UDP查詢包。運行在所述磁盤虛擬機B上的每個虛擬盤陣由一個UDP Server和一個TCP Server進程構(gòu)成。如果某個UPD Server接收到UDP查詢包就會把跟自己綁定的IP地址、UID標(biāo)識以及盤陣類型等信息返回給計算機A中的UDP Client線程。該線程如果能在規(guī)定時間內(nèi)收到來自某個IP地址的UDP響應(yīng)包就認(rèn)為該IP地址上的虛擬盤陣存在,于是把該IP地址記錄在一個公共數(shù)組中。隨后,管理軟件的主程序時刻檢測公共數(shù)組IP地址的變化,當(dāng)發(fā)現(xiàn)有新的IP地址寫入數(shù)組,比如192.168.5.121,則主程序調(diào)用TCP Client線程向IP地址為192.168.5.121的虛擬盤陣發(fā)出TCP連接請求,要求該虛擬盤陣執(zhí)行讀命令。所述系統(tǒng)的網(wǎng)絡(luò)存儲管理軟件客戶端與磁盤陣列虛擬服務(wù)端通過網(wǎng)絡(luò)連接,運行在磁盤虛擬機B的TCP Server進程監(jiān)聽到來自網(wǎng)絡(luò)存儲管理軟件客戶端臺式計算機A發(fā)出的TCP Client的連接請求,如果發(fā)現(xiàn)該連接可讀,則倉Il建新線程實現(xiàn)虛擬盤陣讀數(shù)據(jù)的功能。具體過程如下:先檢測此TCP連接的socket數(shù)據(jù)是否可讀,如果可讀就循環(huán)讀出socket中的數(shù)據(jù)直到全部讀出為止。然后根據(jù)存儲管理軟件的私有協(xié)議解析出socket數(shù)據(jù)中的讀命令,比如是00012100FFFF,最后就到/usr/tmp/data目錄下打開文件名為00012100FFFF的數(shù)據(jù)文件。如果打開操作成功,就讀取文件內(nèi)容并把文件數(shù)據(jù)打包返回給TCP Client線程;如果操作不成功,會重新組織一個無數(shù)據(jù)內(nèi)容的信息包返回給TCPClient線程。至此虛擬盤陣的一次讀操作結(jié)束。
權(quán)利要求1.一種網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng),其特征在于,包括:網(wǎng)絡(luò)存儲管理軟件客戶端;磁盤陣列虛擬服務(wù)端,其包括網(wǎng)絡(luò)連接設(shè)備和磁盤陣列虛擬機;其中,至少有一臺所述磁盤陣列虛擬機與所述網(wǎng)絡(luò)連接設(shè)備通信連接;網(wǎng)絡(luò)存儲管理軟件客戶端與磁盤陣列虛擬服務(wù)端通信連接。
2.如權(quán)利要求1所述的一種網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng),其特征在于,所述網(wǎng)絡(luò)存儲管理軟件客戶端采用戴爾0ptiPleX390臺式計算機。
3.如權(quán)利要求1所述的一種網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng),其特征在于,所述磁盤陣列虛擬服務(wù)端中的網(wǎng)絡(luò)連接設(shè)備為8端口 TP-LINK TL-HP8MU集線器。
4.如權(quán)利要求1所述的一種網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng),其特征在于,所述磁盤陣列虛擬服務(wù)端中的磁盤陣列虛擬機采用IBM聯(lián)想S204105A64工作站。
專利摘要本實用新型公開了一種網(wǎng)絡(luò)存儲管理軟件虛擬化測試系統(tǒng),包括網(wǎng)絡(luò)存儲管理軟件客戶端;磁盤陣列虛擬服務(wù)端,其包括網(wǎng)絡(luò)連接設(shè)備和磁盤陣列虛擬機。其中,至少有一臺所述磁盤陣列虛擬機與所述網(wǎng)絡(luò)連接設(shè)備通信連接;網(wǎng)絡(luò)存儲管理軟件客戶端與磁盤陣列虛擬服務(wù)端通信連接。該系統(tǒng)在遠(yuǎn)程磁盤陣列虛擬機上運行虛擬盤陣服務(wù)進程模擬真實盤陣操作,克服了現(xiàn)有技術(shù)在對網(wǎng)絡(luò)存儲管理軟件進行測試時要占用大量資源、測試效果不佳的問題。本實用新型用虛擬盤陣軟件代替真實的盤陣硬件完成網(wǎng)絡(luò)存儲管理軟件性能的測試,既降低了軟件測試的費用又增加了測試的靈活性,具有極大的實用價值和經(jīng)濟效益。
文檔編號H04L29/08GK203039708SQ201320026429
公開日2013年7月3日 申請日期2013年1月18日 優(yōu)先權(quán)日2013年1月18日
發(fā)明者李艷, 孫福振, 杜建光, 張麗, 王金剛 申請人:山東理工大學(xué)