本發明涉及集群領域,具體來說,涉及一種用于集群的UPS供電方法和裝置。
背景技術:
UPS(Uninterruptible Power System/Uninterruptible Power Supply,不間斷電源)是將蓄電池與主機相連接,通過主機逆變器等模塊電路將直流電轉換成市電的系統設備,其中,UPS系統對于高性能計算集群系統至關重要,由于高性能計算集群系統建設成本高昂,其承載的數據也至關重要,異常斷掉導致的系統異常停機不僅可能直接損壞系統硬件,而且可能對系統內數據造成不可預知的損壞,因此,目前建設的高性能計算集群系統都會配置以UPS提供不間斷供電,例如:在當市電輸入正常時,UPS將市電穩壓后供應給集群使用,同時向電池充電;當市電中斷(如事故停電)時,UPS立即將電池的直流電能,通過逆變零切換轉換的方法向集群繼續供應,以維持集群系統不間斷的正常工作,但是目前技術主要存在以下不足:
UPS支撐時間短:受限于UPS成本和技術,不可能配置無限制容量的UPS電池來支撐高性能計算集群系統長時間運行,例如通常只會配置能夠支撐系統不間斷運行30分鐘的UPS電池容量;
需人工干預:當突然出現市電中斷時,需要管理人員在UPS電池供電時間內完成所有設備的關機操作,而當市電恢復時,需要人工前往機房完成所有設備開機;
人工響應不及時:當市電異常中斷后,由于受制于人工反應,極有可能無法在UPS支撐供電時間內完成所有設備關機,造成所有設備斷電異常關閉,從而可能引起硬件故障或數據異常。
針對相關技術中的問題,目前尚未提出有效的解決方案。
技術實現要素:
針對相關技術中的問題,本發明提出一種用于集群的UPS供電方法和裝置,能夠實現UPS電池供電的短時間內,快速有序的對集群系統進行自動關閉,避免市電意外中斷后,人工響應慢,導致整套系統異常關閉帶來的硬件和數據損壞風險。
本發明的技術方案是這樣實現的:
根據本發明的一個方面,提供了一種用于集群的UPS供電方法。
該UPS供電方法包括:獲取市電輸入的中斷信息;根據中斷信息,打開UPS電池給集群供電,并且獲取UPS電池的供電時間;根據供電時間,依次關閉集群中的節點。
根據本發明的一個實施例,獲取市電輸入的中斷信息包括:定時獲取市電的輸入電壓;在輸入電壓等于0的情況下,獲取市電輸入的中斷信息。
根據本發明的一個實施例,集群中的節點包括:管理節點、非管理節點。
根據本發明的一個實施例,根據供電時間,依次關閉集群中的節點包括:根據供電時間,確定供電時間的閾值;在供電時間達到閾值的情況下,依次關閉非管理節點、管理節點。
根據本發明的一個實施例,通過遠程操作的方式關閉非管理節點。
根據本發明的另一方面,提供了一種用于集群的UPS供電裝置。
該UPS供電裝置包括:獲取模塊,用于獲取市電輸入的中斷信息;打開獲取模塊,用于根據中斷信息,打開UPS電池給集群供電,并且獲取UPS電池的供電時間;關閉模塊,用于根據供電時間,依次關閉集群中的節點。
根據本發明的一個實施例,獲取模塊包括:定時獲取模塊,用于定時獲取市電的輸入電壓;獲取子模塊,用于在輸入電壓等于0的情況下,獲取市電輸入的中斷信息。
根據本發明的一個實施例,集群中的節點包括:管理節點、非管理節點。
根據本發明的一個實施例,關閉模塊包括:確定模塊,用于根據供電時間,確定供電時間的閾值;關閉子模塊,用于在供電時間達到閾值的情況下,依次關閉非管理節點、管理節點。
根據本發明的一個實施例,關閉子模塊包括:遠程操作模塊,用于通過遠程操作的方式關閉非管理節點。
本發明的有益技術效果在于:
本發明通過獲取市電輸入的中斷信息,隨后根據中斷信息,打開UPS電池給集群供電,并且獲取UPS電池的供電時間,最后根據供電時間,依次關閉集群中的節點,從而能夠在UPS電池供電時間內,快速有序的對集群系統進行自動關閉,避免市電意外中斷后,人工響應慢,導致整套系統異常關閉帶來的硬件和數據損壞風險。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是根據本發明實施例的用于集群的UPS供電方法的流程圖;
圖2是根據本發明實施例的用于集群的UPS供電方法的具體流程圖;
圖3是根據本發明實施例的用于集群的UPS供電裝置的框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例?;诒景l明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發明保護的范圍。
根據本發明的實施例,提供了一種用于集群的UPS供電方法。
如圖1所示,根據本發明實施例的UPS供電方法包括:
步驟S101,獲取市電輸入的中斷信息;
步驟S103,根據中斷信息,打開UPS電池給集群供電,并且獲取UPS電池的供電時間;
步驟S105,根據供電時間,依次關閉集群中的節點。
通過本發明的上述方案,通過獲取市電輸入的中斷信息,隨后根據中斷信息,打開UPS電池給集群供電,并且獲取UPS電池的供電時間,最后根據供電時間,依次關閉集群中的節點,從而能夠在UPS電池供電時間內,快速有序的對集群系統進行自動關閉,避免市電意外中斷后,人工響應慢,導致整套系統異常關閉帶來的硬件和數據損壞風險。
根據本發明的一個實施例,獲取市電輸入的中斷信息包括:定時獲取市電的輸入電壓;在輸入電壓等于0的情況下,獲取市電輸入的中斷信息。
根據本發明的一個實施例,集群中的節點包括:管理節點、非管理節點。
根據本發明的一個實施例,根據供電時間,依次關閉集群中的節點包括:根據供電時間,確定供電時間的閾值;在供電時間達到閾值的情況下,依次關閉非管理節點、管理節點。
根據本發明的一個實施例,通過遠程操作的方式關閉非管理節點。
為了更好的描述本發明,通過具體的實施例對本發明進行詳細的描述。
如圖2所示,步驟S1,新循環開始;
步驟S2,用于判斷UPS電池是否供電,通過在高性能計算集群的管理節點上部署監控軟件,通過SNMP(Simple Network Management Protocol,簡單網絡管理協議)與UPS進行通信,定時根據OID(Object Identifier,對象標識符)號獲取UPS的市電輸入電壓情況,當獲取到輸入電壓為0時,說明市電供應已經中斷,從而將UPS的電池狀態設置為開啟,表明UPS已經進入電池供電狀態,執行步驟S3,若未獲取到輸入電壓為0時,繼續通過市電正常供應,執行步驟S13,其中,本發明通過SNMP實現集群與UPS的通信,以獲取UPS信息,如輸入電壓,輸出電壓,電池余量等,OID號可表示UPS的各項參數,如輸入電壓,均有唯一的OID與之對應,因此,本發明通過查詢對應的OID值獲取UPS相關參數;
步驟S3,判斷市電供應是否恢復正常,若恢復正常,則執行步驟S4,若未恢復正常,執行步驟S6;
步驟S4,通過日志輸出市電恢復正常,同時,刪除標記1、標記2,其中,標記1為UPS_BATTERY_ON,標記2為NODES_OFF;
步驟S5,進入下一輪循環;
步驟S6,判斷電池供電時間是否大于用戶設定的供電時間的閾值,若供電時間大于閾值,則執行步驟S7,若供電時間小于閾值,則執行步驟S12,當然可以理解,此處,用戶設定的閾值適用于UPS電池充滿以及集群全部工作的情況,當然可以理解,存在著電池未充滿以及集群的節點未全部開啟的情況,這種情況下,可根據電池的電量計算供電閾值,從而具有更大的適用性;
步驟S7,判斷標記2是否存在,若標記2存在,則執行步驟S8,若標記2不存在,則執行步驟S10;
步驟S8,標記2存在則表明列表中的節點已經關機,并且通過日志輸出;
步驟S9,進入下一循環;
步驟S10,設置標記2,并關閉列表中的節點;
步驟S11,進入下一循環;
步驟S12,進入下一循環;
步驟S13,判斷市電供應是否恢復正常,若恢復正常,則執行步驟S14,若未恢復正常,執行步驟S15;
步驟S14,進入下一循環;
步驟S15,通過日志輸出市電中斷,并且設置標記1,以及準備關機列表;
步驟S16,進入下一循環。
通過上述方法,在市電供應異常中斷后,管理節點能夠自動發現市電供應異常,并將供電時間與用戶設置的關機時間閾值(或計算的閾值)進行比對,當UPS供電時間達到閾值后,管理節點通過IPMI(Intelligent Platform Management Interface,智能平臺管理接口)對其余節點進行遠程關機操作,并且關機操作會按照計算節點、協處理器節點、其他計算資源節點、登錄節點、存儲系統的順序有序進行關閉,其中,IPMI是一種開放標準的硬件管理接口規格,定義了嵌入式管理子系統進行通信的特定方法,本發明通過IPMI向高性能計算集群發出遠程開關機操作,其中,時間閾值為設置關機時間上限的值,當UPS電池供電時間達到此值,會發出系統有序關閉的指令,當然可以理解,可根據實際UPS配置容量等情況計算該閾值。
此外,上述方法不僅僅適用于高性能計算集群系統,同時適用于接入UPS的任何Linux系統服務器或工作站,實現對關鍵服務器設備的智能供電功能。
根據本發明的實施例,還提供了一種用于集群的UPS供電裝置。
如圖3所示,根據本發明實施例的UPS供電裝置包括:
獲取模塊31,用于獲取市電輸入的中斷信息;
打開獲取模塊32,用于根據中斷信息,打開UPS電池給集群供電,并且獲取UPS電池的供電時間;
關閉模塊33,用于根據供電時間,依次關閉集群中的節點。
根據本發明的一個實施例,獲取模塊31包括:定時獲取模塊(未示出),用于定時獲取市電的輸入電壓;獲取子模塊(未示出),用于在輸入電壓等于0的情況下,獲取市電輸入的中斷信息。
根據本發明的一個實施例,集群中的節點包括:管理節點、非管理節點。
根據本發明的一個實施例,關閉模塊33包括:確定模塊(未示出),用于根據供電時間,確定供電時間的閾值;關閉子模塊(未示出),用于在供電時間達到閾值的情況下,依次關閉非管理節點、管理節點。
根據本發明的一個實施例,關閉子模塊包括:遠程操作模塊(未示出),用于通過遠程操作的方式關閉非管理節點。
綜上所述,借助于本發明的上述技術方案,通過獲取市電輸入的中斷信息,隨后根據中斷信息,打開UPS電池給集群供電,并且獲取UPS電池的供電時間,最后根據供電時間,依次關閉集群中的節點,從而能夠在UPS電池供電時間內,快速有序的對集群系統進行自動關閉,避免市電意外中斷后,人工響應慢,導致整套系統異常關閉帶來的硬件和數據損壞風險。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。