一種基於snmp和ipmi協議的伺服器管理系統及方法
2023-05-12 23:21:56 2
一種基於snmp和ipmi協議的伺服器管理系統及方法
【專利摘要】本發明公開了一種基於SNMP和IPMI協議的伺服器管理系統及方法,屬於伺服器管理【技術領域】。解決的技術問題為如何將SNMP和IPMI協議的優勢統一起來應用於伺服器管理。伺服器管理系統包括伺服器管理單元和網絡管理站;伺服器管理單元包括多個BMC和一個中央BMC及其掛接的傳感器,被管理伺服器上都安設有一個BMC,多個BMC均與中央BMC通信,多個BMC均與傳感器連接;中央BMC包括:IPMI引擎、SNMPTrap轉發模塊、SNMP代理、SNMP代理擴展模塊、IPMI-SNMP消息池。伺服器管理方法使用伺服器管理系統對被管理伺服器進行查詢管理操作、設置管理操作、SNMPTrap轉發管理操作。
【專利說明】[0001] -種基於SNMP和I PM I協議的伺服器管理系統及方法
【技術領域】
[0002] 本發明涉及一種伺服器管理【技術領域】,具體地說是一種基於SNMP和IPMI協議的 伺服器管理系統及方法。
【背景技術】
[0003] SNMP (Simple Network Management Protocol,簡單網絡管理協議)是專門設計 用於管理網絡節點的一種標準協議,它是一種基於IP的應用層協議。SNMP提供GET、SET、 Trap和Inform四類實用的操作,具有簡單高效的特點,被廣泛地應用於網絡管理上,幾乎 各種網絡設備上都可以看到默認啟用的SNMP服務。
[0004] 然而在使用SNMP簡化伺服器管理的同時,勢必會帶來一些問題: (1) SNMP是基於IP的,如果一個伺服器機櫃中存在多個被管理對象,需要佔用多個管 理IP,如果配置公網IP,會造成IP資源的浪費;如果配置私網IP,又無法進行遠程集中管 理。
[0005] (2)伺服器上存在各種非基於IP的傳感器,無法直接採用SNMP進行管理,需要設 備廠商提供專門的函數訪問接口對SNMP Agent進行擴展,往往一種傳感器就需要創建一個 訪問接口,對於很多訪問方式相似的傳感器需要進行重複創建工作。
[0006] (3)很多SNMP的實現採用了管理IP與業務IP重疊的方式,網絡發生故障時,無法 進行網絡管理。
[0007] (4) SNMP提供了基於MIB生成的實現網絡管理的框架,雖然實現簡單但功能有限, 例如SNMP採集到的信息相對簡單,不能滿足諸如獲取系統日誌信息等應用系統性能監控 的需求。
[0008] (5)很多SNMP的實現在系統宕機等嚴重故障發生時,無法正常使用。
[0009] IPMI (Intelligent Platform Management Interface,智能平臺管理接口)是由 Intel、HP、NEC、Dell和SuperMicro等公司共同制定的一種開放標準的硬體管理接口規範。 用戶可以利用IPMI監視伺服器的物理特徵,如溫度、電壓、風扇工作狀態、電源供應以及機 箱入侵等。IPMI最大的優勢在於它是獨立於CPU、BI0S和0S的,所以用戶無論在開機還是 關機的狀態下,只要接通電源就可以實現對伺服器的監控。IPMI提供了豐富的接口,適用於 基於IP和非基於IP的各種應用場景,有效地克服了 SNMP的一些缺陷。但是,伺服器管理 中單獨使用IPMI服務,單獨構建管理網絡會增加一些成本。
【發明內容】
[0010] 本發明的技術任務是提供一種將SNMP使用的普遍性和簡單性與IPMI提供的常用 函數訪問接口和獨立性結合起來,解決了單獨使用其中任何一種協議的缺點,將二者的優 勢統一起來應用於伺服器管理的一種基於SNMP和IPMI協議的伺服器管理系統及方法。 toon] 本發明的技術任務是按以下方式實現的: 一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在於包括伺服器管理單元和網 絡管理站;被管理伺服器為伺服器機櫃的多個刀片或者多個伺服器;伺服器管理單元包括 多個BMC和一個中央BMC及其掛接的傳感器,被管理伺服器上都安設有一個BMC,多個BMC 均通過LAN或者IPMB與中央BMC通信,多個BMC均通過IPMB與傳感器連接;中央BMC包 括:IPMI引擎、SNMP Trap轉發模塊、SNMP代理、SNMP代理擴展模塊、IPMI-SNMP消息池,多 個BMC均通過LAN或者IPMB連接到IPMI引擎,多個BMC均連接SNMP Trap轉發模塊,IPMI 弓丨擎與SNMP Trap轉發模塊互連,IPMI引擎與IPMI-SNMP消息池互連,IPMI-SNMP消息池與 SNMP代理擴展模塊互連,SNMP代理與SNMP代理擴展模塊互連,SNMP Trap轉發模塊及SNMP 代理均通過網絡連接網絡管理站。
[0012] IPMI引擎,用於發送網絡管理站的IPMI請求和接收各個BMC的IPMI響應;SNMP Trap轉發模塊,用於使用IPMI命令從IPMI引擎獲取網絡管理站的IP,對各個BMC發送的 SNMP Trap進行轉發至網絡管理站;SNMP代理,用於向網絡管理站請求信息和動作,通過 SNMP協議對被管理伺服器進行管理;SNMP代理擴展模塊,在由自定義MIB文件生成的代理 擴展框架的基礎上修改而來,以SNMP子代理或者SNMP代理擴展動態連結庫的形式掛接在 SNMP代理上,提供給SNMP代理獲取IPMI-SNMP消息池中的信息;IPMI-SNMP消息池,提供 IPMI消息與SNMP消息的映射表,由IPMI引擎將獲取的各個BMC以及傳感器的IPMI消息被 寫入IPMI-SNMP消息池。
[0013] 網絡管理站採用HP OpenView軟體架構或者是採用Net-SNMP開源項目定製的管 理軟體架構。
[0014] SNMP代理為開源的Net-SNMP提供的代理程序架構。
[0015] 傳感器為非智能的I2C傳感器。
[0016] 一種基於SNMP和IPMI協議的伺服器管理方法,使用伺服器管理系統對被管理服 務器進行查詢管理操作,將各個BMC分別用0ID標識,包括步驟如下: ① 、IPMI引擎將各個BMC及傳感器的IPMI消息寫入IPMI-SNMP消息池; ② 、IPMI-SNMP消息池,提供IPMI消息與SNMP消息的映射表; ③ 、網絡管理站向中央BMC上的SNMP代理髮送SNMP查詢請求; ④ 、SNMP代理根據SNMP查詢請求內的0ID判斷對應的BMC所在的被管理伺服器; ⑤ 、將此SNMP查詢請求轉發到SNMP代理擴展模塊; ⑥ 、SNMP代理擴展模塊通過IPMI-SNMP消息池獲取相應的被管理伺服器的IPMI消息, 並根據IPMI-SNMP消息池中的映射表將IPMI消息轉換成SNMP消息返回給SNMP代理; ⑦ 、SNMP代理以SNMP PDU的形式將此SNMP消息發送給網絡管理站。
[0017] 一種基於SNMP和IPMI協議的伺服器管理方法,使用伺服器管理系統對被管理服 務器進行設置管理操作,將各個BMC分別用0ID標識,包括步驟如下: ① 、IPMI引擎將各個BMC及傳感器的IPMI消息寫入IPMI-SNMP消息池; ② 、IPMI-SNMP消息池,提供IPMI消息與SNMP消息的映射表; ③ 、網絡管理站向中央BMC上的SNMP代理髮送設置請求; ④ 、SNMP代理根據設置請求內的0ID判斷對應BMC所在的被管理伺服器; ⑤ 、S匪代理將此設置請求轉發到SNMP代理擴展模塊; ⑥ 、SNMP代理擴展模塊設置IPMI-SNMP消息池中的IPMI消息欄位; ⑦ 、觸發IPMI引擎將打包了此設置信息的IPMI命令發送至相應的被管理伺服器的 BMC,由BMC執行最終的設置管理操作。
[0018] 一種基於SNMP和IPMI協議的伺服器管理方法,使用伺服器管理系統對被管理服 務器進行SNMP Trap轉發管理操作,包括步驟如下: ① 、各個BMC產生的SNMP Trap通過LAN發送到SNMP Trap轉發模塊; ② 、SNMP Trap轉發模塊對接收到的SNMP Trap不做任何解析處理直接轉發到網絡管 理站。
[0019] 本發明的一種基於SNMP和IPMI協議的伺服器管理系統及方法具有以下優點: 1、 被管理伺服器為伺服器機櫃的多個刀片或者多個伺服器;若為伺服器機櫃的多個刀 片,則各個刀片上均設置有一個BMC ;若為多個伺服器,則各個伺服器上均設置有一個BMC, 通過伺服器管理的系統,將SNMP和IPMI協議的優勢統一起來應用於伺服器管理; 2、 利用IPMI現有的成熟的函數訪問接口查詢被管理伺服器的各種健康信息,並根據 IPMI-SNMP消息池中的映射錶轉換成SNMP消息發送到網絡管理站; 3、 SNMP消息修改IPMI-SNMP消息池中的數據,觸發IPMI引擎發送IPMI命令對各個BMC 管理的參數進行設置; 4、 整個伺服器管理單元對外顯示的IP就是中央BMC的IP,使整個伺服器管理單元對外 呈現一個統一的整體; 5、 利用IPMI命令獲取網絡管理站的IP,對各個BMC發送的SNMP Trap不做解析處理直 接轉發,簡化了處理流程。
【專利附圖】
【附圖說明】
[0020] 下面結合附圖對本發明進一步說明。
[0021] 附圖1為一種基於SNMP和IPMI協議的伺服器管理系統的結構框圖。
【具體實施方式】
[0022] 參照說明書附圖和具體實施例對本發明的一種基於SNMP和IPMI協議的伺服器管 理系統及方法作以下詳細地說明。
[0023] 實施例1 : 本發明的一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在於包括伺服器管理 單元和網絡管理站;被管理伺服器為伺服器機櫃的多個刀片或者多個伺服器; 伺服器管理單元包括多個BMC和一個中央BMC及其掛接的傳感器,被管理伺服器上都 安設有一個BMC,多個BMC均通過LAN或者IPMB與中央BMC通信,多個BMC均通過IPMB與 傳感器連接; 中央BMC包括:IPMI引擎、SNMP Trap轉發模塊、SNMP代理、SNMP代理擴展模塊、 IPMI-SNMP消息池,多個BMC均通過LAN或者IPMB連接到IPMI引擎,多個BMC均連接SNMP Trap轉發模塊,IPMI引擎與SNMP Trap轉發模塊互連,IPMI引擎與IPMI-SNMP消息池互連, IPMI-SNMP消息池與SNMP代理擴展模塊互連,SNMP代理與SNMP代理擴展模塊互連,SNMP Trap轉發模塊及SNMP代理均通過網絡連接網絡管理站。
[0024] IPMI引擎,用於發送網絡管理站的IPMI請求和接收各個BMC的IPMI響應;SNMP Trap轉發模塊,用於使用IPMI命令從IPMI引擎獲取網絡管理站的IP,對各個BMC發送的 SNMP Trap進行轉發至網絡管理站;SNMP代理,用於向網絡管理站請求信息和動作,通過 SNMP協議對被管理伺服器進行管理;SNMP代理擴展模塊,在由自定義MIB文件生成的代理 擴展框架的基礎上修改而來,以SNMP子代理或者SNMP代理擴展動態連結庫的形式掛接在 SNMP代理上,提供給SNMP代理獲取IPMI-SNMP消息池中的信息;IPMI-SNMP消息池,提供 IPMI消息與SNMP消息的映射表,由IPMI引擎將獲取的各個BMC以及傳感器的IPMI消息被 寫入IPMI-SNMP消息池。
[0025] BMC可以位於伺服器機櫃的各個刀片上,也可以位於不同的伺服器上,BMC能夠支 持完整的IPMI協議,通過LAN或者IPMB與中央BMC通信,BMC的IP在伺服器管理單元內 是唯一的;中央BMC是伺服器管理單元的核心,需要支持完整的IPMI協議,整個伺服器管理 單元對外顯示的IP就是中央BMC的IP。
[0026] 網絡管理站(英文全稱為Network Management Station),也稱為網絡管理終端或 網絡管理測量點。
[0027] BMC,英文全稱為Baseboard Management Controller,翻譯為基板管理控制器。提 供下列功能:與IPMI協議的兼容性、用於風扇轉速監視的轉速計輸入、用於風扇轉速控制 的脈衝寬度調節器輸出、用於前面板按鈕和開關的按鈕輸入、與伺服器控制臺埠進行多 路傳輸的一個串行埠、遠程訪問和ICMB (Intelligent Chassis Management Bus,智能 機箱管理總線)支持、三I2C主埠和備用埠(其中一個埠用於智能機箱管理總線)。
[0028] LAN,英文全稱Local Area Network,翻譯為區域網,是在一個局部的地理範圍內 (如一個學校、工廠和機關內),一般是方圓幾千米以內,將各種計算機,外部設備和資料庫 等互相聯接起來組成的計算機通信網。
[0029] IPMB,英文全稱 Intelligent Platform Management BUS,翻譯為智能平臺管理總 線。
[0030] SNMP trap,即SNMP陷阱(或者SNMP異常),為被管理伺服器的錯誤情況或異常情 況。
[0031] 實施例2: 本發明的一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在於包括伺服器管理 單元和網絡管理站;被管理伺服器為伺服器機櫃的多個刀片或者多個伺服器; 伺服器管理單元包括多個BMC和一個中央BMC及其掛接的傳感器,被管理伺服器上都 安設有一個BMC,多個BMC均通過LAN或者IPMB與中央BMC通信,多個BMC均通過IPMB與 傳感器連接; 中央BMC包括:IPMI引擎、SNMP Trap轉發模塊、SNMP代理、SNMP代理擴展模塊、 IPMI-SNMP消息池,多個BMC均通過LAN或者IPMB連接到IPMI引擎,多個BMC均連接SNMP Trap轉發模塊,IPMI引擎與SNMP Trap轉發模塊互連,IPMI引擎與IPMI-SNMP消息池互連, IPMI-SNMP消息池與SNMP代理擴展模塊互連,SNMP代理與SNMP代理擴展模塊互連,SNMP Trap轉發模塊及SNMP代理均通過網絡連接網絡管理站。
[0032] IPMI引擎,用於發送網絡管理站的IPMI請求和接收各個BMC的IPMI響應;SNMP Trap轉發模塊,用於使用IPMI命令從IPMI引擎獲取網絡管理站的IP,對各個BMC發送的 SNMP Trap進行轉發至網絡管理站;SNMP代理,用於向網絡管理站請求信息和動作,通過 SNMP協議對被管理伺服器進行管理;SNMP代理擴展模塊,在由自定義MIB文件生成的代理 擴展框架的基礎上修改而來,以SNMP子代理或者SNMP代理擴展動態連結庫的形式掛接在 SNMP代理上,提供給SNMP代理獲取IPMI-SNMP消息池中的信息;IPMI-SNMP消息池,提供 IPMI消息與SNMP消息的映射表,由IPMI引擎將獲取的各個BMC以及傳感器的IPMI消息被 寫入IPMI-SNMP消息池。
[0033] 網絡管理站採用HP OpenView軟體架構或者是採用Net-SNMP開源項目定製的管 理軟體架構。
[0034] SNMP代理為開源的Net-SNMP提供的代理程序架構。
[0035] 傳感器為非智能的I2C傳感器。
[0036] HP OpenView產品是惠普公司出品的電子業務管理工具程序。客戶可以利用 OpenView來管理伺服器的應用程式、硬體設備、網絡配置和狀態,系統性能、業務以及程序 維護,還能進行存儲管理。
[0037] Net-SNMP是一個免費的、開放源碼的SNMP實現。它包括agent和多個管理工具的 原始碼,支持多種擴展方式。不僅擴展了獲取方式,而且對於數據類型也有一定的擴展。
[0038] 本發明並不局限於本實施例提到的這種網絡管理站或SNMP代理,任何能實現本 發明權利要求的功能的網絡管理站或SNMP代理均可使用。
[0039] 實施例3 : 本發明的一種基於SNMP和IPMI協議的伺服器管理方法,使用伺服器管理系統對被管 理伺服器進行查詢管理操作,將各個BMC分別用0ID標識,包括步驟如下: ① 、IPMI引擎將各個BMC及傳感器的IPMI消息寫入IPMI-SNMP消息池; ② 、IPMI-SNMP消息池,提供IPMI消息與SNMP消息的映射表; ③ 、網絡管理站向中央BMC上的SNMP代理髮送SNMP查詢請求; ④ 、SNMP代理根據SNMP查詢請求內的0ID判斷對應的BMC所在的被管理伺服器; ⑤ 、將此SNMP查詢請求轉發到SNMP代理擴展模塊; ⑥ 、SNMP代理擴展模塊通過IPMI-SNMP消息池獲取相應的被管理伺服器的IPMI消息, 並根據IPMI-SNMP消息池中的映射表將IPMI消息轉換成SNMP消息返回給SNMP代理; ⑦ 、SNMP代理以SNMP PDU的形式將此SNMP消息發送給網絡管理站。
[0040] 0ID即對象標識符,是為找到區分整體中的對象而添加的標記。
[0041] 實施例4: 本發明的一種基於SNMP和IPMI協議的伺服器管理方法,使用伺服器管理系統對被管 理伺服器進行設置管理操作,將各個BMC分別用0ID標識,包括步驟如下: ① 、IPMI引擎將各個BMC及傳感器的IPMI消息寫入IPMI-SNMP消息池; ② 、IPMI-SNMP消息池,提供IPMI消息與SNMP消息的映射表; ③ 、網絡管理站向中央BMC上的SNMP代理髮送設置請求; ④ 、SNMP代理根據設置請求內的0ID判斷對應BMC所在的被管理伺服器; ⑤ 、S匪代理將此設置請求轉發到SNMP代理擴展模塊; ⑥ 、SNMP代理擴展模塊設置IPMI-SNMP消息池中的IPMI消息欄位; ⑦ 、觸發IPMI引擎將打包了此設置信息的IPMI命令發送至相應的被管理伺服器的 BMC,由BMC執行最終的設置管理操作。
[0042] 實施例5 : 本發明的一種基於SNMP和IPMI協議的伺服器管理方法,使用伺服器管理系統對被管 理伺服器進行SNMP Trap轉發管理操作,包括步驟如下: ① 、各個BMC產生的SNMP Trap通過LAN發送到SNMP Trap轉發模塊; ② 、SNMP Trap轉發模塊對接收到的SNMP Trap不做任何解析處理直接轉發到網絡管 理站。
[〇〇43] 上述【具體實施方式】僅是本發明的具體個案,本發明的專利保護範圍包括但不限於 上述【具體實施方式】,任何符合本發明的一種基於SNMP和IPMI協議的伺服器管理系統及方 法的權利要求書的且任何所屬【技術領域】的普通技術人員對其所做的適當變化或替換,皆應 落入本發明的專利保護範圍。
【權利要求】
1. 一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在於包括伺服器管理單元和 網絡管理站;被管理伺服器為伺服器機櫃的多個刀片或者多個伺服器; 伺服器管理單元包括多個BMC和一個中央BMC及其掛接的傳感器,被管理伺服器上都 安設有一個BMC,多個BMC均通過LAN或者IPMB與中央BMC通信,多個BMC均通過IPMB與 傳感器連接; 中央BMC包括:IPMI引擎、SNMP Trap轉發模塊、SNMP代理、SNMP代理擴展模塊、 IPMI-SNMP消息池,多個BMC均通過LAN或者IPMB連接到IPMI引擎,多個BMC均連接SNMP Trap轉發模塊,IPMI引擎與SNMP Trap轉發模塊互連,IPMI引擎與IPMI-SNMP消息池互連, IPMI-SNMP消息池與SNMP代理擴展模塊互連,SNMP代理與SNMP代理擴展模塊互連,SNMP Trap轉發模塊及SNMP代理均通過網絡連接網絡管理站。
2. 根據權利要求1所述的一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在 於IPMI引擎,用於發送網絡管理站的IPMI請求和接收各個BMC的IPMI響應;SNMP Trap 轉發模塊,用於使用IPMI命令從IPMI引擎獲取網絡管理站的IP,對各個BMC發送的SNMP Trap進行轉發至網絡管理站;SNMP代理,用於向網絡管理站請求信息和動作,通過SNMP協 議對被管理伺服器進行管理;SNMP代理擴展模塊,以SNMP子代理或者SNMP代理擴展動 態連結庫的形式掛接在SNMP代理上,提供給SNMP代理獲取IPMI-SNMP消息池中的信息; IPMI-SNMP消息池,提供IPMI消息與SNMP消息的映射表,由IPMI引擎將獲取的各個BMC以 及傳感器的IPMI消息被寫入IPMI-SNMP消息池。
3. 根據權利要求2所述的一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在於 網絡管理站採用HP OpenView軟體架構或者是採用Net-SNMP開源項目定製的管理軟體架 構。
4. 根據權利要求2所述的一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在於 SNMP代理為開源的Net-SNMP提供的代理程序架構。
5. 根據權利要求2所述的一種基於SNMP和IPMI協議的伺服器管理系統,其特徵在於 傳感器為非智能的I2C傳感器。
6. 一種基於SNMP和IPMI協議的伺服器管理方法,其特徵在於使用權利要求1至5中 任意一項的伺服器管理系統對被管理伺服器進行查詢管理操作,將各個BMC分別用0ID標 識,包括步驟如下: ① 、IPMI引擎將各個BMC及傳感器的IPMI消息寫入IPMI-SNMP消息池; ② 、IPMI-SNMP消息池,提供IPMI消息與SNMP消息的映射表; ③ 、網絡管理站向中央BMC上的SNMP代理髮送SNMP查詢請求; ④ 、SNMP代理根據SNMP查詢請求內的0ID判斷對應的BMC所在的被管理伺服器; ⑤ 、將此SNMP查詢請求轉發到SNMP代理擴展模塊; ⑥ 、SNMP代理擴展模塊通過IPMI-SNMP消息池獲取相應的被管理伺服器的IPMI消息, 並根據IPMI-SNMP消息池中的映射表將IPMI消息轉換成SNMP消息返回給SNMP代理; ⑦ 、SNMP代理以SNMP PDU的形式將此SNMP消息發送給網絡管理站。
7. -種基於SNMP和IPMI協議的伺服器管理方法,其特徵在於使用權利要求1至5中 任意一項的伺服器管理系統對被管理伺服器進行設置管理操作,將各個BMC分別用0ID標 識,包括步驟如下: ① 、IPMI引擎將各個BMC及傳感器的IPMI消息寫入IPMI-SNMP消息池; ② 、IPMI-SNMP消息池,提供IPMI消息與SNMP消息的映射表; ③ 、網絡管理站向中央BMC上的SNMP代理髮送設置請求; ④ 、SNMP代理根據設置請求內的OID判斷對應BMC所在的被管理伺服器; ⑤ 、S匪代理將此設置請求轉發到SNMP代理擴展模塊; ⑥ 、SNMP代理擴展模塊設置IPMI-SNMP消息池中的IPMI消息欄位; ⑦ 、觸發IPMI引擎將打包了此設置信息的IPMI命令發送至相應的被管理伺服器的 BMC,由BMC執行最終的設置管理操作。
8. -種基於SNMP和IPMI協議的伺服器管理方法,其特徵在於使用權利要求1至5中任 意一項的伺服器管理系統對被管理伺服器進行SNMP Trap轉發管理操作,包括步驟如下: ① 、各個BMC產生的SNMP Trap通過LAN發送到SNMP Trap轉發模塊; ② 、SNMP Trap轉發模塊對接收到的SNMP Trap直接轉發到網絡管理站。
【文檔編號】H04L12/24GK104104543SQ201410340578
【公開日】2014年10月15日 申請日期:2014年7月17日 優先權日:2014年7月17日
【發明者】李清石, 張雁鵬, 劉強 申請人:浪潮集團有限公司