本發(fā)明涉及服務(wù)器硬盤測(cè)試領(lǐng)域,具體涉及一種在linux系統(tǒng)下批量測(cè)試hddled的方法。其目的是提供一種簡便容易的硬盤led批量測(cè)試方法,用程序自動(dòng)完成測(cè)試且測(cè)試步驟和結(jié)果存于log文件,減少了不必要的人機(jī)交互過程,節(jié)省人力、時(shí)間、成本等資源,同時(shí)測(cè)試的覆蓋率極高,任何的問題產(chǎn)品都會(huì)被攔截下來并能準(zhǔn)確定位問題及時(shí)解決問題。
背景技術(shù):
隨著it領(lǐng)域技術(shù)的不斷發(fā)展,存儲(chǔ)器作為大數(shù)據(jù)時(shí)代的主流產(chǎn)物,市場需求量越來越大。公司出貨量越來越大,對(duì)于研發(fā)及生產(chǎn)的測(cè)試要求越來越高,企業(yè)注重生產(chǎn)速度的同時(shí)也要求品質(zhì)有保障。產(chǎn)品符合生產(chǎn)標(biāo)準(zhǔn)且能夠準(zhǔn)時(shí)出貨,不但關(guān)系到公司的信譽(yù)代表一個(gè)公司的生產(chǎn)能力,同時(shí)也影響著客戶的滿意度。做到這點(diǎn),產(chǎn)品的高效測(cè)試是至關(guān)重要的一個(gè)環(huán)節(jié),無論在研發(fā)階段還是生產(chǎn)線生產(chǎn)階段的測(cè)試,如何提高測(cè)試效率成了重頭戲,同時(shí),對(duì)成本的管控也一樣重要,所以每個(gè)測(cè)試項(xiàng)目在盡可能提高測(cè)試效率同時(shí)還需要最大限度的節(jié)約成本。自動(dòng)化的程度越高,越容易做到這點(diǎn)。
針對(duì)上述問題,本申請(qǐng)發(fā)明一種在linux系統(tǒng)下批量測(cè)試hddled的方法,該方法用于hddled的功能測(cè)試,使用方便,可以同時(shí)大批量的進(jìn)行,并且每個(gè)測(cè)試步驟都有測(cè)試log產(chǎn)生。減少了不必要的人機(jī)交互過程。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)發(fā)明一種在linux系統(tǒng)下批量測(cè)試hddled的方法,該方法具體包括如下步驟:搭建測(cè)試環(huán)境,將多個(gè)待測(cè)hdd與服務(wù)器連接;在服務(wù)器linux系統(tǒng)下運(yùn)行hddled自動(dòng)測(cè)試程序;將測(cè)試步驟和結(jié)果記錄在log文件中。
如上所述的在linux系統(tǒng)下批量測(cè)試hddled的方法,其特征還在于,將多個(gè)待測(cè)hdd與服務(wù)器連接具體是通過串口管理器串口連接。
如上所述的在linux系統(tǒng)下批量測(cè)試hddled的方法,其特征還在于,hddled自動(dòng)測(cè)試程序具體包括以下內(nèi)容:掃描hdd的i/o序列號(hào),判決其類型并加載相應(yīng)的驅(qū)動(dòng)程序;對(duì)hdd的硬件進(jìn)行檢測(cè);登錄hdd的i/o串口;對(duì)hdd的數(shù)量進(jìn)行檢測(cè);對(duì)hdd的firmware進(jìn)行測(cè)試;對(duì)hddled進(jìn)行測(cè)試。
如上所述的在linux系統(tǒng)下批量測(cè)試hddled的方法,其特征還在于,在hddled自動(dòng)測(cè)試程序中,如果程序中斷,記錄log自動(dòng)結(jié)束。
如上所述的在linux系統(tǒng)下批量測(cè)試hddled的方法,其特征還在于,在hddled自動(dòng)測(cè)試程序中,如果出現(xiàn)異常,則打印錯(cuò)誤信息,排除問題后重新測(cè)試。
附圖說明
圖1、本申請(qǐng)所述方法的工作示意圖
圖2、本申請(qǐng)所述方法的工作流程圖
具體實(shí)施方式
本申請(qǐng)發(fā)明一種在linux系統(tǒng)下批量測(cè)試hddled的方法,該方法用于hddled的功能測(cè)試,整個(gè)過程都是由程序設(shè)計(jì)自動(dòng)執(zhí)行的,并將產(chǎn)生測(cè)試log打印在終端的同時(shí)也保存在服務(wù)器上,讓測(cè)試有絕對(duì)的保障。
下面是按照本申請(qǐng)所述的方法的具體實(shí)施例。
1、搭建測(cè)試環(huán)境
如圖1所示,準(zhǔn)備好1pcs(件)服務(wù)器并安裝linux操作系統(tǒng),再將待測(cè)hdd裝進(jìn)存儲(chǔ)器中,同時(shí)搭配jbodio(justabunchofdisks,磁盤簇);然后將服務(wù)器端接上1根串口轉(zhuǎn)usb線,另一端連接到ubscom(串口管理器)上,再依次將存儲(chǔ)器io的串口接上串口線,另一端同樣連接到ubscom上;最后服務(wù)器端裝好測(cè)試腳本。
掛載u盤mount/dev/sdb4/mnt;
將測(cè)試腳本復(fù)制到指定目錄cp/mnt/hddled_test/usr/local/bin/neptune/。
注意,硬盤hdd型號(hào)必須統(tǒng)一,本發(fā)明最多可以同時(shí)測(cè)試72pcs。
2、在linux操作系統(tǒng)下執(zhí)行自動(dòng)化程式
加執(zhí)行權(quán)限chmod+xhddled_test;
執(zhí)行命令./hddled_test;
3、掃描存儲(chǔ)器中i/o的序列號(hào),log會(huì)自動(dòng)寫在以時(shí)間命名的文件夾中,路徑可以自己通過配置文件指定;
程序中斷l(xiāng)og自動(dòng)結(jié)束;
print″pleasescanuiomsn[]:″;
chomp($uiom_sn=<stdin>);
my$output_filename=″20160106hdd_led_res.log″;
4、掃描存儲(chǔ)器中i/o的pn(pn端口引腳),程序根據(jù)pn自動(dòng)判斷i/o類型并自動(dòng)加載驅(qū)動(dòng)程序,加載成功程序繼續(xù),加載失敗打印error,處理異常后重新執(zhí)行程序;
subload_driver;
if($fc){`modprobemptfc`}--fc類型的i/o
if($sas){`modprobemptsas`}---sas類型的i/o
5、硬件檢測(cè)
程序通過sas(serialattachedscsi串行連接scsi)接口線抓取信息,自動(dòng)判斷服務(wù)器與存儲(chǔ)器的連接狀態(tài)及各個(gè)模塊的在位狀況(包括hdd,sas線連接狀態(tài),io的狀態(tài)),如果狀態(tài)都是ok的程序會(huì)繼續(xù)運(yùn)行,如果程序判斷出存儲(chǔ)器端及服務(wù)器端有異常則會(huì)在終端報(bào)錯(cuò)“testfail”,同時(shí)打印error信息,排除問題后繼續(xù)重新測(cè)試;
subget_device
my($encl)=@-;
my@sg_map=`sg_map-x-i`;
6、程序自動(dòng)登錄io串口
登串口:
7、通過sas線自動(dòng)檢測(cè)hdd數(shù)量,如果hdd數(shù)量有異常,程序會(huì)終止測(cè)試并在終端打印異常信息;排除問題后繼續(xù)重新測(cè)試。
$hddqty=getconfig($uut_name.″.jbod.hdd.qty″);
8、程序通過串口線自動(dòng)檢測(cè)每塊hdd對(duì)應(yīng)哪個(gè)hdd插槽;
9、自動(dòng)檢測(cè)hddfirmware(固件,就是寫入erom可擦寫只讀存儲(chǔ)器或eeprom電可擦可編程只讀存儲(chǔ)器中的程序),如果hddfirmware異常,測(cè)試停止更換一塊新的hdd后重新測(cè)試;
10、開始hddled測(cè)試,測(cè)試pass則測(cè)試結(jié)束,測(cè)試fail,排除異常后重新測(cè)試;
下面是部分實(shí)例的具體代碼
hddled測(cè)試:
該軟件程序?yàn)閘inux下perl語言所編寫,可應(yīng)用于大多數(shù)hdd產(chǎn)品。在提高測(cè)試準(zhǔn)速度和準(zhǔn)確性的同時(shí)又有極高的覆蓋率又有完成的測(cè)試log保存,很大程度上提高生產(chǎn)速度,并且不會(huì)有人為配置時(shí)可能出現(xiàn)的錯(cuò)誤、漏失等錯(cuò)誤。該方法操作簡單,實(shí)用性較強(qiáng),對(duì)于我們的一些問題分析及定位、生產(chǎn)提速等有很好的作用。