麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種集群的測試方法與流程

文檔序號:11929974閱讀:481來源:國知局
一種集群的測試方法與流程

本發明涉及集群領域,具體來說,涉及一種集群的測試方法。



背景技術:

當前存儲技術正在從以盤陣為代表的縱向擴展技術向以集群為代表的橫向擴展技術發展,而這種橫向擴展的主體則是運行類UNIX操作系統、Linux操作系統的存儲服務器節點,因此,在對集群的可用性和可靠性測試時,需要對整個集群注入一定故障,包括電源故障、硬盤故障、節點故障、網絡故障、RAID控制器故障、RAID卷故障等復雜的故障,但是,一般情況下,這些故障注入都是由人對機器進行物理操作來注入故障,比如插拔電源線、插拔網線等物理操作來進行故障注入,上述故障注入方法雖然真實,但這個方法不具有時效性、準確性和可重復性,不便于發現系統漏洞后追查問題,而且由每個人負責的測試腳本也易出現浪費工作量、故障注入方法不統一、增加復現程序漏洞的交流成本、腳本碎片化嚴重等問題,且由于碎片化的問題,難以用一套標準的方法加入自動化測試框架中使用,因此,需要引入一種比較有效率的測試方法,以便在測試初期可以自動化的進行故障注入,縮短代碼測試周期,增加測試效率。

針對相關技術中的問題,目前尚未提出有效的解決方案。



技術實現要素:

針對相關技術中的問題,本發明提出一種集群的測試方法,能夠使故障注入的方法標準化,保證故障注入動作具有時效性,同時使故障注入行為具有時間上和頻率上的可重復性。

本發明的技術方案是這樣實現的:

根據本發明的一個方面,提供了一種集群的測試方法。

該集群的測試方法包括:步驟S1,設置待注入故障節點的系統類型;步驟S2,將第一軟件包注入待注入故障節點,以構建軟件的可運行環境;步驟S3,判斷步驟S1和步驟S2是否執行成功,若成功,則執行步驟S4,若不成功,則執行步驟S5;步驟S4,向待注入故障節點注入故障;步驟S5,清除待注入故障節點的操作系統的修改。

根據本發明的一個實施例,系統類型包括至少以下系統之一:Linux操作系統、類UNIX操作系統。

根據本發明的一個實施例,進一步包括:步驟S1,設置多個待注入故障節點的類UNIX系統類型;步驟S2,將多種第一軟件包分別注入多個待注入故障節點,以構建多個軟件的可運行環境;步驟S3,判斷步驟S1和步驟S2是否執行成功,若成功,則執行步驟S4,若不成功,則執行步驟S5;步驟S4,向多個待注入故障節點同時注入多個故障;步驟S5,清除待注入故障節點的操作系統的設置。

根據本發明的一個實施例,通過第二軟件包設置故障節點的系統類型。

根據本發明的一個實施例,第二軟件包括以下至少之一:Solaris系統的配置軟件包、FreeBSD系統配置軟件包、RHEL系統配置軟件包、SLES系統配置軟件包。

根據權利要求1的測試方法,其特征在于,第一軟件包包括以下至少之一:SAS控制器的命令行工具、RAID控制器的命令行控制工具、RAID卷的配置函數。

根據本發明的一個實施例,注入故障包括以下至少之一:電源故障、硬盤故障、節點故障、網絡故障、磁盤陣列的卷故障、磁盤陣列的控制器故障。

本發明的有益技術效果在于:

本發明通過設置待注入故障節點的系統類型,隨后將第一軟件包注入待注入故障節點,以構建軟件的可運行環境,隨后向待注入故障節點注入故障,基于該測試方案,從而能夠使故障注入的方法標準化,保證故障注入動作具有時效性,同時使故障注入行為具有時間上和頻率上的可重復性。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是根據本發明實施例的集群的測試方法的流程圖;

圖2是根據本發明具體實施例的集群的測試方法的流程圖。

具體實施方式

下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發明保護的范圍。

根據本發明的實施例,提供了一種集群的測試方法。

如圖1所示,根據本發明實施例的集群的測試方法包括:

步驟S101,設置待注入故障節點的系統類型;

步驟S103,將第一軟件包注入待注入故障節點,以構建軟件的可運行環境;

步驟S105,判斷步驟S101和步驟S103是否執行成功,若成功,則執行步驟S107,若不成功,則執行步驟S109;

步驟S107,向待注入故障節點注入故障;

步驟S109,清除待注入故障節點的操作系統的修改。

通過本發明的上述方案,能夠通過設置待注入故障節點的系統類型,隨后將第一軟件包注入待注入故障節點,以構建軟件的可運行環境,隨后向待注入故障節點注入故障,基于該測試方案,從而能夠使故障注入的方法標準化,保證故障注入動作具有時效性,同時使故障注入行為具有時間上和頻率上的可重復性。

根據本發明的一個實施例,系統類型包括至少以下系統之一:Linux操作系統、類UNIX操作系統。

根據本發明的一個實施例,進一步包括:步驟S1,設置多個待注入故障節點的類UNIX系統類型;步驟S2,將多種第一軟件包分別注入多個待注入故障節點,以構建多個軟件的可運行環境;步驟S3,判斷步驟S1和步驟S2是否執行成功,若成功,則執行步驟S4,若不成功,則執行步驟S5;步驟S4,向多個待注入故障節點同時注入多個故障;步驟S5,清除待注入故障節點的操作系統的設置。

根據本發明的一個實施例,通過第二軟件包設置故障節點的系統類型。

根據本發明的一個實施例,第二軟件包括以下至少之一:Solaris系統的配置軟件包、FreeBSD系統配置軟件包、RHEL系統配置軟件包、SLES系統配置軟件包。

根據權利要求1的測試方法,其特征在于,第一軟件包包括以下至少之一:SAS控制器的命令行工具、RAID控制器的命令行控制工具、RAID卷的配置函數。

根據本發明的一個實施例,注入故障包括以下至少之一:電源故障、硬盤故障、節點故障、網絡故障、磁盤陣列的卷故障、磁盤陣列的控制器故障。

為了更好的描述本發明,下面通過具體的實施例進行詳細的描述。

本發明采用Linux下Python編程語言和Shell腳本實現故障注入行為,同時,采用C語言配合RAID控制器、SAS控制器廠商的官方庫函數以及POSIX標準函數實現故障注入方法,從而通過軟件的形式實現本專利的方法,將軟件打包成1個壓縮包,并且采用2級目錄結構,同時,根目錄下存放3個主腳本和5個文件夾,其中,3個主腳本包括:

Failure_Inject:按照此腳本跟隨的參數,注入參數所描述的故障行為;

Sys_Set:用于完成軟件包及其依賴包的配置,不同操作系統的環境配置,廠商庫函數源碼的安裝等;

Clean:用于清除此軟件對操作系統進行的所有更改。

5個文件目錄包括:

include:內含4個壓縮包,sol.tar.gz、bsd.tar.gz、rhel.tar.gz、suse.tar.gz,用于存放針對不同操作系統定制的系統配置腳本和可執行文件,其中,sol.tar.gz存放Solaris操作系統可用的文件,bsd.tar.gz存放FreeBSD操作系統可用的文件,rhel.tar.gz存放RHEL操作系統可用的文件,sles.tar.gz存放SLES操作系統可用的文件;

source:存放軟件運行過程中需要使用的庫函數或依賴包的壓縮包,其包括sas3ircu、sas2ircu、megacli、storcli、storlib等用于操作和監控RAID控制器及硬盤、SAS控制器及硬盤的工具包和庫函數;

src:存放針對不同硬件故障注入的子腳本,包括NAS_CTL、POWER_CTL、PACKED_CTL、BOND_CTL、ETH_CTL、SAS_SATA_CTL、RAID_VOL_CTL等腳本,其分別是針對集群NAS、節點電源、網口網絡包、bond網口、物理網口、SAS控制器上物理盤、RAID控制器上邏輯卷的故障注入腳本;

Logs:存放日志文件,其針對不同硬件注入的故障,會記錄在獨立的文件中,便于追溯故障注入的過程;

Tmp:存放臨時數據。

表1

1級目錄下存放主腳本作為程序入口,調用src下腳本協同工作,文件目錄結構如表1所示。

進一步,本發明的集群的測試方法如圖2所示,具體地:

步驟1,調用Sys_Set程序,使用include目錄中的相應軟件包設置待注入故障節點的操作系統,使其符合Failure_Inject程序的要求,同時將配置過程的日志寫入logs目錄;

步驟2:調用Sys_Set程序,使用source目錄中的軟件包配置待注入故障節點,構建Failure_Inject可運行的軟件環境,同時將配置過程的日志寫入logs目錄;

步驟3:判斷步驟1和步驟2是否成功,若成功則進入步驟4,若失敗則進入步驟5;

步驟4:步驟1和步驟2執行成功,使用Failure_Inject程序按照設定的參數向預定的節點注入故障,同時將故障注入的log寫入到logs目錄,然后退出;

步驟5:步驟1和步驟2執行失敗,使用Clean程序清除對節點操作系統的修改,然后通知使用者檢查問題并退出。

綜上所述,借助于本發明的上述技術方案,通過該集群測試方法,在Linux操作系統下對集群中的節點進行配置和自動故障注入,并自動記錄便于回溯,同時,兼容類UNIX操作系統,如RHEL系統、CentOS系統、SLES系統、Solaris系統等,還支持包括NAS業務網、節點電源故障、節點網口丟包故障、bonding網口故障、物理網管故障、SAS控制器上硬盤故障、RAID邏輯卷故障等故障內容,此外,通過該集群測試方法,還可以在研發測試階段節約大量測試人力,實現故障自動化注入,加速分布式存儲系統軟件開發進度。

以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 涿州市| 宁蒗| 灵石县| 鞍山市| 泸州市| 仙游县| 安义县| 迁西县| 宜春市| 赤峰市| 定远县| 湄潭县| 西城区| 新乡县| 奈曼旗| 涟水县| 蓝田县| 慈溪市| 湛江市| 旬阳县| 梨树县| 那坡县| 广南县| 舒城县| 林州市| 黄陵县| 盈江县| 泰和县| 通江县| 新昌县| 类乌齐县| 搜索| 龙山县| 肇州县| 永平县| 齐齐哈尔市| 云阳县| 岗巴县| 洛南县| 周至县| 漳平市|