国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種集群式自動化測試方法與流程

      文檔序號:12719282閱讀:312來源:國知局
      一種集群式自動化測試方法與流程

      本發(fā)明涉及一種集群式自動化測試方法,適用于任何業(yè)務(wù)的存儲設(shè)備,屬于計算機存儲技術(shù)領(lǐng)域。



      背景技術(shù):

      大數(shù)據(jù)時代的來臨,存儲設(shè)備的應(yīng)用越來越廣泛,對存儲設(shè)備的穩(wěn)定性、可靠性的要求越來越嚴苛,亟需一種驗證存儲設(shè)備穩(wěn)定性、可靠性的通用型框架。

      多節(jié)點測試一直是驗證存儲設(shè)備穩(wěn)定性、可靠性的一個重要方法。當節(jié)點達到成百上千臺規(guī)模時,手動配置已然成為測試的瓶頸,既耗費大量時間及人力成本,且配置過程極易出錯。很多時候需要多節(jié)點協(xié)同操作,而人工操作難以把握正確的時間點。因為節(jié)點數(shù)量眾多,所以僅靠人工監(jiān)控系統(tǒng)的工作負載、資源使用情況,幾乎是不可能完成的工作。最后測試結(jié)果也極難收集,在測試過程中如果出現(xiàn)異常情況,也無法進行追蹤分析。這必然導(dǎo)致存儲設(shè)備在穩(wěn)定性、可靠性方面的測試不夠充分,不能及時發(fā)現(xiàn)可能導(dǎo)致系統(tǒng)故障的因素。

      綜上所述,手動配置多節(jié)點測試既費時又費力,效率低下,難以進行多節(jié)點協(xié)同操作,無法有效監(jiān)控工作負載、資源使用,極難收集測試結(jié)果,無法在測試過程中追蹤異常日志,給存儲設(shè)備留下隱患。



      技術(shù)實現(xiàn)要素:

      本發(fā)明的目的是提出一種集配置、控制、檢測、測試執(zhí)行、監(jiān)控、日志數(shù)據(jù)的收集整理等功能于一體的集群式自動化測試方法,應(yīng)用于存儲設(shè)備測試。

      本發(fā)明的思路是(1)通過一臺控制臺設(shè)備的分發(fā)腳本自動分發(fā)測試配置文件、參數(shù)文件到多臺測試客戶端及存儲設(shè)備,自動完成存儲設(shè)備、節(jié)點的配置工作;(2)自動配置時間同步;(3)在測試前進行測試環(huán)境檢查,當環(huán)境不滿足測試條件時,會將錯誤提示反饋到控制臺設(shè)備,提醒測試人員正確的處理方法;(4)當滿足測試條件時,控制臺設(shè)備會自動根據(jù)配置文件遠程啟動客戶端的測試腳本對存儲設(shè)備測試,實時監(jiān)控系統(tǒng)負載、服務(wù)和進程,并將測試中日志全部記錄在指定的位置;(5)測試結(jié)束后,自動收集測試數(shù)據(jù),并進一步分析測試數(shù)據(jù),將測試的實際結(jié)果與期望結(jié)果進行對比,把與期望結(jié)果不符的測試結(jié)果放在顯著的位置,以便分析故障原因。

      本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:

      一種集群式自動化測試方法,包括以下步驟:

      步驟一、通過腳本配置控制臺、客戶端、存儲設(shè)備間免密碼訪問;

      作為優(yōu)選,在控制臺生成SSH秘鑰對,將公共秘鑰通過SCP命令傳到所有節(jié)點及存儲設(shè)備,再將公共秘鑰追加到授權(quán)的key里面,修改授權(quán)key的權(quán)限。

      步驟二、控制臺自動分發(fā)測試配置文件、參數(shù)文件、初始化腳本到客戶端及存儲設(shè)備并配置測試環(huán)境;

      作為優(yōu)選,控制臺通過基于expect工具的自動化腳本,配置當前測試環(huán)境,包括使用分發(fā)腳本自動通過管理網(wǎng)絡(luò)scp測試配置文件、參數(shù)文件到客戶端及存儲設(shè)備;并根據(jù)分發(fā)到客戶端的測試配置文件、參數(shù)文件啟動客戶端的初始化腳本配置測試環(huán)境。

      步驟三、控制臺自動配置并啟動時間同步服務(wù);

      作為優(yōu)選,控制臺通過單獨使用NTP服務(wù)器或者集群內(nèi)部署時間同步服務(wù)實現(xiàn)。

      作為優(yōu)選,控制臺通過同時使用NTP服務(wù)器或者集群內(nèi)部署時間同步服務(wù)實現(xiàn),當NTP服務(wù)正常時使用NTP進行時間同步,當其異常時使用后者進行時間同步。

      作為優(yōu)選,所述集群內(nèi)部署時間同步服務(wù)為控制臺啟動包括Master和Agent的時間服務(wù)程序,Agent位于客戶端,負責定期檢測、記憶本節(jié)點和本節(jié)點相關(guān)存儲設(shè)備的時間,并向Master匯報,在接到Master通知后修正本節(jié)點及存儲設(shè)備的時間;Master位于控制臺,負責接收節(jié)點和存儲設(shè)備上的時間信息并與本地時間比較,若節(jié)點、存儲設(shè)備的時間異常,則通知節(jié)點、存儲設(shè)備與Master時間同步。

      步驟四、控制臺自動檢查當前測試環(huán)境,并在測試環(huán)境不滿足測試條件情況下告知測試人員進行修正,并在測試人員修正后重復(fù)本步驟,直到測試環(huán)境滿足測試條件;;

      作為優(yōu)選,所述檢查當前測試環(huán)境,檢查內(nèi)容包括但不局限于以下內(nèi)容:

      (1)掛載設(shè)備是否異常;

      (2)賬戶權(quán)限是否異常;

      (3)相關(guān)依賴軟件是否未安裝;

      步驟五、控制臺根據(jù)測試文件的測試內(nèi)容生成測試預(yù)期結(jié)果、自動分發(fā)并啟動客戶端的測試文件;

      作為優(yōu)選,所述自動分發(fā)并啟動客戶端的測試文件為控制臺通過收發(fā)命令腳本實現(xiàn),使用收發(fā)命令腳本可以對客戶端、存儲設(shè)備進行不限于如下的更好的控制:(1)實現(xiàn)在任意一個節(jié)點部署測試腳本,所有的節(jié)點可進行協(xié)同測試;(2)實現(xiàn)在不同的節(jié)點進行不同的測試;(3)實現(xiàn)對節(jié)點實施更準確的監(jiān)控和日志記錄。

      作為優(yōu)選,所述啟動客戶端的測試文件通過以下過程完成:啟動客戶端的相關(guān)的服務(wù)進程;若所有客戶端服務(wù)均正常,控制臺啟動客戶端的測試腳本,開始測試,并保存測試結(jié)果數(shù)據(jù)。

      步驟六、監(jiān)控測試過程,判斷測試是否正常;在異常情況下通知測試人員進行修正,并在測試人員修正后返回步驟五,在正常情況下完成以下工作:

      實時監(jiān)控并記錄監(jiān)控信息;

      測試結(jié)束后收集各客戶端的實際測試結(jié)果,并將實測結(jié)果與預(yù)期結(jié)果進行對比,把與預(yù)期結(jié)果相符的測試結(jié)果和不符的測試結(jié)果分別存儲,以便測試人員關(guān)注與預(yù)期結(jié)果不符的測試結(jié)果;

      測試結(jié)束后收集各客戶端的測試過程日志并存儲。

      作為優(yōu)選,所述判斷測試是否正常的標準包括但不限于如下:

      (1)所有客戶端無異常中斷,運行正常;

      (2)存儲設(shè)備運行正常

      通過上述過程,測試工作人員即可在控制臺集中控制完成集群的測試,并得到測試所關(guān)注的監(jiān)控信息、與測試預(yù)期結(jié)果不符的數(shù)據(jù)及過程日志,以便相關(guān)技術(shù)人員根據(jù)這些結(jié)果查找問題以及問題原因。

      有益效果

      對比現(xiàn)有技術(shù),本發(fā)明具有以下特點:

      1.大量節(jié)約人力成本,縮短配置測試環(huán)境時間,從而大幅提高測試效率;

      2.將重復(fù)性的配置工作自動化及測試過程自動化,無需人工干預(yù),提高配置及測試結(jié)果的準確性;

      3.自動收集測試結(jié)果及異常系統(tǒng)日志信息,便于研發(fā)人員后續(xù)進行結(jié)果分析及異常解析;

      4.有效保證存儲設(shè)備的穩(wěn)定性、可靠性和健壯性。

      附圖說明

      圖1為本發(fā)明的一種集群式的自動化測試方法處理流程圖;

      圖2為本發(fā)明的一種集群式的自動化測試方法拓撲結(jié)構(gòu)圖。

      具體實施方式

      本發(fā)明提出一種集群式的自動化測試方法,應(yīng)用于存儲設(shè)備測試,圖2為集群式的自動化測試方法拓撲結(jié)構(gòu)圖,控制臺、NTP服務(wù)器、客戶端、存儲設(shè)備連接至管理交換設(shè)備組成管理網(wǎng)絡(luò),客戶端和存儲設(shè)備連接至業(yè)務(wù)交換設(shè)備組成業(yè)務(wù)網(wǎng)絡(luò),該拓撲結(jié)構(gòu)中使用的設(shè)備配置信息如下表所示:

      表1:設(shè)備配置信息:

      下面以圖2所示測試環(huán)境為例,來詳細說明本發(fā)明的具體測試方法,如圖1所示,步驟如下:

      步驟一,通過腳本配置控制臺、客戶端、存儲設(shè)備間免密碼訪問;

      基于本實施例所述環(huán)境,使用SSH免密碼訪問設(shè)置。如圖2所示,控制臺通過通用以太網(wǎng)管理交換機,即圖中的管理交換設(shè)備,與所有客戶端及存儲設(shè)備連接組成管理網(wǎng)絡(luò)。在控制臺使用ssh-keygen命令生成秘鑰對,通過SCP命令將公共秘鑰id_rsa.pub拷貝到客戶端及存儲設(shè)備的/root目錄下,在客戶端及存儲設(shè)備將公共秘鑰追加到授權(quán)的key里面,即author ized_keys文件中,修改該文件的使用權(quán)限為600。在控制臺進行SSH免密連接測試:ssh“客戶端或存儲設(shè)備ip”,即可免密碼登陸到客戶端或存儲設(shè)備。

      對于不同的系統(tǒng)環(huán)境,同理可使用其它的協(xié)議或者修改某些文件配置控制臺與客戶端、存儲設(shè)備之間的免密訪問,只要能夠使控制臺擁有對客戶端的遠程文件拷貝及執(zhí)行文件權(quán)限即可。

      步驟二,控制臺自動分發(fā)測試配置文件、參數(shù)文件、初始化腳本到客戶端及存儲設(shè)備并配置測試環(huán)境;

      本實施例中,如圖2所示,控制臺首先通過基于expect工具的分發(fā)腳本自動將客戶端和存儲設(shè)備各自的配置文件、參數(shù)文件、初始化腳本scp(全名為secure copy,譯為安全拷貝,是Linux系統(tǒng)常用的遠程文件拷貝程序,本實施環(huán)境下使用scp命令)到客戶端和存儲設(shè)備的對應(yīng)目錄/test/conf/、/test/parameter/、/test/initialization/。本實施例中設(shè)置的客戶端數(shù)目N為100。

      然后,控制臺根據(jù)前面步驟配發(fā)的存儲設(shè)備上的配置文件、參數(shù)文件和初始化腳本stor_init.sh配置存儲資源(RAID/池/卷等)和應(yīng)用(NAS/IP-SAN/FC-SAN等);本實施例中,配置了2個池、100個卷和100個NAS;

      接下來,控制臺根據(jù)前面步驟配發(fā)的100個客戶端上的配置文件、參數(shù)文件和初始化腳本clientN_init.sh自動將100個NAS掛載到100臺客戶端;

      上述初始化腳本stor_init.sh和clientN_init.sh均為基于expect工具編寫的腳本。

      步驟三,控制臺自動配置并啟動時間同步服務(wù)

      如圖2所示,首先,控制臺通過一個自己開發(fā)的自動化腳本sync.sh,配置100個客戶端、存儲設(shè)備的時間與NTP服務(wù)器的時間每五分鐘同步一次,以保證測試期間客戶端、存儲設(shè)備的時間的同步。

      此外,為了能夠?qū)r間點要求精確的節(jié)點協(xié)同測試,以及在NTP服務(wù)器失效情況下依然不影響集群的協(xié)同測試,本實施例還配有一個備選的時間服務(wù)程序:自己開發(fā)的時間服務(wù)程序,當然也可直接選用現(xiàn)存的任何時間同步工具,只要其能夠在主時間同步工具(NTP服務(wù)器)有效情況下休眠,在其失效情況下接管時間同步工作即可。本實施例使用的時間服務(wù)程序分為Master和Agent兩部分。Agent位于客戶端,負責定期檢測、記憶并向Master上報本節(jié)點或存儲設(shè)備的時間,在接到Master通知后修正本節(jié)點及存儲設(shè)備的時間;Master位于控制臺,負責接收節(jié)點和存儲設(shè)備上的時間信息并與本地時間比較,若節(jié)點、存儲設(shè)備的時間異常,則通知節(jié)點、存儲設(shè)備與Master同步時間。

      然后,控制臺啟動Master組件sync-master,接著通過ssh遠程啟動所有客戶端以及存儲設(shè)備的Agent組件sync-agent。

      步驟四,控制臺自動檢查當前測試環(huán)境,并在測試環(huán)境不滿足測試條件情況下告知測試人員進行修正,并在測試人員修正后重復(fù)本步驟,直到測試環(huán)境滿足測試條件;

      如圖2所示,控制臺通過管理交換網(wǎng)絡(luò)啟動位于自身的環(huán)境檢測腳本,遠程檢查客戶端、存儲設(shè)備、NTP服務(wù)器的測試環(huán)境。若不滿足測試條件,控制臺顯示未滿足條件的具體設(shè)備和未滿足的具體條件,并根據(jù)未滿足條件告知測試人員正確的處理方法,當測試人員進行處理后重復(fù)本步驟繼續(xù)監(jiān)測當前環(huán)境;若滿足測試條件,則進入步驟五。

      本例中滿足測試的條件為:

      所有的NAS目錄正確掛載;

      登錄賬戶為管理員賬戶且對測試腳本有執(zhí)行權(quán)限。

      根據(jù)不同的測試環(huán)境以及測試要求,本領(lǐng)域技術(shù)人員可根據(jù)實際情況增減上述測試條件。

      步驟五,控制臺根據(jù)測試文件的測試內(nèi)容生成測試預(yù)期結(jié)果、自動分發(fā)并啟動客戶端的測試文件;

      控制臺自動分發(fā)并啟動客戶端的測試文件;該文件為控制臺通過收發(fā)命令腳本實現(xiàn),使用收發(fā)命令腳本可以對客戶端、存儲設(shè)備進行不限于如下的更好的控制:(1)實現(xiàn)在任意一個節(jié)點部署測試腳本,所有的節(jié)點可進行協(xié)同測試;(2)實現(xiàn)在不同的節(jié)點進行不同的測試;(3)實現(xiàn)對節(jié)點實施更準確的監(jiān)控和日志記錄。

      本實施例中,如圖2所示,在IP地址為192.168.0.25的客戶端部署測試腳本;控制臺通過管理交換設(shè)備使用ssh遠程啟動100個客戶端的rpc(全名為Remote Procedure Call Protocol,譯為遠程過程調(diào)用,一種通用的網(wǎng)絡(luò)協(xié)議)服務(wù),待確認服務(wù)正常后在控制臺/test/expect目錄下生成測試的預(yù)期結(jié)果。啟動前面步驟配發(fā)到192.168.0.25客戶端的測試文件開始協(xié)同測試,保存測試數(shù)據(jù)至客戶端的/test/data目錄。

      本例中的測試內(nèi)容為100個客戶端通過業(yè)務(wù)交換設(shè)備對存儲設(shè)備上100個NAS協(xié)同進行IO讀寫測試。

      步驟六,監(jiān)控測試過程,判斷測試是否正常,在異常情況下通知測試人員進行修正,并在測試人員修正后返回步驟五,在正常情況下完成以下工作:

      實時監(jiān)控并記錄監(jiān)控信息;

      測試結(jié)束后收集各客戶端的實際測試結(jié)果,并將實測結(jié)果與預(yù)期結(jié)果進行對比,把與預(yù)期結(jié)果相符的測試結(jié)果和不符的測試結(jié)果分別存儲,以便測試人員關(guān)注與預(yù)期結(jié)果不符的測試結(jié)果;

      測試結(jié)束后收集各客戶端的測試過程日志并存儲。

      本實施例中判斷測試是否正常的判斷標準如下:

      (1)所有客戶端無異常中斷,運行正常;

      (2)存儲設(shè)備運行正常。

      當然,根據(jù)實際測試環(huán)境,本領(lǐng)域技術(shù)人員可以對上述條件進行增減,以滿足實際測試要求。

      如圖2所示,控制臺通過管理交換設(shè)備實時地監(jiān)控收集100個客戶端、存儲設(shè)備的負載信息,如CPU使用率、可用內(nèi)存大小、磁盤IO,并將監(jiān)控信息保存至自身的/test/monitor/目錄。如步驟五所述,測試前,控制臺的/test/expect目錄保存有預(yù)期測試結(jié)果。測試結(jié)束后,控制臺收集客戶端/test/data目錄中的測試數(shù)據(jù),保存至控制臺的的/test/fact測試結(jié)果目錄??刂婆_將得到的測試結(jié)果與預(yù)期結(jié)果進行對比,將測試結(jié)果與預(yù)期一致的結(jié)果保存至控制臺的/test/summary目錄,將測試結(jié)果與預(yù)期結(jié)果不同的測試詳細信息保存至控制臺的/test/error目錄,收集測試過程中生成的日志log至控制臺的/test/log目錄,以便分析故障原因。

      上述實施例以一定環(huán)境為例示例了本發(fā)明方法的實施過程,本領(lǐng)域技術(shù)人員不難同理推出在不同環(huán)境下如何實施本發(fā)明,以及所述存儲目錄亦可根據(jù)實際情況變化。

      以上對本發(fā)明實施例所提供的技術(shù)方案進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明實施例的原理以及實施方式進行了闡述,以上實施例的說明只適用于幫助理解本發(fā)明實施例的原理;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實施例,在具體實施方式、時間同步程序、有關(guān)腳本、有關(guān)服務(wù)進程以及應(yīng)用范圍可能會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1