亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種測試硬盤熱插拔穩(wěn)定性的方法及裝置的制造方法

文檔序號:10488848閱讀:321來源:國知局
一種測試硬盤熱插拔穩(wěn)定性的方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種測試硬盤熱插拔穩(wěn)定性的方法及裝置,該方法包括:分別獲取各個所述硬盤的盤符、序列號及容量,并形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件;實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入;如果是,分別獲取所述各個硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件;判斷所述當前狀態(tài)文件是否與所述標準狀態(tài)文件相同;如果是,發(fā)送所述服務(wù)器未發(fā)生硬盤亂序的通知消息,否則發(fā)送所述服務(wù)器發(fā)生硬盤亂序的通知消息。該方案能夠提高對硬盤熱插拔穩(wěn)定性進行測試的效率。
【專利說明】
一種測試硬盤熱插拔穩(wěn)定性的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種測試硬盤熱插拔穩(wěn)定性的方法及裝置。
【背景技術(shù)】
[0002]隨著計算機技術(shù)的不斷發(fā)展與進步,傳統(tǒng)信息化服務(wù)以及日益強大的云計算服務(wù)對服務(wù)器的存儲需求也越來越高,因而服務(wù)器上一般都設(shè)置有多個硬盤。為了保證服務(wù)器上業(yè)務(wù)不下線,服務(wù)器都支持硬盤熱插拔技術(shù),從而能夠在不停機的情況下對硬盤進行更換。
[0003]對于支持硬盤熱插拔技術(shù)的服務(wù)器,在對硬盤進行熱插拔操作時,可能造成硬盤亂序,硬盤亂序造成服務(wù)器操作系統(tǒng)發(fā)生異常,進而導致服務(wù)器發(fā)生宕機,造成服務(wù)器上運行的業(yè)務(wù)下線。為了保證服務(wù)器在更換硬盤時不發(fā)生硬盤亂序,需要對服務(wù)器的硬盤熱插拔穩(wěn)定性進行測試。
[0004]目前,在測試硬盤熱插拔穩(wěn)定性時,反復(fù)對硬盤進行熱插拔操作,記錄熱插拔操作的次數(shù),并檢測是否發(fā)生硬盤亂序。
[0005]針對于現(xiàn)有技術(shù)測試硬盤熱插拔穩(wěn)定性的方法,每一次熱插拔操作后通過手動查看各個硬盤序列號的方式檢測各個硬盤是否發(fā)生硬盤連續(xù),這樣每一個檢測循環(huán)都需要耗費較長的時間,而對硬盤熱插拔穩(wěn)定性進行測試需要進行多個檢測循環(huán),因而對硬盤熱插拔穩(wěn)定性進行測試的效率較低。

【發(fā)明內(nèi)容】

[0006]本發(fā)明實施例提供了一種測試硬盤熱插拔穩(wěn)定性的方法及裝置,能夠提高對硬盤熱插拔穩(wěn)定性進行測試的效率。
[0007]本發(fā)明實施例提供了一種測試硬盤熱插拔穩(wěn)定性的方法,應(yīng)用于具有至少兩個硬盤的服務(wù)器,包括:
[0008]分別獲取各個所述硬盤的盤符、序列號及容量;
[0009]根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件;
[0010]實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入;
[0011]如果是,分別獲取所述各個硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件;
[0012]判斷所述當前狀態(tài)文件是否與所述標準狀態(tài)文件相同;
[0013]如果是,發(fā)送所述服務(wù)器未發(fā)生硬盤亂序的通知消息,否則發(fā)送所述服務(wù)器發(fā)生硬盤亂序的通知消息。
[0014]優(yōu)選地,在所述實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入之后進一步包括:
[0015]針對于每一個被插入的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被插入的總次數(shù),并發(fā)送包括該硬盤的盤符以及被插入總次數(shù)的通知消息。
[0016]優(yōu)選地,該方法進一步包括:
[0017]實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被拔出,如果是,針對于每一個被拔出的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被拔出的總次數(shù),并發(fā)送包括該硬盤的盤符以及被拔出總次數(shù)的通知消息。
[0018]優(yōu)選地,所述實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入包括:
[0019]實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第一關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被插入,否則判斷沒有硬盤通過熱插拔的方式被插入,其中所述第一關(guān)鍵字包括于硬盤通過熱插拔方式被插入后系統(tǒng)產(chǎn)生的提示信息之中。
[0020]優(yōu)選地,所述實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被拔出包括:
[0021]實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第二關(guān)鍵字,如果是,判斷存儲至少一個硬盤通過熱插拔的方式被拔出,否則判斷沒有硬盤通過熱插拔的方式被拔出,求中所述第二關(guān)鍵字包括于硬盤通過熱插拔方式被拔出后系統(tǒng)產(chǎn)生的提示信息之中。
[0022]優(yōu)選地,該方法進一步包括:
[0023]將所述標準狀態(tài)文件以及各個所述當前狀態(tài)文件存儲到預(yù)設(shè)的測試結(jié)果文件中。
[0024]本發(fā)明實施例還提供了一種測試硬盤熱插拔穩(wěn)定性的裝置,應(yīng)用于具有至少兩個硬盤的服務(wù)器,包括:第一獲取單元、檢測單元、第二獲取單元、判斷單元及執(zhí)行單元;
[0025]所述第一獲取單元,用于分別獲取各個所述硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件;
[0026]所述檢測單元,用于所述檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入;
[0027]所述第二獲取單元,用于根據(jù)所述檢測單元的檢測結(jié)果,如果是,分別獲取所述各個硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件;
[0028]所述判斷單元,用于判斷所述第二獲取單元形成的當前狀態(tài)文件與所述第一獲取單元形成的標準狀態(tài)文件是否相同;
[0029]所述執(zhí)行單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果是,發(fā)送所述服務(wù)器未發(fā)生硬盤亂序的通知消息,否則發(fā)送所述服務(wù)器發(fā)生硬盤亂序的通知消息。
[0030]優(yōu)選地,所述檢測單元,進一步用于針對于每一個被插入的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被插入的總次數(shù),并發(fā)送包括該硬盤的盤符以及被插入總次數(shù)的通知消息。
[0031]優(yōu)選地,所述檢測單元,進一步用于實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被拔出,如果是,針對于每一個被拔出的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被拔出的總次數(shù),并發(fā)送包括該硬盤的盤符以及被拔出總次數(shù)的通知消息。
[0032]優(yōu)選地,所述檢測單元,用于實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第一關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被插入,否則判斷沒有硬盤通過熱插拔的方式被插入,其中所述第一關(guān)鍵字包括于硬盤通過熱插拔方式被插入后系統(tǒng)產(chǎn)生的提示信息之中。
[0033]優(yōu)選地,所述檢測單元,用于實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第二關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被拔出,否則判斷沒有硬盤通過熱插拔的方式被拔出,其中所述第二關(guān)鍵字包括于硬盤通過熱插拔方式被拔出后系統(tǒng)產(chǎn)生的提示信息之中。
[0034]優(yōu)選地,該裝置進一步包括:存儲單元;
[0035]所述存儲單元,用于將所述第一獲取單元形成的標準狀態(tài)文件以及所述第二獲取單元形成的各個當前狀態(tài)文件存儲到預(yù)設(shè)的測試結(jié)果文件中。
[0036]本發(fā)明實施例提供了一種測試硬盤熱插拔穩(wěn)定性的方法及裝置,獲取各個硬盤的盤符、序列號及容量,形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件,在對硬盤進行熱插拔操作過程中,實時檢測是否有硬盤通過熱插拔的方式被插入,每一次硬盤被插入都獲取一次各個硬盤的盤符、序列號及容量,根據(jù)獲取到的各個硬盤的盤符、序列號及容量形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件,將當前狀態(tài)文件與標準狀態(tài)文件進行比較,如果當前狀態(tài)文件與標準狀態(tài)文件相同,說明該次硬盤插入沒有造成硬盤亂序,發(fā)送服務(wù)器未發(fā)生硬盤亂序的通知消息,如果當前狀態(tài)文件與標準狀態(tài)文件不同,說明該次硬盤插入造成了硬盤亂序,發(fā)送服務(wù)器發(fā)生硬盤亂序的通知消息。這樣,根據(jù)通知消息便可以確定每一次熱插拔是否發(fā)生硬盤亂序,無需在每一次熱插拔硬盤后通過手動對比硬盤序列號的方式判斷是否發(fā)生硬盤亂序,減少每一個測試循環(huán)所需的時間,從而提高了對硬盤熱插拔穩(wěn)定性進行測試的效率。
【附圖說明】
[0037]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1是本發(fā)明一個實施例提供的一種測試硬盤熱插拔穩(wěn)定性的方法流程圖;
[0039]圖2是本發(fā)明另一個實施例提供的一種測試硬盤熱插拔穩(wěn)定性的方法流程圖;
[0040]圖3是本發(fā)明一個實施例提供的一種測試硬盤熱插拔穩(wěn)定性的裝置所在設(shè)備的示意圖;
[0041 ]圖4是本發(fā)明一個實施例提供的一種測試硬盤熱插拔穩(wěn)定性的裝置示意圖;
[0042]圖5是本發(fā)明另一個實施例提供的一種測試硬盤熱插拔穩(wěn)定性的裝置示意圖。
【具體實施方式】
[0043]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0044]如圖1所示,本發(fā)明實施例提供了一種測試硬盤熱插拔穩(wěn)定性的方法,應(yīng)用于包括至少兩個硬盤的服務(wù)器,該方法可以包括以下步驟:
[0045]步驟101:分別獲取各個所述硬盤的盤符、序列號及容量;
[0046]步驟102:根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件;
[0047]步驟103:實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入,如果是,執(zhí)行步驟104,否則繼續(xù)執(zhí)行步驟103;
[0048]步驟104:分別獲取所述各個硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件;
[0049]步驟105:判斷所述當前狀態(tài)文件是否與所述標準狀態(tài)文件相同,如果是執(zhí)行步驟106,否則執(zhí)行步驟107;
[0050]步驟106:發(fā)送所述服務(wù)器未發(fā)生硬盤亂序的通知消息,并結(jié)束當前流程;
[0051]步驟107:發(fā)送所述服務(wù)器發(fā)生硬盤亂序的通知消息。
[0052]本發(fā)明實施例提供了一種測試硬盤熱插拔穩(wěn)定性的方法,獲取各個硬盤的盤符、序列號及容量,形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件,在對硬盤進行熱插拔操作過程中,實時檢測是否有硬盤通過熱插拔的方式被插入,每一次硬盤被插入都獲取一次各個硬盤的盤符、序列號及容量,根據(jù)獲取到的各個硬盤的盤符、序列號及容量形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件,將當前狀態(tài)文件與標準狀態(tài)文件進行比較,如果當前狀態(tài)文件與標準狀態(tài)文件相同,說明該次硬盤插入沒有造成硬盤亂序,發(fā)送服務(wù)器未發(fā)生硬盤亂序的通知消息,如果當前狀態(tài)文件與標準狀態(tài)文件不同,說明該次硬盤插入造成了硬盤亂序,發(fā)送服務(wù)器發(fā)生硬盤亂序的通知消息。這樣,根據(jù)通知消息便可以確定每一次熱插拔是否發(fā)生硬盤亂序,無需在每一次熱插拔硬盤后通過手動對比硬盤序列號的方式判斷是否發(fā)生硬盤亂序,減少每一個測試循環(huán)所需的時間,從而提高了對硬盤熱插拔穩(wěn)定性進行測試的效率。
[0053]在本發(fā)明一個實施例中,在檢測到有硬盤通過熱插拔的方式被插入后,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被插入的總次數(shù),并發(fā)送包括該硬盤的盤符以及被插入總次數(shù)的通知消息。這樣,根據(jù)該通知消息便可以確定硬盤已經(jīng)進行熱插拔測試的次數(shù),從而可以確定對硬盤穩(wěn)定性進行測試的次數(shù)是否已經(jīng)達到要求的次數(shù),避免通過人工記錄測試次數(shù)造成的勞動強度大以及數(shù)據(jù)不準確等情況,降低了測試人員的勞動強度,并提高了測試的準確性。
[0054]在本發(fā)明一個實施例中,還可以實時檢測是否有硬盤通過熱插拔的方式被拔出,當檢測到有硬盤通過熱插拔的方式被拔出后,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被拔出的總次數(shù),并發(fā)送包括該硬盤的盤符以及被查出總次數(shù)的通知消息。這樣,通過該通知消息可以確定被拔出硬盤的盤符以及對該硬盤進行熱插拔測試的循環(huán)次數(shù),根據(jù)該硬盤的盤符可以確保再次將同一個硬盤插回對應(yīng)的硬盤接口,提示用戶應(yīng)該插入的硬盤,防止存在多個硬盤時出現(xiàn)插入的硬盤與拔下的硬盤不是同一個硬盤的情況出現(xiàn),從而實現(xiàn)對同一個硬盤進行連續(xù)熱插拔,提高了對硬盤熱插拔穩(wěn)定性進行測試的準確性。
[0055]在本發(fā)明一個實施例中,在檢測是否有硬盤通過熱插拔的方式被插入時,預(yù)先在硬盤通過熱插拔方式被插入時服務(wù)器系統(tǒng)產(chǎn)生的提示信息中確定第一關(guān)鍵字,實時檢測服務(wù)器系統(tǒng)是否出現(xiàn)第一關(guān)鍵字,如果是,判斷有硬盤通過熱插拔的方式被插入,否則判斷沒有硬盤通過熱插拔的方式被插入。這樣,實現(xiàn)了自動檢測通過熱插拔方式被插入的硬盤,保證后續(xù)判斷是否發(fā)生硬盤亂序能夠正常進行。
[0056]在本發(fā)明一個實施例中,在檢測是否有硬盤通過熱插拔的方式被拔出時,同樣可以預(yù)先在硬盤通過熱插拔方式被拔出時服務(wù)器系統(tǒng)產(chǎn)生的提示信息中確定第二關(guān)鍵字,實時檢測服務(wù)器系統(tǒng)是否出現(xiàn)第二關(guān)鍵字,如果是,判斷有硬盤通過熱插拔的方式被拔出,否則判斷沒有硬盤通過熱插拔的方式被拔出。這樣,實現(xiàn)了自動檢測通過熱插拔方式被拔出的硬盤,從而可以提示用戶需要進行插入的硬盤以及已經(jīng)對該硬盤進行熱插拔操作的循環(huán)次數(shù),提高了該測試硬盤熱插拔穩(wěn)定性的方法的易用性。
[0057]在本發(fā)明一個實施例中,可以將形成的標準狀態(tài)文件以及每一個硬盤插入時產(chǎn)生的當前狀態(tài)文件存儲中預(yù)先創(chuàng)建的測試結(jié)果文件中。這樣,可以將對硬盤熱插拔穩(wěn)定性進行測試過程中硬盤的狀態(tài)信息保存下來,方便后期對測試過程進行查看,并可以根據(jù)測試結(jié)果文件判斷硬盤熱插拔穩(wěn)定性是否合格。
[0058]下面以對一個包括多個硬盤的服務(wù)器進行硬盤熱插拔穩(wěn)定性進行測試為例,對本發(fā)明實施例提供的測試硬盤熱插拔穩(wěn)定性的方法進行說明。如圖2所示,本發(fā)明實施例提供了一種測試硬盤熱插拔穩(wěn)定性的方法,該方法可以包括以下步驟:
[0059]步驟201:分別獲取各個硬盤的盤符、序列號及容量。
[0060]在本發(fā)明一個實施例中,在對一個服務(wù)器上的硬盤熱插拔穩(wěn)定性進行測試之前,首先分別獲取服務(wù)器上各個硬盤的盤符、序列號以及容量,以確定服務(wù)器上各個硬盤在沒有發(fā)生硬盤亂序情況下的狀態(tài)。
[0061]例如,一個需要對硬盤熱插拔穩(wěn)定性進行測試的服務(wù)器上設(shè)置有10個硬盤,分別為硬盤I至硬盤10,分別獲取10個硬盤的盤符、序列號以及容量。
[0062]在本發(fā)明實施例中,可以通過腳本程序?qū)崿F(xiàn)對硬盤熱插拔穩(wěn)定性進行測試,獲取各個硬盤盤符、序列號及容量的腳本程序如下:
[0063]funct1n generate—baseline()
[0064]{
[0065]echo"Disk—name">base.txt
[0066]echo"Serial—Number">>base.txt
[0067]echo"Capacity">>base.txt
[0068]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0069]for Dev—name in' cat/root/disk.txt'
[0070]do[0071 ] echo//sd$Dev_name//>$Dev_name.txt
[0072]smartct1-a/dev/sd$Dev_name|grep-1"serial number"|awk’{print$3}'>>$Dev_name.txt
[0073]smartctl-a/dev/sd$Dev_name|grep-1ncapacity^|awk’{print$3}’ >>$Dev_name.txt
[0074]done
[0075]通過上述腳本程序,每一個硬盤生成一個對應(yīng)的$Dev_name.txt文件,該文件中記錄該對應(yīng)硬盤的盤符、序列號以及容量。
[0076]步驟202:根據(jù)各個硬盤的盤符、序列號及容量,形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件。
[0077]在本發(fā)明一個實施例中,根據(jù)步驟201中獲取到的各個硬盤的盤符、序列號及容量,形成一個標準狀態(tài)文件,在該標準狀態(tài)文件中記錄有每一個盤符對應(yīng)的硬盤序列號以及硬盤容量,該標準狀態(tài)文件中記錄的盤符與硬盤序列號及硬盤人容量的對應(yīng)關(guān)系即為服務(wù)器上各個硬盤處于正常狀態(tài)時盤符與序列號及容量的對應(yīng)關(guān)系,作為后續(xù)判斷是否發(fā)生硬盤亂序的標準。
[0078]例如,根據(jù)10個硬盤的盤符、序列號及容量,形成一個文件名為baseline.xls的標準狀態(tài)文件,在baseline.xls中記錄有10個硬盤的盤符與硬盤序列號及容量的對應(yīng)關(guān)系,其中硬盤I的序列號I及容量I與盤符I相對應(yīng),硬盤2的序列號2及容量2與盤符2相對應(yīng),以此類推,硬盤10的序列號10及容量10與盤符10相對應(yīng)。
[0079]在本發(fā)明實施例中,可以通過腳本程序形成標準狀態(tài)文件baseline.xls,具體的腳本程序如下:
[0080]echo
[0081]for Dev_name in cat/root/disk.txt'
[0082]do
[0083]paste_d""base.txt$Dev_ name.txt>temp_base.txt
[0084]cat temp_base.txt>base.txt
[0085]done
[0086]cat base.txt>>baseline.xls
[0087]}
[0088]通過上述腳本程序,將各個硬盤對應(yīng)的$Dev_name.txt文件進行合并,形成baseline.xls文件。
[0089]步驟203:對服務(wù)器上的一個或多個硬盤進行循環(huán)熱插拔操作。
[0090]在本發(fā)明一個實施例中,通過手動或借助相關(guān)設(shè)備對服務(wù)器上的一個或多個硬盤反復(fù)進行循環(huán)熱插拔操作。
[0091]例如,反復(fù)對服務(wù)器上的硬盤I進行熱插拔操作。
[0092]步驟204:實時檢測服務(wù)器系統(tǒng)是否出現(xiàn)第一關(guān)鍵字或第二關(guān)鍵字,如果是,執(zhí)行步驟205,否則繼續(xù)執(zhí)行步驟204 ;
[0093]在本發(fā)明一個實施例中,循環(huán)檢測服務(wù)器系統(tǒng)中是否出現(xiàn)第一關(guān)鍵字或第二關(guān)鍵字,其中第一關(guān)鍵字包括于硬盤通過熱插拔方式被插入時服務(wù)器系統(tǒng)產(chǎn)生的提示信息之中,第二關(guān)鍵字包括與硬盤通過熱插拔方式被拔出時服務(wù)器系統(tǒng)產(chǎn)生的提示信息之中,只有硬盤通過熱插拔方式被插入時服務(wù)器系統(tǒng)才會出現(xiàn)第一關(guān)鍵字,相應(yīng)地只有硬盤通過熱插拔方式被拔出時服務(wù)器系統(tǒng)才會出現(xiàn)第二關(guān)鍵字。當服務(wù)器系統(tǒng)出現(xiàn)第一關(guān)鍵字時,說明有硬盤通過熱插拔的方式被插入,當服務(wù)器系統(tǒng)出現(xiàn)第二關(guān)鍵字時,說明有硬盤通過熱插拔的方式被拔出,相應(yīng)地均執(zhí)行步驟205,否則說明沒有硬盤通過熱插拔的方式被插入或被拔出,繼續(xù)檢測第一關(guān)鍵字及第二關(guān)鍵字,相應(yīng)地執(zhí)行步驟204。
[0094]例如,預(yù)先設(shè)定第一關(guān)鍵字為Attached SCSI disk,設(shè)定第二關(guān)鍵字為removing,實時檢測服務(wù)器系統(tǒng)中是否出現(xiàn)Attached SCSI disk或removing,當服務(wù)器系統(tǒng)中出現(xiàn)Attached SCSI disk或removing后執(zhí)行步驟205,否則繼續(xù)執(zhí)行步驟204。
[0095]步驟205:判斷服務(wù)器系統(tǒng)中出現(xiàn)的是否為第一關(guān)鍵字,如果是,執(zhí)行步驟206,否則執(zhí)行步驟210。
[0096]在本發(fā)明一個實施例中,當服務(wù)器系統(tǒng)中出現(xiàn)第一關(guān)鍵字或第二關(guān)鍵字后,進一步判斷服務(wù)器系統(tǒng)中出現(xiàn)的是否為第一關(guān)鍵字,如果是,說明有硬盤通過熱插拔的形式被插入,相應(yīng)地執(zhí)行步驟206;如果否,說明有硬盤通過熱插拔的形式被拔出,相應(yīng)地執(zhí)行步驟210。
[0097]例如,當檢測到服務(wù)器系統(tǒng)中出現(xiàn)Attached SCSI disk后執(zhí)行步驟206,當檢測到服務(wù)器系統(tǒng)中出現(xiàn)removing后執(zhí)行步驟210 ο
[0098]步驟206:獲取被插入硬盤的盤符以及該硬盤通過熱插拔方式被插入的總次數(shù),并發(fā)送包括該硬盤的盤符及被插入總次數(shù)的通知消息。
[0099]在本發(fā)明一個實施例中,當檢測到有硬盤通過熱插拔的方式被插入后,獲取被插入硬盤的盤符,并獲取對該硬盤進行循環(huán)熱插拔操作而被插入的總次數(shù),將獲取到該硬盤的盤符及被插入總次數(shù)以通知消息的形式發(fā)送到服務(wù)器的顯示器上,在服務(wù)器的實現(xiàn)上顯示該硬盤的盤符以及被插入的總次數(shù)。
[0100]例如,當檢測到硬盤I通過熱插拔的方式被插入后,獲取硬盤I的盤符A,以及從測試開始到當前時間硬盤I通過熱插拔方式被插入的總次數(shù)X,將盤符A以及總次數(shù)X顯示在服務(wù)器的顯示器上。
[0101]在本發(fā)明實施例中,獲取及顯示被插入硬盤的盤符及被插入總次數(shù)可以通過腳本程序?qū)崿F(xiàn),具體的腳本程序如下:
[0102]funct1n plug_in()
[0103]{
[0104]local i ;
[0105]In = $(tail-n 3/var/log/messages | grep-1/'Attached SCSI disk" | awk’{print$8},);
[0106]length_in = $(echo"$In" I awk,{print length($0)}');
[0107]i = $(expr$length_in-l);
[0108]DEV_name_in = $(echo"$In" I cut_b 2-$i);
[0109]echo-e"\033[44;37;5m$DEV_name_in\033[0m is pluged in";
[0110]f lag_plug = I ;
[0111]通過上述腳本程序,將被插入硬盤的盤符以藍底白字、并閃爍的形式顯示在服務(wù)器的顯示器上;
[0112]DEV—name—in—temp—2 = $DEV—name—in—temp—I;
[0113]DEV—name—in—temp—I = $DEV—name—in;
[0114]if ["$DEV—name—in"x = "$DEV—name—in—temp—2"x]; then
[0115]i = $(expr$i+l);
[0116]echo_e"This is\033[44;37;5m$i\033[0m times";
[0117]else
[0118]i = l;
[0119]echo_e"This is\033[44;37;5m$i\033[0m times";
[0120]fi
[0121]continue;
[0122]fi
[0123]done
[0124]通過上述腳本程序,將被插入硬盤的被插入總次數(shù)以藍底白字并閃爍的形式顯示在服務(wù)器的顯示器上;
[0125]步驟207:獲取各個硬盤的盤符、序列號及容量,形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件。
[0126]在本發(fā)明一個實施例中,當判斷有硬盤通過熱插拔的方式被插入后,重新獲取各個硬盤的盤符、序列號以及容量,根據(jù)重新獲取到的各個硬盤的盤符、序列號以及容量形成一個當前狀態(tài)文件,在當前狀態(tài)文件中記錄有當前時間每一個盤符對應(yīng)的硬盤序列號以及硬盤容量。
[0127]例如,當檢測到服務(wù)器系統(tǒng)中出現(xiàn)Attached SCSI disk后,獲取當前時間服務(wù)器上10個硬盤的盤符、序列號及容量,根據(jù)該10個硬盤的盤符、序列號及容量形成一個文件名為1.txt的當前狀態(tài)文件,1.txt文件中記錄有10盤符對應(yīng)的硬盤序列號以及硬盤容量。
[0128]在本發(fā)明實施例中,形成當前狀態(tài)文件1.txt的過程可以通過腳本程序?qū)崿F(xiàn),具體的腳本程序如下:
[0129]echo"Disk—name"〉1.txt
[0130]echo"Serial—Number">>l.txt
[0131]echo"Capacity">>l.txt
[0132]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0133]for Dev—name in' cat/root/disk.txt'
[0134]do
[0135]echo"sd$Dev—name">$Dev—name.txt
[0136]smartctl-a/dev/sd$Dev_name|grep-1^serial number"|awk’{print$3}’>>$Dev—name.txt
[0137]smartctl-a/dev/sd$Dev_name|grep-1ncapacity^|awk’{print$3}’ >>$Dev_name.txt
[0138]done
[0139]echo
[0140]for Dev_name in cat/root/disk.txt'
[0141]do
[0142]paste-fl.txt$Dev_name.txt>temp_in.txt
[0143]cat temp_in.txt>1.txt
[0144]done
[0145]通過上述腳本程序,形成包括當前時間各個盤符與硬盤序列號及硬盤容量對應(yīng)關(guān)系的1.txt文件。
[0146]步驟208:判斷當前狀態(tài)文件與標準狀態(tài)文件是否相同,如果相同發(fā)送服務(wù)器未發(fā)生硬盤亂序的通知消息,如果不同發(fā)送服務(wù)器發(fā)生硬盤連續(xù)的通知消息。
[0147]在本發(fā)明一個實施例中,將步驟207中形成的當前狀態(tài)文件與步驟202中形成的標準狀態(tài)文件進行對比,判斷當前狀態(tài)文件中各個盤符與硬盤序列號及硬盤容量的對應(yīng)關(guān)系是否均與標準狀態(tài)文件中各個盤符與硬盤序列號及硬盤容量的對應(yīng)關(guān)系相同,如果是,說明沒有發(fā)生硬盤亂序,向服務(wù)器的顯示器發(fā)送服務(wù)器未發(fā)生硬盤亂序的通知消息,在服務(wù)器顯示器上顯示服務(wù)器未發(fā)生硬盤亂序的提示信息;如果否,說明發(fā)生了硬盤連續(xù),向服務(wù)器的顯示器發(fā)送服務(wù)器發(fā)生硬盤亂序的通知消息,在服務(wù)器的顯示器上顯示服務(wù)器發(fā)生硬盤亂序的提示信息。
[0148]例如,將1.txt文件與baseline.xls文件進行對比,如果1.txt文件中硬盤I的序列號I及容量I與盤符I相對應(yīng),硬盤2的序列號2及容量2與盤符2相對應(yīng),以此類推,硬盤10的序列號10及容量10與盤符10相對應(yīng),S卩1.txt文件與baseline.xls文件完全相同,則在服務(wù)器的顯示器上顯示OK字符;如果1.txt文件存在至少一個硬盤序列號及容量對應(yīng)的盤符與baseline.xls文件中同一個硬盤序列號及容量對應(yīng)的盤符不同,則在服務(wù)器的顯示器上顯示ERROR字符。
[0149]在本發(fā)明實施例中,可以通過腳本程序判斷1.txt文件與baseline.xls文件是否相同,并在顯示器上顯示對應(yīng)的字符,具體的腳本程序如下:
[0150]diff baseline.xls 1.txt
[0151]if[!$?-eq 0];then
[0152]echo〃error〃>>status.txt
[0153]echo_e"\033[41;37;5m erro;r\033[0m"
[0154]else
[0155]echo"0K">>status.txt
[0156]echo-e"\033[42;37;5m 0K\033[0m"
[0157]fi
[0158]paste 1.txt status.txtHemp_in.txt
[0159]cat temp_in.txt>1.txt
[Ο??Ο] 通過上述腳本程序,當1.txt文件與baseline.xls文件相同時,以紅底白字閃爍顯示ERROR字符;當1.txt文件與baseline.xls文件不同時,以綠底白字閃爍顯示OK字符。
[0161]步驟209:將標準狀態(tài)文件及當前狀態(tài)文件存儲到預(yù)設(shè)的測試結(jié)果文件中,并結(jié)束當前流程。
[0162]在本發(fā)明一個實施例中,每次硬盤通過熱插拔的方式被插入后形成一個當前狀態(tài)文件,將形成的各個當前狀態(tài)文件以及標準狀態(tài)文件存儲的預(yù)先創(chuàng)建的測試結(jié)果文件中。
[0163]例如,將baseline.xls文件以及每次生成的1.txt文件均存儲到預(yù)先創(chuàng)建的測試結(jié)果文件plug, log中。
[0164]在本發(fā)明實施例中,對baseline.xls文件及1.txt文件進行存儲的過程可以通過腳本程序?qū)崿F(xiàn),具體的腳本程序如下:
[0165]echo〃Below is the data when$DEV_name_in is pluged out&in for onecycle!〃>>plug.log
[0166]date>>plug.log
[0167]cat I.txt>>plug.log
[0168]}
[0169]通過上述腳本程序?qū)⒚看涡纬傻漠斍盃顟B(tài)文件1.txt存儲到測試結(jié)果文件plug.log中 ο
[0170]步驟210:獲取被拔出硬盤的盤符以及該硬盤通過熱插拔方式被拔出的總次數(shù),并發(fā)送包括該硬盤的盤符及被拔出總次數(shù)的通知消息。
[0171]在本發(fā)明一個實施例中,當檢測到有硬盤通過熱插拔的方式被拔出后,獲取被拔出硬盤的盤符,并獲取對該硬盤進行循環(huán)熱插拔操作而被拔出的總次數(shù),將獲取到的該硬盤的盤符及被拔出總次數(shù)以通知消息的形式發(fā)送到服務(wù)器的顯示器上,在服務(wù)器的實現(xiàn)上顯示該硬盤的盤符以及被拔出的總次數(shù)。
[0172]例如,當檢測到硬盤2通過熱插拔的方式被拔出后,獲取硬盤2的盤符B,以及從測試開始到當前時間為止硬盤2通過熱插拔方式被拔出的總次數(shù)Y,將盤符B以及總次數(shù)Y顯示在服務(wù)器的顯示器上。
[0173]在本發(fā)明實施例中,獲取及顯示被拔出硬盤的盤符及被拔出總次數(shù)可以通過腳本程序?qū)崿F(xiàn),具體的腳本程序如下:
[0174]funct1n plug_out()
[0175]{
[0176]local i ;
[0177]Out = $ (tail_n 3/var/log/messages|sed_n ’{/removing/{g;p}};h ’ |awk’{print$8}’);
[0178]length_out = $(echo"$0ut" I awk’{print length($0)}');
[0179]i = $(expr$length_out-l);
[0180]DEV_name_out = $(echo"$0ut" I cut_b 2-$i);
[0181]echo-e"\033[44;37;5m$DEV_name_out\033[0m is pluged out";
[0182]f lag_p Iug = O ;
[0183]}
[0184]通過上述腳本程序,以藍底白字并閃爍的形式在服務(wù)器的顯示器上顯示當前被拔出的盤符;
[0185]DEV_name_out_temp_2 = $DEV_name_out_temp_l;
[0186]DEV_name_out_temp_l = $DEV_name_out;
[0187]if ["$DEV—name—out"x = "$DEV—name—out—temp—2"x]; then
[0188]j = $(expr$j+l);
[0189]echo_e"This is\033[44;37;5m$j\033[0m times";
[0190]else
[0191]j = l;
[0192]echo_e"This is\033[44;37;5m$j\033[0m times""
[0193]fi
[0194]continue;
[0195]fi
[0196]通過上述腳本程序,以藍底白字并閃爍的形式在服務(wù)器的顯示器上顯示當前被拔出的硬盤的被拔出總次數(shù)。
[0197]在本發(fā)明一個實施例中,測試硬盤熱插拔穩(wěn)定性的方法可以通過腳本程序?qū)崿F(xiàn),下面給出一種可以對硬盤熱插拔穩(wěn)定性進行測試的腳本程序,其中#后所示內(nèi)容為注釋內(nèi)容:
[0198]#main
[ΟΙ"]flag—plug = I 用來輔助判斷硬盤的插入和拔出
[0200]j = 0;
[0201]i = 0;
[0202]DEV—name—out—temp—I = I;
[0203]DEV—name—out—temp—2 = I;
[0204]DEV—name—in—temp—I = I;
[0205]DEV—name—in—temp—2 = I;
[0206]# 調(diào)用generate—baseline 函數(shù)生成 baseline.xls 文件
[0207]generate—baseline;
[0208]echo"Baseline is generated successfully!,,
[0209]#進入死循環(huán),持續(xù)監(jiān)測是否有硬盤被拔出或者插入。
[0210]while:;
[0211]do
[0212]#當有removing關(guān)鍵字同時flag—plug的值為I時說明有硬盤被拔出,調(diào)用plug—out函數(shù),然后計算此硬盤是連續(xù)的第幾次被拔出。
[0213]Temp_out = $(tail-n 1/var/log/messages | grep-1,,removing,,);
[0214]if [_n"$Temp—out"]&&["$f lag—plug"x = lx]; then
[0215]plug—out;
[0216]DEV—name—out—temp—2 = $DEV—name—out—temp—I;
[0217]DEV—name—out—temp—I = $DEV—name—out;
[0218]if ["$DEV—name—out"x = "$DEV—name—out—temp—2"x]; then
[0219]j = $(expr$j+l);
[0220]echo_e"This is\033[44;37;5m$j\033[0m times";
[0221]else
[0222]j = l;
[0223]echo_e"This is\033[44;37;5m$j\033[0m times""
[0224]fi
[0225]continue;
[0226]fi
[0227]#當有Attached SCSI disk關(guān)鍵字同時flag—plug的值為0時說明有硬盤被插入,調(diào)用plug—in函數(shù),然后計算此硬盤是連續(xù)的第幾次被插入。
[0228]Temp_in=$(tail-n 1/var/log/messages|grep-1^Attached SCSI disk");
[0229]if [_n"$Temp—in"]&&["$f lag—plug"x = 0x]; then
[0230]plug—in;
[0231 ]DEV—name—in—temp—2 = $DEV—name—in—temp—I;
[0232]DEV—name—in—temp—I = $DEV—name—in;
[0233]if ["$DEV—name—in"x = "$DEV—name—in—temp—2"x]; then
[0234]i = $(expr$i+l);
[0235]echo_e"This is\033[44;37;5m$i\033[0m times";
[0236]else
[0237]i = l;
[0238]echo_e"This is\033[44;37;5m$i\033[0m times";
[0239]fi
[0240]continue;
[0241]fi
[0242]done
[0243]其中,生成base line.xls 文件的函數(shù) generate—base line 如下:
[0244]funct1n generate—baseline()
[0245]{
[0246]echo"Disk—name">base.txt
[0247]echo"Serial—Number">>base.txt
[0248]echo"Capacity">>base.txt
[0249]#每個盤符對照如上三條生成一個文件。
[0250]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0251]for Dev—name in cat/root/disk.txt
[0252]do
[0253]echo"sd$Dev—name">$Dev—name.txt
[0254]smartct1-a/dev/sd$Dev_name|grep-1^serial number"|awk’{print$3}’>>$Dev—name.txt
[0255]smartctl-a/dev/sd$Dev_name|grep-1ncapacity"|awk,{print$3},>>$Dev_name.txt
[0256]done
[0257]# 合并文件生成 baseline.xls。
[0258]echo
[0259]for Dev—name in cat/root/disk.txt
[0260]do
[0261 ]paste_d""base.txt$Dev_ name.txt>temp—base.txt
[0262]cat temp—base.txt>base.txt
[0263]done
[0264]cat base.txt>>baseline.xls
[0265]}
[0266]其中,針對有硬盤被拔出后的操作的函數(shù)plug—out如下:
[0267]funct1n plug_out()
[0268]{
[0269]local i;
[0270]#根據(jù)關(guān)鍵字removing判斷是否有硬盤拔出,并識別拔出的硬盤的盤符,然后打印出來。
[0271 ]Out = $(tail-n 3/var/log/messages|sed_n ’{/removing/{g;p}};h ’ |awk’{print$8},);
[0272]length—out = $(echo"$0ut" | awk,{print length($0)} ’);
[0273]i = $(expr$length_out-l);
[0274]DEV—name—out = $(echo"$0ut" I cut_b 2-$i);
[0275]#藍底白字、并閃爍顯示當前被拔出的盤符
[0276]echo_e"\033[44;37;5m$DEV—name—out\033[0m is pluged out";
[0277]flag—plug = 0;
[0278]}
[0279]其中,針對有硬盤插入后的操作的函數(shù)plug—in如下:
[0280]funct1n plug—in()
[0281]{
[0282]#根據(jù)關(guān)鍵字Attached SCSI disk判斷是否有硬盤插入,并識別插入的硬盤的盤符,然后打印出來。
[0283]local i;
[0284]In=$(tail-n 3/var/log/messages|grep-1^Attached SCSI disk"|awk’{print$8},);
[0285]length—in = $(echo"$In" | awk,{print length($0)} ’);
[0286]i = $(expr$length_in-l);
[0287]DEV—name—in = $(echo"$In" I cut_b 2-$i);
[0288]#藍底白字、并閃爍顯示當前被拔出的盤符
[0289]echo_e"\033[44;37;5m$DEV—name—in\033[0m is pluged in";
[0290]flag—plug = I;
[0291]様頭
[0292]echo"Disk—name"〉1.txt
[0293]echo"Serial—Number">>l.txt
[0294]echo"Capacity">>l.txt
[0295]#每個盤符對照如上三條生成一個文件
[0296]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0297]for Dev—name in' cat/root/disk.txt'
[0298]do
[0299]echo"sd$Dev—name">$Dev—name.txt
[0300]smartctl-a/dev/sd$Dev_name|grep-1^serial number"|awk’{print$3}’>>$Dev—name.txt
[0301 ]smartctl-a/dev/sd$Dev_name|grep-1^capacity^|awk’{print$3}’ >>$Dev_name.txt
[0302]done
[0303]#合并文件。
[0304]echo
[0305]for Dev—name in' cat/root/disk.txt'
[0306]do
[0307]pasteH.txt$Dev_name.txt>temp_in.txt
[0308]cat temp_in.txt>l.txt
[0309]done
[0310]#判斷新生成的文件是否跟base line, xls—致,如果是就輸出OK,否則輸出ERROR。
[0311]diff baseline.xls 1.txt
[0312]if[!$?-eq 0];then
[0313]echo〃error〃>>status.txt
[0314]#紅底白字、閃爍顯示ERROR字符。
[0315]echo_e"\033[41;37;5m error\033[0m"
[0316]else
[0317]echo"0K">>status.txt
[0318]#綠底白字、閃爍顯示OK字符D
[0319]echo-e"\033[42;37;5m 0K\033[0m"
[0320]fi
[0321]paste 1.txt status.txt>temp_in.txt
[0322]cat temp_in.txt>l.txt
[0323]#最后所有的信息匯總文件中。
[0324]echo〃Below is the data when$DEV_name_in is pluged out&in for onecycle!〃>>plug.log
[0325]date>>plug.log
[0326]cat 1.txt>>plug.log
[0327]}
[0328]如圖3、圖4所示,本發(fā)明實施例提供了一種測試硬盤熱插拔穩(wěn)定性的裝置。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實施例提供的測試硬盤熱插拔穩(wěn)定性的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負責處理報文的轉(zhuǎn)發(fā)芯片等等。以軟件實現(xiàn)為例,如圖4所示,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的CPU將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。本實施例提供的測試硬盤熱插拔穩(wěn)定性的裝置,包括:第一獲取單元401、檢測單元402、第二獲取單元403、判斷單元404及執(zhí)行單元405;
[0329]第一獲取單元401,用于分別獲取各個硬盤的盤符、序列號及容量,并根據(jù)各個硬盤的盤符、序列號及容量,形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件;
[0330]檢測單元402,用于檢測至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入;
[0331 ]第二獲取單元403,用于根據(jù)檢測單元402的檢測結(jié)果,如果是,分別獲取各個硬盤的盤符、序列號及容量,并根據(jù)各個硬盤的盤符、序列號及容量,形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件;
[0332]判斷單元404,用于判斷第二獲取單元403形成的當前狀態(tài)文件與第一獲取單元401形成的標準狀態(tài)文件是否相同;
[0333]執(zhí)行單元405,用于根據(jù)判斷單元404的判斷結(jié)果,如果是,發(fā)送服務(wù)器未發(fā)生硬盤亂序的通知消息,否則發(fā)送服務(wù)器發(fā)生硬盤亂序的通知消息。
[0334]在本發(fā)明一個實施例中,檢測單元402,進一步用于針對于每一個被插入的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被插入的總次數(shù),并發(fā)送包括該硬盤的盤符以及被插入總次數(shù)的通知消息。
[0335]在本發(fā)明一個實施例中,檢測單元402,進一步用于實時檢測至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被拔出,如果是,針對于每一個被拔出的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被拔出的總次數(shù),并發(fā)送包括該硬盤的盤符以及被拔出總次數(shù)的通知消息。
[0336]在本發(fā)明一個實施例中,檢測單元402,用于實時檢測服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第一關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被插入,否則判斷沒有硬盤通過熱插拔的方式被插入,其中第一關(guān)鍵字包括于硬盤通過熱插拔方式被插入后系統(tǒng)產(chǎn)生的提示信息之中。
[0337]在本發(fā)明一個實施例中,檢測單元402,用于實時檢測服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第二關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被拔出,否則判斷沒有硬盤通過熱插拔的方式被拔出,其中第二關(guān)鍵字包括于硬盤通過熱插拔方式被拔出后系統(tǒng)產(chǎn)生的提示信息之中。
[0338]在本發(fā)明一個實施例中,如圖5所示,該裝置進一步包括:存儲單元406;
[0339]存儲單元406,用于將第一獲取單元401形成的標準狀態(tài)文件以及第二獲取單元403形成的各個當前狀態(tài)文件存儲到預(yù)設(shè)的測試結(jié)果文件中。
[0340]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0341]本發(fā)明提供的各個實施例,至少具有如下有益效果:
[0342]1、本發(fā)明實施例中,獲取各個硬盤的盤符、序列號及容量,形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件,在對硬盤進行熱插拔操作過程中,實時檢測是否有硬盤通過熱插拔的方式被插入,每一次硬盤被插入都獲取一次各個硬盤的盤符、序列號及容量,根據(jù)獲取到的各個硬盤的盤符、序列號及容量形成包括各個硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件,將當前狀態(tài)文件與標準狀態(tài)文件進行比較,如果當前狀態(tài)文件與標準狀態(tài)文件相同,說明該次硬盤插入沒有造成硬盤亂序,發(fā)送服務(wù)器未發(fā)生硬盤亂序的通知消息,如果當前狀態(tài)文件與標準狀態(tài)文件不同,說明該次硬盤插入造成了硬盤亂序,發(fā)送服務(wù)器發(fā)生硬盤亂序的通知消息。這樣,根據(jù)通知消息便可以確定每一次熱插拔是否發(fā)生硬盤亂序,無需在每一次熱插拔硬盤后通過手動對比硬盤序列號的方式判斷是否發(fā)生硬盤亂序,減少每一個測試循環(huán)所需的時間,從而提高了對硬盤熱插拔穩(wěn)定性進行測試的效率。
[0343]2、本發(fā)明實施例中,獲取被插入硬盤的盤符以及該硬盤連續(xù)被插入的總次數(shù),將盤符及被插入總次數(shù)通過顯示器顯示等方式展示給用戶,用戶通過顯示器顯示的內(nèi)容可以確定硬盤已經(jīng)進行熱插拔測試的次數(shù),從而可以確定對硬盤穩(wěn)定性進行測試的次數(shù)是否已經(jīng)達到要求的次數(shù),避免通過人工記錄測試次數(shù)造成的勞動強度大以及數(shù)據(jù)不準確等情況,降低了測試人員的勞動強度。
[0344]3、本發(fā)明實施例中,除了獲取被插入硬盤的盤符及被插入總次數(shù)外,還可以獲取被拔出硬盤的盤符以及該硬盤連續(xù)被拔出的總次數(shù),通過顯示器實現(xiàn)等途徑展示給用戶,用戶根據(jù)顯示器上顯示的被拔出硬盤的盤符,可以確保再次將同一個硬盤插回對應(yīng)的硬盤接口,防止存在多個硬盤時出現(xiàn)插入的硬盤與拔下的硬盤不是同一個硬盤的情況出現(xiàn),起防呆作用,從而實現(xiàn)對同一個硬盤進行連續(xù)熱插拔,提高了對硬盤熱插拔穩(wěn)定性進行測試的準確性。
[0345]4、本發(fā)明實施例中,最終將標準狀態(tài)文件以及各個當前狀態(tài)文件存儲到預(yù)先創(chuàng)建的測試結(jié)果文件中,可以將對硬盤熱插拔穩(wěn)定性進行測試過程中硬盤的狀態(tài)信息保存下來,方便后期對測試過程進行查看,并可以根據(jù)測試結(jié)果文件判斷硬盤熱插拔穩(wěn)定性是否合格。
[0346]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0347]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
[0348]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【主權(quán)項】
1.一種測試硬盤熱插拔穩(wěn)定性的方法,其特征在于,應(yīng)用于具有至少兩個硬盤的服務(wù)器,包括: 分別獲取各個所述硬盤的盤符、序列號及容量; 根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件; 實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入; 如果是,分別獲取所述各個硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件; 判斷所述當前狀態(tài)文件是否與所述標準狀態(tài)文件相同; 如果是,發(fā)送所述服務(wù)器未發(fā)生硬盤亂序的通知消息,否則發(fā)送所述服務(wù)器發(fā)生硬盤亂序的通知消息。2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 在所述實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入之后進一步包括: 針對于每一個被插入的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被插入的總次數(shù),并發(fā)送包括該硬盤的盤符以及被插入總次數(shù)的通知消息。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,進一步包括: 實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被拔出,如果是,針對于每一個被拔出的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被拔出的總次數(shù),并發(fā)送包括該硬盤的盤符以及被拔出總次數(shù)的通知消息。4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入包括: 實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第一關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被插入,否則判斷沒有硬盤通過熱插拔的方式被插入,其中所述第一關(guān)鍵字包括于硬盤通過熱插拔方式被插入后系統(tǒng)產(chǎn)生的提示信息之中; 和/或, 所述實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被拔出包括: 實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第二關(guān)鍵字,如果是,判斷存儲至少一個硬盤通過熱插拔的方式被拔出,否則判斷沒有硬盤通過熱插拔的方式被拔出,求中所述第二關(guān)鍵字包括于硬盤通過熱插拔方式被拔出后系統(tǒng)產(chǎn)生的提示信息之中。5.根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于,進一步包括: 將所述標準狀態(tài)文件以及各個所述當前狀態(tài)文件存儲到預(yù)設(shè)的測試結(jié)果文件中。6.一種測試硬盤熱插拔穩(wěn)定性的裝置,其特征在于,應(yīng)用于具有至少兩個硬盤的服務(wù)器,包括:第一獲取單元、檢測單元、第二獲取單元、判斷單元及執(zhí)行單元; 所述第一獲取單元,用于分別獲取各個所述硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的標準狀態(tài)文件; 所述檢測單元,用于所述檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被插入; 所述第二獲取單元,用于根據(jù)所述檢測單元的檢測結(jié)果,如果是,分別獲取所述各個硬盤的盤符、序列號及容量,并根據(jù)各個所述硬盤的盤符、序列號及容量,形成包括各個所述硬盤的盤符與序列號及容量對應(yīng)關(guān)系的當前狀態(tài)文件; 所述判斷單元,用于判斷所述第二獲取單元形成的當前狀態(tài)文件與所述第一獲取單元形成的標準狀態(tài)文件是否相同; 所述執(zhí)行單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果是,發(fā)送所述服務(wù)器未發(fā)生硬盤亂序的通知消息,否則發(fā)送所述服務(wù)器發(fā)生硬盤亂序的通知消息。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述檢測單元,進一步用于針對于每一個被插入的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被插入的總次數(shù),并發(fā)送包括該硬盤的盤符以及被插入總次數(shù)的通知消息。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述檢測單元,進一步用于實時檢測所述至少兩個硬盤中是否存在至少一個硬盤通過熱插拔的方式被拔出,如果是,針對于每一個被拔出的硬盤,獲取該硬盤的盤符以及從檢測開始到當前時間為止該硬盤通過熱插拔的方式被拔出的總次數(shù),并發(fā)送包括該硬盤的盤符以及被拔出總次數(shù)的通知消息。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述檢測單元,用于實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第一關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被插入,否則判斷沒有硬盤通過熱插拔的方式被插入,其中所述第一關(guān)鍵字包括于硬盤通過熱插拔方式被插入后系統(tǒng)產(chǎn)生的提示信息之中; 和/或, 所述檢測單元,用于實時檢測所述服務(wù)器系統(tǒng)是否出現(xiàn)預(yù)設(shè)的第二關(guān)鍵字,如果是,判斷存在至少一個硬盤通過熱插拔的方式被拔出,否則判斷沒有硬盤通過熱插拔的方式被拔出,其中所述第二關(guān)鍵字包括于硬盤通過熱插拔方式被拔出后系統(tǒng)產(chǎn)生的提示信息之中。10.根據(jù)權(quán)利要求6至9中任一所述的裝置,其特征在于,進一步包括:存儲單元; 所述存儲單元,用于將所述第一獲取單元形成的標準狀態(tài)文件以及所述第二獲取單元形成的各個當前狀態(tài)文件存儲到預(yù)設(shè)的測試結(jié)果文件中。
【文檔編號】G06F11/22GK105843720SQ201610318411
【公開日】2016年8月10日
【申請日】2016年5月12日
【發(fā)明人】閆碩
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1