本發明涉及服務器領域,具體來說,涉及一種服務器設備的檢測方法和裝置。
背景技術:
隨著服務器的密度越來越高,服務器上內置硬盤數量越來越多,并且現有高密度存儲服務器的硬盤都是由PCIE擴展卡進行管理的,即PCIE插槽異常降速會導致硬盤無法發揮其正常性能,因此,檢測服務器中PCIE插槽速率信息(或帶寬信息)以及硬盤得到健康狀態顯得尤為重要。
但是,現有高密度存儲服務器設備的檢測技術的存在如下缺點:該檢測方法不是針對高密度硬盤的,故無法滿足高密度存儲服務器硬盤檢測,會產生極大的工作量;該檢測方法無法應用于PCIE插槽的檢測,僅一次性檢測無法滿足存儲服務器可靠性檢測要求。
針對相關技術中的問題,目前尚未提出有效的解決方案。
技術實現要素:
針對相關技術中的問題,本發明提出一種服務器設備的檢測方法和裝置,能夠自動化的對服務器硬盤和PCIE插槽進行檢查,并將獲得的測試數據和服務器運行數據結果進行保存,節省了人力成本,提高了檢測效率。
本發明的技術方案是這樣實現的:
根據本發明的一個方面,提供了一種服務器設備的檢測方法。
該檢測方法包括:
獲取SAS卡的數量信息;
根據SAS卡的數量信息,確定每個SAS卡連接的硬盤的數量,并檢測所有硬盤的狀態信息并保存;以及
將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存。
根據本發明的一個實施例,檢測所有硬盤的狀態信息并保存包括:
根據所有硬盤的狀態信息,確定每個硬盤是否正常工作;
在硬盤不正常工作的情況下,輸出錯誤信息并保存。
根據本發明的一個實施例,將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存包括:
設置服務器的關機時間和重啟次數;
根據關機時間和重啟次數,對服務器進行重啟,并且在服務器每次重啟進入系統后,檢測多個PCIE插槽的傳輸速率并保存。
根據本發明的一個實施例,SAS卡分別連接PCIE插槽和硬盤。
根據本發明的另一方面,提供了一種服務器設備的檢測裝置。
該檢測裝置包括:
獲取模塊,用于獲取SAS卡的數量信息;
硬盤檢測模塊,用于根據SAS卡的數量信息,確定每個SAS卡連接的硬盤的數量,并檢測所有硬盤的狀態信息并保存;
PCIE插槽檢測模塊,用于將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存。
根據本發明的一個實施例,硬盤檢測模塊包括:
確定模塊,用于根據所有硬盤的狀態信息,確定每個硬盤是否正常工作;
輸出模塊,用于在硬盤不正常工作的情況下,輸出錯誤信息并保存。
根據本發明的一個實施例,PCIE插槽檢測模塊包括:
設置模塊,用于設置服務器的關機時間和重啟次數;
重啟檢測模塊,用于根據關機時間和重啟次數,對服務器進行重啟,并且在服務器每次重啟進入系統后,檢測多個PCIE插槽的傳輸速率并保存。
根據本發明的一個實施例,SAS卡分別連接PCIE插槽和硬盤。
本發明的有益技術效果在于:
本發明通過獲取SAS卡的數量信息,隨后根據SAS卡的數量信息,確定每個SAS卡連接的硬盤的數量,并檢測所有硬盤的狀態信息并保存,最后將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存,從而能夠自動化的對服務器硬盤和PCIE插槽進行檢查,并將獲得的測試數據和服務器運行數據結果進行保存,節省了人力成本,提高了檢測效率。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是根據本發明實施例的服務器設備的檢測方法的流程圖;
圖2是根據本發明實施例的雙路高密度存儲服務器的硬件架構;
圖3是根據本發明實施例的服務器設備的檢測方法的具體流程圖;
圖4是根據本發明實施例的服務器設備的檢測裝置的框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發明保護的范圍。
根據本發明的實施例,提供了一種服務器設備的檢測方法。
如圖1所示,根據本發明實施例的服務器設備的檢測方法包括:
步驟S101,獲取SAS卡的數量信息;
步驟S103,根據SAS卡的數量信息,確定每個SAS卡連接的硬盤的數量,并檢測所有硬盤的狀態信息并保存;
步驟S105,將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE(Peripheral Component Interface Express周邊裝置互聯高速)插槽的傳輸速率并保存。
通過本發明的上述方案,通過獲取SAS卡的數量信息,隨后根據SAS卡的數量信息,確定每個SAS卡連接的硬盤的數量,并檢測所有硬盤的狀態信息并保存,最后將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存,從而能夠自動化的對服務器硬盤和PCIE插槽進行檢查,并將獲得的測試數據和服務器運行數據結果進行保存,節省了人力成本,提高了檢測效率。
根據本發明的一個實施例,檢測所有硬盤的狀態信息并保存包括:
根據所有硬盤的狀態信息,確定每個硬盤是否正常工作;
在硬盤不正常工作的情況下,輸出錯誤信息并保存。
根據本發明的一個實施例,將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存包括:
設置服務器的關機時間和重啟次數;
根據關機時間和重啟次數,對服務器進行重啟,并且在服務器每次重啟進入系統后,檢測多個PCIE插槽的傳輸速率并保存。
根據本發明的一個實施例,SAS卡分別連接PCIE插槽和硬盤。
為了更好的描述本發明,現在以一個具體的實施例進行詳細的描述。
現以雙路高密度存儲服務器硬件架構為例來介紹本發明,如圖2所示,PCIE插槽直接從CPU(Central Processing Unit,中央處理器)里引出,并且每個CPU引出的PCIE插槽上都連接有一塊SAS(Serial Attached SCSI,串行連接小型計算機系統接口)卡,SAS卡通過SAS線與下面的硬盤(如硬盤0、硬盤1等)連接,此外,當然可以理解,根據實際需求對SAS卡和硬盤的數量進行設置,本發明對此不做限定。
進一步,如圖3所示,首先檢測SAS卡的數量以及每塊SAS卡連接的硬盤數量,通過SAS卡的數量和每塊SAS卡連接的硬盤數量可以確定服務器的硬盤總數并對所有的硬盤進行健康檢測,其次通過設置服務器關機時間和重啟次數,且在每次重啟進入服務器系統后檢測PCIE插槽速率信息,經多次重復檢測可以保證其檢測的可靠性,最后通過輸出檢查結果確定服務器硬盤和PCIE插槽的健康狀態,同時,在檢測硬盤健康狀態(或能否正常工作)時,當檢測出不正常工作或損壞的硬盤時,將該硬盤的信息輸出為錯誤信息并保存。
此外,下面以采用Linux系統下shell腳本實現上述技術方案為例,將該shell腳本打包成壓縮包,并且采用兩級目錄,以及根目錄下存放3個文件夾和6個主腳本,其中,上述6個主腳本包括:
test_all.sh為主執行程序,里面嵌套硬盤檢測和PCIE檢測功能函數,同時,該測試由test_all.sh作為主程序入口,調用其它腳本協同工作完成測試;
hdd_test.sh為硬盤檢測程序,自動識別服務器硬盤數量且對所有硬盤進行健康狀態檢查,并保存結果;
check_pcie.sh為PCIE速率檢測程序;
run_dc.sh為設置服務器自動掉電重啟次數;
Reboot.sh為重啟系統程序;
Config為獲取當前目錄下文件路徑信息;
上述3個文件夾:
Log為存放日志文件,PCIE檢測以及掉電重啟等執行記錄都放在此日志文件中;
Tools為存放硬盤檢測文件;
Result為存放檢測結果。
根據本發明的實施例,還提供了一種服務器設備的檢測裝置。
如圖4所示,根據本發明實施例的服務器設備的檢測裝置包括:
獲取模塊41,用于獲取SAS卡的數量信息;
硬盤檢測模塊42,用于根據SAS卡的數量信息,確定每個SAS卡連接的硬盤的數量,并檢測所有硬盤的狀態信息并保存;
PCIE插槽檢測模塊43,用于將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存。
根據本發明的一個實施例,硬盤檢測模塊42包括:
確定模塊(未示出),用于根據所有硬盤的狀態信息,確定每個硬盤是否正常工作;
輸出模塊(未示出),用于在硬盤不正常工作的情況下,輸出錯誤信息并保存。
根據本發明的一個實施例,PCIE插槽檢測模塊43包括:
設置模塊(未示出),用于設置服務器的關機時間和重啟次數;
重啟檢測模塊(未示出),用于根據關機時間和重啟次數,對服務器進行重啟,并且在服務器每次重啟進入系統后,檢測多個PCIE插槽的傳輸速率并保存。
根據本發明的一個實施例,SAS卡分別連接PCIE插槽和硬盤。
綜上所述,借助于本發明的上述技術方案,通過獲取SAS卡的數量信息,隨后根據SAS卡的數量信息,確定每個SAS卡連接的硬盤的數量,并檢測所有硬盤的狀態信息并保存,最后將服務器進行重啟,并且在服務器重啟的過程中,檢測多個PCIE插槽的傳輸速率并保存,從而能夠自動化的對服務器硬盤和PCIE插槽進行檢查,并將獲得的測試數據和服務器運行數據結果進行保存,節省了人力成本,提高了檢測效率。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。