本申請涉及通信技術領域,尤其涉及一種BMC檢測方法以及裝置。
背景技術:
BMC(Baseboard Management Controller,基板管理控制器)是服務器的管理單元,用于對服務器進行監控和管理。由于具有BMC的服務器都會放在單獨的機房里,如果服務器的BMC出現異常,只有專業的技術人員通過在環境復雜的機房里配置的串口服務器才能夠發現,其他人員則無法感知到BMC是否出現了異常,更不能及時對異常進行修復,進而無法對服務器進行監控管理,影響服務器性能。
技術實現要素:
針對現有技術的缺陷,本發明申請提供了一種BMC檢測方法以及裝置。
本申請提供一種BMC檢測方法,應用于網絡設備,所述網絡設備通過運行的操作系統與BMC建立通信連接,其中該方法包括:
通過所述操作系統與BMC建立的通信連接檢測所述BMC的狀態;
當檢測到所述BMC的狀態變化時,確定出所述BMC的狀態變化信息;
通告所述BMC的狀態變化信息。
本申請還提供一種BMC檢測裝置,應用于網絡設備,所述網絡設備通過運行的操作系統與BMC建立通信連接,該裝置包括:
檢測單元,用于通過所述操作系統與BMC建立的通信連接檢測所述BMC的狀態;
確定單元,用于當檢測到所述BMC的狀態變化時,確定出所述BMC的狀態變化信息;
通告單元,用于通告所述BMC的狀態變化信息。
本申請提供的BMC檢測方法以及裝置,無需專門的管理員進入復雜的機房環境中對服務器進行BMC狀態的檢測,而是通過操作系統與BMC建立的通信連接檢測BMC的狀態,并在檢測到BMC的狀態變化時,通告BMC的狀態變化信息,從而可降低解決BMC故障問題的成本和復雜度,且減少了人力資源的耗費。
附圖說明
圖1是本申請實施例中一種BMC檢測方法所應用的SFC網絡示意圖;
圖2是本申請實施例中一種BMC檢測方法流程示意圖;
圖3是本申請實施例中一種BMC檢測裝置的邏輯結構示意圖;
圖4是本申請實施例中BMC檢測裝置所在網絡設備的硬件架構示意圖。
具體實施方式
為使本申請的目的,技術方案及優點更加清楚明白,以下參照附圖對本申請方案做進一步的詳細說明。
為了解決現有技術中存在的問題,本申請提供了BMC檢測方法以及裝置。
圖1示出了本申請提供的一種BMC檢測方法所應用的網絡示意圖,包括多個服務器S101、S102以及S103,各服務器S101、S102以及S103均具有BMC,在一個例子中,服務器S101以及S102可以處于機房環境中,處于機房環境外的S103具有BMC管理模塊,S103可以通過BMC管理模塊運行的操作系統(Operating System,OS)與服務器S101以及S102的BMC分別建立通信連接。
請參考圖2,為本申請提供的BMC檢測方法的處理流程示意圖,該BMC檢測方法可應用于網絡設備,該網絡設備可以是服務器等設備,所述網絡設備通過運行的操作系統與BMC建立通信連接,該方法包括以下步驟:
步驟201,通過所述操作系統與BMC建立的通信連接檢測所述BMC的狀態;
本實施方式中,可以通過服務器中運行的操作系統與各個服務器的BMC建立連接,進行本地通信。在一實施方式中,服務器中運行的操作系統可以具有代理程序(Agent),與各個服務器的BMC通信連接可以通過操作系統的Agent來建立。與各服務器的BMC建立的連接包括與本服務器的BMC建立的連接以及與其他服務器的BMC建立的連接,并且可以根據建立的連接與各個服務器的BMC進行通信。
服務器通過操作系統與BMC建立連接之后,當接收到檢測BMC狀態的操作指令時,響應于該操作指令,即可以啟動對對應的BMC進行狀態檢測。本申請實施例中,觸發發送該操作指令可以包括多種情況,例如:當監測到有BMC進行重啟或者升級時,即可觸發發送該操作指令,以根據該操作指令自動啟動對該重啟或者升級的BMC進行狀態檢測;或者,當管理員需要監測某個BMC的狀態時,也可以由管理員人為觸發檢測該BMC狀態的操作指令,以啟動對該待檢測的BMC進行狀態檢測。
本實施方式中,對BMC狀態的檢測包括:
對BMC運行的固件版本發生變化的檢測;
對訪問所述BMC的端口發生變化的檢測;
對所述BMC的IP地址發生變化的檢測;
對所述BMC的IPMI(Intelligent Platform Management Interface,智能平臺管理接口)進程狀態出現異常變化的檢測;
對所述BMC的網絡狀態出現異常變化的檢測等。
具體地,在對BMC的狀態進行檢測時,若檢測到BMC運行的固件版本由較低版本升級為較高版本,例如由V2版本升級為V3版本,且升級成功,可以確定BMC運行的固件版本發生變化(由V2版本升級為V3版本);若檢測到升級后的固件版本低于升級前的版本,可以確定所述BMC運行的固件版本升級失敗,例如,若當前運行的固件版本為版本V2,在進行版本升級后,對BMC的檢測結果為固件版本為版本V1,說明BMC運行的固件版本發生版本回退,確定BMC固件版本升級失敗;或者,在升級過程中出現升級中斷等升級錯誤情況,也可以確定BMC固件版本升級失敗,當BMC固件版本升級失敗時,由于升級失敗BMC固件版本的配置文件會因此發生變化,因此也可以確定BMC運行的固件版本發生變化。
若檢測到訪問BMC的端口發生變化,例如由Port1變為Port2,那么可以確定訪問BMC的端口發生變化(訪問端口變為Port2)。
若檢測到BMC的IP地址發生變化,例如由1.1.1.1變為1.1.1.2,那么可以確定BMC的IP地址發生變化(IP地址變化為1.1.1.2)。
若檢測到BMC的IPMI進程存在循環重啟、拒收命令等問題,也可以說明BMC存在異常變化。例如:檢查到BMC因配置文件缺失而導致IPMI進程循環重啟,則可以確定IPMI進程狀態出現異常變化。
在對BMC的網絡狀態進行檢測時,可以檢查BMC的IP地址是否變為默認IP地址,例如:若BMC在向DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)服務器請求了IP地址,且DHCP服務器分配了IP地址后,BMC未通告該IP地址,而是將IP地址恢復為默認IP地址,此時可以確定BMC的網絡狀態發生變化。
步驟202,當檢測到所述BMC的狀態變化時,確定出所述BMC的狀態變化信息;
BMC的狀態變化信息可以包括狀態變化的原因,例如:
若變化為BMC運行的固件版本由較低版本升級為較高版本,例如由V2版本升級為V3版本,且升級成功,那么,BMC的狀態變化信息可以包括:BMC運行的固件版本發生變化的信息(由V2版本升級為V3版本)。
若變化為升級后的固件版本低于升級前的版本,可以確定所述BMC運行的固件版本升級失敗,例如,若當前運行的固件版本為版本V2,在進行版本升級后,對BMC的檢測結果為固件版本為版本V1,那么,BMC的狀態變化信息可以包括:對所述BMC運行的固件版本升級失敗的信息(版本回退:由V2版本回退至V1版本)。
若變化為在升級過程中因升級中斷而導致升級錯誤,那么,BMC的狀態變化信息可以包括:對所述BMC運行的固件版本升級失敗的信息(BMC運行的固件版本升級中斷)。
若變化為訪問BMC的端口發生變化,例如由Port1變為Port2,那么,BMC的狀態變化信息可以包括:訪問所述BMC的端口發生變化的信息(訪問端口變為Port2)。
若變化為BMC的IP地址發生變化,例如由1.1.1.1變為1.1.1.2,那么,BMC的狀態變化信息可以包括:所述BMC的IP地址發生變化的信息(IP地址變化為1.1.1.2)。
若變化為BMC因配置文件缺失而導致IPMI進程循環重啟,那么,BMC的狀態變化信息可以包括:所述BMC的IPMI進程狀態出現異常變化的信息(配置文件缺失)。
若變化為因BMC的IP地址變為默認IP地址導致BMC網絡狀態異常,那么,BMC的狀態變化信息可以包括:所述BMC的網絡狀態出現異常變化的信息(IP地址為默認IP地址)。
進一步地,若檢測出BMC狀態的變化為IPMI進程狀態出現異常變化、對所述BMC運行的固件版本升級失敗、或者所述BMC的網絡狀態出現異常變化,則可以確定BMC故障。為了更好的應用本方法,當BMC故障時,還可以根據故障BMC狀態變化的原因生成解決方案,此時,狀態變化信息可以包括該解決方案,例如:
當BMC故障的原因為:運行的固件版本發生版本回退或者其他原因導致升級失敗,那么所生成的解決方案可以是:重新下載較高或穩定的固件版本,并重新升級;
當BMC故障的原因為:配置文件缺失,那么所生成的解決方案可以是:下載對應的配置文件;
當BMC故障的原因為:參數配置錯誤導致IPMI進程拒收命令,那么所生成的解決方案可以是:告知配置錯誤的參數以及正確的參數;
當BMC故障的原因為:IP地址錯誤,那么所生成的解決方案可以是:告知BMC正確的IP地址,或者重新申請分配IP地址。
進一步地,該BMC的狀態變化信息還可以包括狀態變化的原因以及對應的解決方案,以使管理員能夠在得知狀態變化的原因后,再根據實際需要選擇如何根據對應解決方案及時對故障的BMC進行修復,進而在減輕管理員的工作量的同時,還使得修復結果更為精準。
步驟203,通告所述BMC的狀態變化信息。
在確定出BMC的狀態變化信息后,則可以將該狀態變化信息告知管理員,例如上報給本服務器的BMC管理模塊,以通知管理員有BMC的狀態發生變化,或者通知管理員有BMC故障,使管理員可以通過查看FAQ(Frequently Asked Questions,常見問題)等方式及時得知該BMC的狀態變化事件,以進行相應處理。
由此可見,本申請提供的方法無需專門的管理員進入復雜的機房環境中對服務器進行BMC狀態的檢測,進而降低了解決BMC故障問題的成本和復雜度,且降低了人力資源的耗費。并且,還可以在確定出BMC故障后,根據檢測出的BMC故障的原因生成解決方案,以使管理員根據該解決方案及時對故障的BMC進行修復,進而減輕管理員的工作量,且使修復結果更為精準。
本申請還提供一種BMC檢測裝置,圖3為該BMC檢測裝置的結構示意圖,該裝置可以應用于網絡設備,所述網絡設備通過運行的操作系統與BMC建立通信連接,該BMC檢測裝置可以包括:
檢測單元301,用于通過所述操作系統與BMC建立的通信連接檢測所述BMC的狀態;
確定單元302,用于當檢測到所述BMC的狀態變化時,確定出所述BMC的狀態變化信息;
通告單元303,用于通告所述BMC的狀態變化信息。
進一步地,所述確定單元302確定出的所述BMC的狀態變化信息,可以包括以下一項或多項:
BMC運行的固件版本發生變化的信息;
訪問所述BMC的端口發生變化的信息;
所述BMC的IP地址發生變化的信息;
對所述BMC運行的固件版本升級失敗的信息;
所述BMC的智能平臺管理接口IPMI進程狀態出現異常變化的信息;
所述BMC的網絡狀態出現異常變化的信息。
進一步地,所述檢測單元301,還可以用于:
當監測到檢測所述BMC狀態的操作指令時,響應于所述操作指令,以啟動檢測所述BMC的狀態。
進一步地,所述檢測單元301,還可以用于:
當監測到BMC重啟或者升級時,觸發所述檢測所述BMC狀態的操作指令。
進一步地,當確定單元302根據檢測到的所述BMC的狀態變化確定所述BMC故障時,所述BMC的狀態變化信息包括BMC狀態故障的原因和/或根據所述BMC狀態故障的原因生成的解決方案。
本申請應用于網絡設備的BMC檢測裝置在具體的處理流程中可以與上述應用于網絡設備的BMC檢測方法的處理流程一致,在此不再贅述。
上述裝置可以通過軟件實現,也可以通過硬件實現,本申請BMC檢測裝置所在網絡設備的硬件架構示意圖均可參考圖4所示,其基本硬件環境包括中央處理器CPU401、轉發芯片402、存儲器403以及其他硬件404,其中存儲器403中包括機器可讀指令,CPU401讀取并執行機器可讀指令執行圖3中各單元的功能。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。