天天看點

使用IPMI管理Linux伺服器

1、IPMI(Intelligent Platform Management Interface): 即智能平台管理接口是使硬體管理具備“智能化”的新一代通用接口标準。使用者可以利用 IPMI 監視伺服器的實體特征,如溫度、電壓、電扇工作狀态、電源供應以及機箱入侵等。ipmi最大的優勢在于它是獨立于CPU BIOS和OS的,是以使用者無論在開機還是關機的狀态下,隻要接通電源就可以實作對伺服器的監控。ipmi是一種規範的标準,由美國英特爾、惠普(Hewlett-Packard)、NEC、美國戴爾電腦和SuperMicro等公司制定。新的版本是IPMI2.0(http://www.intel.com/design/servers/ipmi/)。其中最重要的實體部件就是BMC(Baseboard Management Controller),一種嵌入式管理微控制器,它相當于整個平台管理的“大腦”,通過它ipmi可以監控各個傳感器的資料并記錄各種事件的日志。

新版本的IPMI可以通過序列槽、Modem以及Lan等遠端環境管理伺服器系統(包括遠端開關機),同時在系統發生錯誤時能自動發出警告。要對伺服器進行IPMI管理,需要被監控的系統具有支援IPMI的硬體裝置。如果伺服器具有底闆管理控制器 (Baseboard Management Controller ,BMC),并且支援IPMI規範,則通過BMC與主機闆上的不同傳感器通信來監視系統是否有嚴重事件,并在某些參數超出其預置門檻值時發出警報和日志事件。BMC具有以下功能:

(1)通過系統的串行端口進行通路。

(2)故障日志記錄和SNMP警報發送。

(3)通路系統事件日志 (System Event Log ,SEL) 和傳感器狀況。

(4)控制包括開機和關機。

(5)獨立于系統電源或工作狀态的支援。

(6)用于系統設定、基于文本公用程式和作業系統控制台的文本控制台重定向。

(7)使用LAN通路Red Hat Enterprise Linux串行控制台界面。

2、使用ipmi的先決條件: 想要實作對伺服器的ipmi管理,必須在硬體、OS、管理工具等幾個方面都滿足。

(1)伺服器硬體本身提供對ipmi的支援。

(2)目前IBM、HP、Dell和NEC等大多數廠商的伺服器都支援IPMI,但并不是所有伺服器都支援,是以應該先通過産品手冊或在BIOS中确定伺服器是否支援ipmi,也就是說伺服器在主機闆上要具有BMC等嵌入式的管理微控制器。

(3)作業系統提供相應的ipmi驅動。通過作業系統監控伺服器自身的ipmi資訊時需要系統核心提供相應的支援,linux系統通過核心對OpenIPMI(ipmi驅動)的支援來提供對ipmi的系統接口。

3、用IPMI管理工具對伺服器進行管理: IPMI可以通過本地和遠端兩種方式來擷取被監控伺服器的監測資訊,兩種方式都需要相關的硬體,但是軟體的安裝和軟體指令使用稍微有所不同。常用的管理工具是ipmitool,在http://ipmitool.sourceforge.net/。Linux下需要先安裝OpenIPMI驅動并啟動它,在http://sourceforge.net/projects/openipmi/。SourceForge上的ipmitool隻支援Linux/Unix系列的OS,不過它有很多針對Windows的移植版本,比如Sun公司的一個版本。在http://www.sun.com/download/上點選Downloads A-Z,找到字母I的分類,可下載下傳支援Windows平台的ipmitool,目前版本為1.8.10.2,內建的ipmi驅動有ism, ms, lan, lanplus, rmcp+lan等,其中ms表示Microsoft的ipmi驅動。注意驅動必須安裝在伺服器的OS中,管理工具可以安裝伺服器上(本地管理),或者遠端的用戶端上(遠端管理)。

Linux上啟動OpenIPMI驅動子產品常用/etc/init.d/ipmi start。啟動ipmi驅動後,通過cat /proc/devices | grep ipmidev獲得裝置号,比如得到的裝置号是253,用mknod -m 600 /dev/ipmi0 c 253 0建立檔案索引點。然後就可以在本地伺服器上運作各種ipmi工具擷取相應的伺服器資訊了。

4、使用ipmitool本地擷取資訊。

ipmitool本地監控使用指令: ipmitool –I open command,其中-I open表示使用OpenIPMI接口,Windows下則常用-I ms。command有以下項:

a) raw:發送一個原始的IPMI請求,并且列印回複資訊。

b) Lan:配置網絡(lan)信道(channel)

c) chassis :檢視底盤的狀态和設定電源

d) event:向BMC發送一個已經定義的事件(event),可用于測試配置的SNMP是否成功

e) mc:檢視MC(Management Contollor)狀态和各種允許的項

f) sdr:列印傳感器倉庫中的所有監控項和從傳感器讀取到的值。

g) Sensor:列印詳細的傳感器資訊。

h) Fru:列印内建的Field Replaceable Unit (FRU)資訊

i) Sel:列印 System Event Log (SEL)

j) Pef:設定 Platform Event Filtering (PEF),事件過濾平台用于在監控系統發現有event時候,用PEF中的政策進行事件過濾,然後看是否需要報警。

k) Sol/isol:用于配置通過序列槽的Lan進行監控

l) User:設定BMC中使用者的資訊 。

m) Channel:設定Management Controller信道。

ipmitool –I open sensor list指令可以擷取傳感器中的各種監測值和該值的監測門檻值,包括(CPU溫度,電壓,風扇轉速,電源調制子產品溫度,電源電壓等資訊)

ipmitool –I open sensor get “CPU0Temp”可以擷取ID為CPU0Temp監測值,CPU0Temp是sensor的ID,伺服器不同,ID表示也不同。

ipmitool –I open sensor thresh 設定ID值等于id的監測項的各種限制值。

ipmitool –I open chassis status檢視底盤狀态,其中包括了底盤電源資訊,底盤工作狀态等

ipmitool –I open chassis restart_cause檢視上次系統重新開機的原因

ipmitool –I open chassis  policy list 檢視支援的底盤電源相關政策。

ipmitool –I open chassis power on啟動底盤,用此指令可以遠端開機

ipmitool –I open chassis power off關閉底盤,用此指令可以遠端開機

ipmitool –I open chassis power reset實作硬重新開機,用此指令可以遠端開機

ipmi還可以設定系統啟動boot的裝置,具體見ipmitool幫助文檔。

ipmitool –I open mc reset 使BMC重新硬啟動

ipmitool –I open mc info 檢視BMC硬體資訊

ipmitool –I open mc getenables 列出BMC所有允許的選項

ipmitool –I open mc setenables

ipmitool-I open event 1 發送一個溫度過高的消息到System Event Log中,可以發送的Event有:

(1) Temperature: Upper Critical: Going High

(2) Voltage Threshold: Lower Critical: Going Low

(3) Memory: Correctable ECC Error Detected

ipmitool-I open event指令可以用測試配置的IPMI中的snmp功能是否成功。

ipmitool -I open lan print 1 列印現咱channel 1的資訊 。

ipmitool -I open lan set 1 ipaddr 10.10.113.95設定channel 1 的位址為10.10.113.95

ipmitool -I open lan set 1 snmp public設定channel 1 上snmp的community為public。

ipmitool -I open lan set 1 access on設定channel 1允許通路。

ipmitool -I open pef info列印Platform Event Filtering (pef)資訊

ipmitool -I open pef status檢視Platform Event Filtering (pef)狀态

ipmitool -I open pef policy檢視Platform Event Filtering (pef)政策設定

ipmitool -I open sdr list fru 讀取fru資訊并顯示。

備注:PEF由BMC廠商的FIRMWARE設定,ipmitool(V1.8.8)不能進行設定。

5、使用ipmitool擷取遠端伺服器資訊。

ipmitool指令需要通過相應的interface來通路BMC,在本地擷取資訊時候采用的是-I open,即為OpenIPMI接口,IPMItool指令包含的接口有open、lan、lanplus。其中open是指的是OpenIPMI與BMC通信,lan是通過Ethernet LAN網用IPV4的udp協定與BMC通信。UDP的資料段包含了IPMI request/resoponse消息,消息具有一個IPMI session頭和RMCP頭。IPMI使用Remote Management Control Protocol (RMCP) 版本1支援作業系統關閉(pre-OS和OS-absent),RMCP把把資料發送到UDP的623端口。像lan接口一樣,lanplus同樣使用Ethernet LAN的UDP協定與BMC通信,但是lanplus使用rmcp+協定(在IPMIV2.0中描述)來通信,RMCP+允許使用改經的認證方式和資料完整性檢查。Open端口用于本地監控系統使用的;lan/lanplus通過網絡進行遠端監控。

遠端擷取伺服器監控資訊時,需要加上遠端伺服器的位址。使用以下的指令格式:

ipmitool -H 10.6.77.249 -U root -P changeme -I lan command。

其中-H表示後面跟的是伺服器的位址,-U表示後面跟着使用者名,-P表示後面跟着使用者密碼,command與本地擷取資訊相同。

繼續閱讀