一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法
【專利摘要】本發(fā)明公開了一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,其具體實現(xiàn)過程為:輸入相關變量;模擬應用場景;切換電源模塊狀態(tài):在上述的環(huán)境下,動態(tài)切換電源的狀態(tài)active、standby,以模擬電源的上線、下線,即模擬電源線的插上、拔下的動作;檢測各電源模塊狀態(tài):如果失敗,則退出并報告測試失??;成功則記錄測試結果,繼續(xù)操作,直至完成測試。該一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法與現(xiàn)有技術相比,設計的腳本使用方便,操作簡單,模擬各種場景,實現(xiàn)自動檢測,整個測試中無需進行人工交互,實現(xiàn)真正的無人值守,節(jié)省了人力、時間、成本等資源,也減少了不必要的人機交互過程。
【專利說明】一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法
【技術領域】
[0001]本發(fā)明涉及計算機服務器【技術領域】,具體地說是一種實用性強、自動檢驗服務器電源冗余功能穩(wěn)定性的方法。
【背景技術】
[0002]隨著IT領域技術的不斷發(fā)展,傳統(tǒng)信息化服務以及日趨強大的云計算服務對服務器的穩(wěn)定性要求越來越高。作為服務器產(chǎn)品提供商,一款服務器無論是在研發(fā)階段還是生產(chǎn)階段都需要對產(chǎn)品進行系統(tǒng)壓力測試,在壓力過程中,如果服務器的電源出現(xiàn)問題,產(chǎn)生的影響是致命的,所以服務器的電源均提供冗余功能,我們在開發(fā)中需要嚴格保證該功能穩(wěn)定性。而服務器研發(fā)種類越來越多,生產(chǎn)出貨量也不斷增加,穩(wěn)定性測試的自動化、高效化也變得勢在必行了。同時進行多款產(chǎn)品、批量產(chǎn)品的壓力測試,可以是增加人員,也可以是編寫自動化測試工具。顯然自動化測試工具在人力、時間、成本等資源方面要節(jié)省的多,也減少了不必要的人工交互過程。
[0003]Shell俗稱殼(用來區(qū)別于核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command和后來的cmd.exe。它接收用戶命令,然后調(diào)用相應的應用程序。同時它又是一種程序設計語言。作為命令語言,它交互式解釋和執(zhí)行用戶輸入的命令或者自動地解釋和執(zhí)行預先設定好的一連串的命令;作為程序設計語言,它定義了各種變量和參數(shù),并提供了許多在高級語言中才具有的控制結構,包括循環(huán)和分支。
[0004]Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執(zhí)行的一個程序文件,主要是方便管理員進行設置或者管理用的。但是它比Windows下的批處理更強大,比用其他編程程序編輯的程序效率更高,
IPMI (Intelligent Platform Management Interface)即智能平臺管理接口是使硬件管理具備“智能化”的新一代通用接口標準。用戶可以利用IPMI監(jiān)視服務器的物理特征,如溫度、電壓、電扇工作狀態(tài)、電源供應以及機箱入侵等。Ipmi最大的優(yōu)勢在于它是獨立于CPU B1S和OS的,所以用戶無論在開機還是關機的狀態(tài)下,只要接通電源就可以實現(xiàn)對服務器的監(jiān)控。Ipmi是一種規(guī)范的標準,其中最重要的物理部件就是BMC(BaseboardManagement Controller), 一種嵌入式管理微控制器,它相當于整個平臺管理的“大腦”,通過它ipmi可以監(jiān)控各個傳感器的數(shù)據(jù)并記錄各種事件的日志。
[0005]基于上述技術,如果能夠通過shell腳本,來實現(xiàn)自動檢驗服務器電源冗余功能穩(wěn)定性,將實現(xiàn)自動化測試,并大大提高測試的效率和準確性,因而,現(xiàn)提供一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的技術任務是針對以上不足之處,提供一種實用性強、自動檢驗服務器電源冗余功能穩(wěn)定性的方法。
[0007]—種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,其具體實現(xiàn)過程為: 一、輸入相關變量:
輸入模塊數(shù)量,以測試所有模塊;
輸入各個模塊的地址,用于區(qū)分模塊,進行檢測、下發(fā)命令的操作;
輸入測試次數(shù),通過該參數(shù)驗證電源功能的穩(wěn)定性;
二、模擬應用場景:該應用場景包括待機狀態(tài)、CPU壓力狀態(tài)、內(nèi)存壓力狀態(tài)、磁盤壓力狀態(tài)、整機系統(tǒng)壓力狀態(tài),并檢驗每種場景下服務器系統(tǒng)的狀態(tài)變化;
三、切換電源模塊狀態(tài):在步驟二所述的環(huán)境下,動態(tài)切換電源的狀態(tài)ac t i V e、standby,以模擬電源的上線、下線,即模擬電源線的插上、拔下的動作;
四、檢測各電源模塊狀態(tài):如果失敗,則退出并報告測試失?。怀晒t記錄測試結果,繼續(xù)操作,直至完成測試。
[0008]所述實現(xiàn)步驟在安裝有Iinux內(nèi)核的操作系統(tǒng)的服務器中完成,操作時用戶以root身份登錄進行。
[0009]所述模擬應用場景的具體過程為:
待機狀態(tài):在無任何操作的情況下,每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有以外關機、重啟、死機的現(xiàn)象;
CPU壓力狀態(tài):通過PTU軟件模擬CPU的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象;
內(nèi)存壓力狀態(tài):通過memtester軟件模擬內(nèi)存的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象;
磁盤壓力狀態(tài):通過f1軟件模擬磁盤的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象;
整機系統(tǒng)壓力狀態(tài):通過linpack+dd軟件模擬整機系統(tǒng)的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象。
[0010]所述測試完成后的結果重定向到測試目錄下的result文件夾,文件夾下設置有result, txt文件,該文件中記錄所有測試的測試結果。
[0011]本發(fā)明的一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,具有以下優(yōu)點:
該發(fā)明的一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法可在多款服務器產(chǎn)品,及多種操作系統(tǒng):redhat、centos上運行應用,此方法可很好的完成了測試任務;該方法操作簡便,具有較好的易用性;程序中各模塊之間結構清晰,便于維護;無需冗雜的結果處理,大大節(jié)省了測試時間,提高了測試效率;本發(fā)明借用SHELL腳本編寫實現(xiàn)內(nèi)存穩(wěn)定性評估,大大簡化了壓力測試的操作流程,實用性強,適用范圍廣泛,易于推廣。
【專利附圖】
【附圖說明】
[0012]附圖1為本發(fā)明實現(xiàn)流程圖。
【具體實施方式】
[0013]下面結合附圖和具體實施例對本發(fā)明作進一步說明。
[0014]傳統(tǒng)的方式我們都是手動建立各種環(huán)境,然后手動的去斷開電源,以檢驗電源的冗余功能是否存在問題。而通過腳本自動執(zhí)行,可以減少手動的操作,讓程序自動的來完成這些動作?;诖耍F(xiàn)提供一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,該方法通過腳本來實現(xiàn)自動化的壓力環(huán)境搭建,通過腳本實現(xiàn)電源狀態(tài)的切換,并通過命令獲取電源是否執(zhí)行了相關的操作,返回的結果重定向到文件中,以便于比對操作是否成功。如附圖1所示,其具體實現(xiàn)過程為:
I)輸入相關變量。
[0015]各種服務器的電源設計存在差異,冗余的數(shù)量也存在差異,所以在開始測試前,需要輸入被測試機器的電源模塊數(shù)量、以及各模塊的地址,然后輸入想要測試的次數(shù)。
[0016]輸入模塊的數(shù)量,是為了將所有的模塊都測試到。
[0017]輸入各模塊的地址,是為了區(qū)分模塊,以便進行檢測、下發(fā)命令等操作。
[0018]輸入次數(shù),可以通過這個參數(shù),來長時間的驗證電源該功能的穩(wěn)定性。
[0019]echo “Please enter the Num of PSU “
read PSU_NUM
for((i=l;i<+$PSU_NUM;i++))
do
echo “Please enter the address of PSU$I “
read PSU$i
done
echo “Please enter the circle; eg: 10,,
read CIRCLE。
[0020]2)模擬應用場景。
[0021]用腳本自動模擬相關的應用環(huán)境,在不同的應用下,以檢驗電源冗余功能的穩(wěn)定性;應用場景包括:待機狀態(tài)、CPU壓力狀態(tài)、內(nèi)存壓力狀態(tài)、磁盤壓力狀態(tài)、整機系統(tǒng)壓力狀態(tài)等。借助不同的工具,將這些工具集成到腳本中,自動建立不同的應用場景。
[0022]待機狀態(tài):沒有任何操作的情況下,每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有以外關機、重啟、死機等現(xiàn)象。
[0023]CPU壓力狀態(tài):通過PTU軟件模擬CPU的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有以外關機、重啟、死機等現(xiàn)象。
[0024]內(nèi)存壓力狀態(tài):通過memtester軟件模擬內(nèi)存的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有以外關機、重啟、死機等現(xiàn)象。
[0025]磁盤壓力狀態(tài):通過f1軟件模擬磁盤的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有以外關機、重啟、死機等現(xiàn)象。
[0026]系統(tǒng)壓力狀態(tài):通過linpack+dd軟件模擬整機系統(tǒng)的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有以外關機、重啟、死機等現(xiàn)象。
[0027]funct1n IDLE ()
{
}
funct1n CPU O
{
}
funct1n MEMORY ()
{
}
funct1n SYSTEM()
{
}
for i in {IDLE, CPU, MEMORY, DISK, SYSTEM, FINISH}
do
if [ $i == IDLE ];then
IDLE
PSU—test
elif [ $i == CPU ];then
CPU
PSU—test
elif [ $i == MEMORY ];then
MEMORY
PSU—test
elif [ $i == DISK ];then
DISK
PSU—test
elif [ $i == SYSTEM ];then
SYSTEM
PSU—test
elif [ $i == FINISH ];then
exit
fi0
[0028]3)切換電源狀態(tài)。
[0029]在上述的環(huán)境下,動態(tài)的切換電源的狀態(tài)active、standby,以模擬電源的上線、下線,即模擬電源線的插上、拔下的動作。檢驗電源的健壯性。
[0030]funct1n PSU_test ()
{
sleep 1800
for ((i=l;i<=PSU_NUM;i++))
do
ADDRESS='echo PSU$i'
ipmitool _b 0x06 _t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x84 $ADDRESS 0x000x00 0x02 0x00 Oxfc OxOePSU—CHECK—standbysleep 1800PSU—CHECK—standby
ipmitool _b 0x06 _t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x84 $ADDRESS 0x000x00 0x02 0x00 Oxfc 0x55PSU—CHECK—activesleep 1800PSU—CHECK—active
}o
[0031]4)檢測電源狀態(tài)
檢測電源狀態(tài),如果失敗,則退出并報告測試失敗。成功則記錄測試結果,繼續(xù)操作,直至完成測試。
[0032]funct1n PSU—CHECK—standby ()
{
STANDBY=' ipmitool _b 0x06 _t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x82$ADDRESS 0x00 0x00 0x01 0x01 Oxfc'if [ $STANDBY == Oe ];then
echo “test pass; the test result $ STANDBY>> $PWD/result/result.txt
date >> $PWD/result/result.txt
else
echo “test fail; the test result $ STANDBY>> $PWD/result/result.txt
date >> $PWD/result/result.txt
}
funct1n PSU_CHECK_active()
{
ACTIVE=' ipmitool _b 0x06 _t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x82$ADDRESS 0x00 0x00 0x01 0x01 Oxfc'if [ $ ACTIVE == 55 ];then
echo “test pass;the test result $ ACTIVE” >> $PWD/result/result.txt
date >> $PWD/result/result.txt
else
echo “test fail;the test result $ ACTIVE” >> $PWD/result/result.txt
date >> $PWD/result/result.txt
}o
[0033]5)收集測試結果。
[0034]測試完成后將結果重定向到測試目錄下的insult文件夾,文件夾下面會有result, txt文件,此文件中記錄所有測試的測試結果。
[0035]在實際測試時,具體硬件操作過程如下所述:
一、準備一臺服務器,安裝基于Iinux內(nèi)核的操作系統(tǒng),需要完全安裝;
二、安裝完成后,以root身份登錄到操作系統(tǒng)中;
三、將測試程序與輔助測試程序拷貝到系統(tǒng)下任意一個文件夾下,運行命令: chmod +X PSU.sh
? /PSU.sh。
[0036]當提示echo “Please enter the Num of PSU “時,根據(jù)提示一步步鍵入需要的值,輸入完成后,程序會自動運行;
四、查看運行結果:cat$PWD/result/result.txt。
[0037]本方法在研發(fā)階段、測試階段及生產(chǎn)階段均可應用,用來模擬不同的內(nèi)存壓力,實現(xiàn)了穩(wěn)定性測試的自動化、便捷化。另外,本方法對于不熟悉Iinux而又需要在Iinux平臺下測試產(chǎn)品穩(wěn)定性的技術人員有著實際而深刻的意義。
[0038]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法的權利要求書的且任何所屬【技術領域】的普通技術人員對其所做的適當變化或替換,皆應落入本發(fā)明的專利保護范圍。
【權利要求】
1.一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,其特征在于,其具體實現(xiàn)過程為: 一、輸入相關變量: 輸入模塊數(shù)量,以測試所有模塊; 輸入各個模塊的地址,用于區(qū)分模塊,進行檢測、下發(fā)命令的操作; 輸入測試次數(shù),通過該參數(shù)驗證電源功能的穩(wěn)定性; 二、模擬應用場景:該應用場景包括待機狀態(tài)、CPU壓力狀態(tài)、內(nèi)存壓力狀態(tài)、磁盤壓力狀態(tài)、整機系統(tǒng)壓力狀態(tài),并檢驗每種場景下服務器系統(tǒng)的狀態(tài)變化; 三、切換電源模塊狀態(tài):在步驟二所述的環(huán)境下,動態(tài)切換電源的狀態(tài)ac t i V e、standby,以模擬電源的上線、下線,即模擬電源線的插上、拔下的動作; 四、檢測各電源模塊狀態(tài):如果失敗,則退出并報告測試失??;成功則記錄測試結果,繼續(xù)操作,直至完成測試。
2.根據(jù)權利要求1所述的一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,其特征在于,所述實現(xiàn)步驟在安裝有Iinux內(nèi)核的操作系統(tǒng)的服務器中完成,操作時用戶以root身份登錄進行。
3.根據(jù)權利要求2所述的一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,其特征在于,所述模擬應用場景的具體過程為: 待機狀態(tài):在無任何操作的情況下,每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有以外關機、重啟、死機的現(xiàn)象; CPU壓力狀態(tài):通過PTU軟件模擬CPU的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象; 內(nèi)存壓力狀態(tài):通過memtester軟件模擬內(nèi)存的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象; 磁盤壓力狀態(tài):通過f1軟件模擬磁盤的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象; 整機系統(tǒng)壓力狀態(tài):通過linpack+dd軟件模擬整機系統(tǒng)的高負載狀態(tài),每隔一段時間調(diào)整一下電源狀態(tài),檢驗服務器系統(tǒng)是否有意外關機、重啟、死機的現(xiàn)象。
4.根據(jù)權利要求2所述的一種自動檢驗服務器電源冗余功能穩(wěn)定性的方法,其特征在于,所述測試完成后的結果重定向到測試目錄下的result文件夾,文件夾下設置有result, txt文件,該文件中記錄所有測試的測試結果。
【文檔編號】G06F11/34GK104391780SQ201410570387
【公開日】2015年3月4日 申請日期:2014年10月23日 優(yōu)先權日:2014年10月23日
【發(fā)明者】劉云飛 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司