本發(fā)明涉及計算機(jī)服務(wù)器技術(shù)領(lǐng)域,具體的說是一種適用于raid卡的硬盤拔插穩(wěn)定性測試方法。
背景技術(shù):
隨著IT領(lǐng)域技術(shù)的不斷發(fā)展,傳統(tǒng)信息化服務(wù)以及日趨強(qiáng)大的云計算服務(wù),對服務(wù)器的存儲需求越來越高?,F(xiàn)行的服務(wù)器都支持硬盤熱插拔技術(shù),對不停機(jī)進(jìn)行硬盤更換提供了實現(xiàn)途徑。但是硬盤在熱插拔過程中,會引起磁盤控制器在操作系統(tǒng)下驅(qū)動的一系列動作,在這個過程中還可能會引起操作系統(tǒng)的異常,以及硬盤的亂序,進(jìn)而導(dǎo)致系統(tǒng)宕機(jī),業(yè)務(wù)下線。因此,在服務(wù)器測試中進(jìn)行硬盤拔插穩(wěn)定性測試成為重要環(huán)節(jié)。
技術(shù)實現(xiàn)要素:
本發(fā)明針對目前技術(shù)發(fā)展的需求和不足之處,提供一種適用于raid卡的硬盤拔插穩(wěn)定性測試方法。
本發(fā)明所述一種適用于raid卡的硬盤拔插穩(wěn)定性測試方法,解決上述技術(shù)問題采用的技術(shù)方案如下:所述一種適用于raid卡的硬盤拔插穩(wěn)定性測試方法,在RAID卡配置下進(jìn)行拔插硬盤過程,并監(jiān)測是否引起其他硬盤異常,開始時首先檢測當(dāng)前狀態(tài)下硬盤的SN,并記錄硬盤的SN,然后進(jìn)行硬盤拔插操作,再次記錄硬盤的SN,并與之前對比,來檢測是否有硬盤異常掉盤的問題,實現(xiàn)在RAID卡配置下進(jìn)行硬盤拔插測試。
優(yōu)選的,首先檢測當(dāng)前狀態(tài)下硬盤的SN,生成一個baseline.txt用以記錄硬盤的SN;然后進(jìn)入一個死循環(huán),不斷監(jiān)測是否有硬盤拔出或插入。
優(yōu)選的,若有硬盤拔出再插入,收集插入硬盤之后的所有硬盤的SN,并記為baseline_temp.txt;將收集的baseline_temp與baseline進(jìn)行比對,若內(nèi)容完全一樣,則硬盤拔插過程中沒有產(chǎn)生硬盤亂序,輸出OK提示;若內(nèi)容不一樣,則硬盤拔插過程中產(chǎn)生了硬盤亂序,輸出error提示。
本發(fā)明所述一種適用于raid卡的硬盤拔插穩(wěn)定性測試方法與現(xiàn)有技術(shù)相比具有的有益效果是:本發(fā)明可以在RAID卡配置下進(jìn)行硬盤拔插穩(wěn)定新測試,能夠模擬客戶現(xiàn)場出現(xiàn)硬盤壞掉之后進(jìn)行更換的場景,完善實驗室硬盤插拔測試方法,填充了沒有在raid卡配置下進(jìn)行硬盤拔插測試的空白,實用性強(qiáng),提升了產(chǎn)品質(zhì)量。
附圖說明
附圖1為所述適用于raid卡的硬盤拔插穩(wěn)定性測試方法的流程圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,對本發(fā)明所述一種適用于raid卡的硬盤拔插穩(wěn)定性測試方法進(jìn)一步詳細(xì)說明。
實施例:
本實施例一種適用于raid卡的硬盤拔插穩(wěn)定性測試方法,能夠在RAID卡配置下進(jìn)行拔插硬盤過程,并監(jiān)測是否引起其他硬盤異常,開始時首先檢測當(dāng)前狀態(tài)下硬盤的SN,并記錄硬盤的SN,然后進(jìn)行硬盤拔插操作,再次記錄硬盤的SN,并與之前對比,來檢測是否有硬盤異常掉盤的問題,實現(xiàn)在RAID卡配置下進(jìn)行硬盤拔插測試。
附圖1為本實施例所述硬盤拔插穩(wěn)定性測試方法的流程圖,如附圖1所示,該硬盤拔插穩(wěn)定性測試方法的具體步驟如下:
1、開始時,首先檢測當(dāng)前狀態(tài)下硬盤的SN,生成一個baseline.txt用以記錄硬盤的SN;
2、然后進(jìn)入一個死循環(huán),不斷監(jiān)測是否有硬盤拔出或插入;
3、若有硬盤拔出再插入,收集插入硬盤之后的所有硬盤的SN,并記為baseline_temp.txt;
4、將收集的baseline_temp與步驟1中的baseline進(jìn)行比對,若內(nèi)容完全一樣,則說明在硬盤拔插過程中沒有產(chǎn)生硬盤亂序,輸出OK提示;若內(nèi)容不一樣,則說明在硬盤拔插過程中產(chǎn)生了硬盤亂序,輸出error提示。
本實施例所述硬盤拔插穩(wěn)定性測試方法,其具體實施過程通過一硬盤拔插測試程序?qū)崿F(xiàn),主要包括如下內(nèi)容:
#!/bin/bash
rpm-ivh megacli.rpm
進(jìn)行安裝工具;
function generate_baseline()
{
/opt/megacli-pdlist-aall|grep-i“serial number”>>/root/baseline.txt
}
函數(shù)generate_baseline用以生成baseline;
針對有硬盤拔出再插入后的操作的函數(shù)plug_in;
function plug_out_in()
{
#將插入之后的硬盤進(jìn)行配置使重新上線
E0=/opt/megacli-encinfo-aall
/opt/meagcli-cfgforeign-scan-all
/opt/megacli-cfgforeign-clear-all
/opt/megacli-PDMakeGood-PhysDrv[$E0:S0]-aALL
/opt/megacli-PDOnline-PhysDrv[$E0:S0]-aALL
#再次記錄所有硬盤的SN
/opt/megacli-pdlist-aall|grep-i“serial number”>>/root/baseline_temp.txt
#判斷新生成的文件是否跟baseline一致。一致就輸出OK,不一致就輸出ERROR。
diff baseline.xls baseline_temp.txt
if[!$?-eq 0];then
echo"error">>status.txt
#紅底白字、閃爍顯示ERROR字符。
echo-e"\033[41;37;5m error\033[0m"
else
echo"OK">>status.txt
#綠底白字、閃爍顯示OK字符。
echo-e"\033[42;37;5m OK\033[0m"
fi
}。
所述硬盤拔插測試程序如下:
#main
j=0;
#先調(diào)用generate_baseline函數(shù)生成baseline
generate_baseline;
echo"Baseline is generated successfully!"
#進(jìn)入死循環(huán)
while:;
do
sleep 300;
plug_out_in
done。
上述具體實施方式僅是本發(fā)明的具體個案,本發(fā)明的專利保護(hù)范圍包括但不限于上述具體實施方式,任何符合本發(fā)明的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。