使用ipmi進行服務器管理

 

IPMI介紹
智能平臺管理界面(IPMI,Intelligent Platform Management Interface)是管理基於 Intel® 結構的企業系統中所使用的外圍設備採用的一種工業標準,用戶可以利用IPMI監視服務器的物理健康特徵,如溫度、電壓、風扇工作狀態、電源狀態等。該標準由美國英特爾、惠普(Hewlett-Packard)、NEC、美國戴爾電腦和SuperMicro等公司制定。新的版本是IPMI2.0(http://www.intel.com/design/servers/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 串行控制檯界面

IPMI應用
所舉應用都基於以下平臺:
        服務器:超毅
        主板:TyanS5353
        服務器監控卡(SMDC,Server Management Daughter Card):M3291
        Ipmitool版本:ipmitool version 1.8.8
        Ipmitool版本:ipmiutil-1.7.4-1
        OpenIPMI版本:OpenIPMI-2.0.7


IPMI可以通過本地和遠程兩種方式來獲取被監控服務器的監測信息,兩種方式都需要相關的硬件,但是軟件的安裝和軟件命令使用稍微有所不同。
1 軟件安裝
1.1本地獲取軟件安裝
通過本地方式獲取服務器相應狀態信息,需要安裝ipmi驅動程序和用於獲取信息的軟件。驅動程序使用OpenIPMI, ipmi工具軟件可以安裝ipmitool或者ipmiutil,或者freeipmi。軟件下載網址爲:
OpenIPMI:http://openipmi.sourceforge.net/
Ipmitool: http://ipmitool.sourceforge.net/
http://ipmitool.sourceforge.net/manpage.html
ipmiutil:  http://ipmiutil.sourceforge.net/
1.2遠程獲取軟件安裝
遠程監控只需要在監控客戶端上安裝用於獲取信息的軟件:ipmitool、ipmiutil或者reeipmi即可,而不需要在服務其上安裝任何工具。
2 服務器監控信息獲取
2.1本地獲取服務器監控信息
在獲取本地服務器相關的監控信息之前,需要啓動相應的驅動模塊,可以通過以下兩種命令啓動驅動:
/etc/init.d/ipmi start
或者通過以下命令:
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si
modprobe ipmi_poweroff
modprobe ipmi_watchdog

啓動ipmi驅動後,通過cat /proc/devices | grep ipmidev獲得設備號,我得到的設備號是253,用mknod -m 600 /dev/ipmi0 c 253 0 建立文件索引點。
然後就可以在本地服務器上運行各種ipmi工具獲取相應的服務器信息了。
        以下所有的命令都是我用到的,還有更多命令沒有涉及,可以查看相應的幫助文檔來獲得所有命令的用法。
2.1.1 使用ipmitool本地獲取信息
Ipmitool本地監控使用命令:ipmitool –I open command,其中-I open表示使用OpenIPMI接口,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> <threshold> <setting>設置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 <option>=[on|off],設置bmc相應的允許/禁止選項。
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)不能進行設置,也可以使用ipmiutil來進行初始設置。

2.1.2 使用ipmiutil本地獲取信息
Ipmiutil安裝完成後,會包含以下可執行命令:
•        alarms –顯示和設置Telco alarms報警(LED顯示和延遲)
•        bmchealth – 測試BMC是否工作正常。
•        fruconfig – 顯示FRU的產品信息,寫入有用信息
•        getevent – 接收一個IPMI event,並顯示。
•        hwreset – 用於使 firmware 硬重新啓動或者關掉系統
•        pefconfig – 用於顯示和配置LAN端口,配置Platform Event Filter 表,來通過firmare event產生BMC Lan提示
•        sensor – 顯示Sensor Data Records,值和閾值。
•        showsel – 顯示System Event Log記錄。
•        tmconfig – 顯示和配置BMC串口。
•        wdt – 顯示和設置看門狗時間.
以上命令種中最爲常用的是sensor命令和pefconfig命令。
使用sensor命令可以獲取各種監測信息。使用pefconfig命令設置BMC,使得BMC可以在系統有event時候,進行報警。
Sensor  命令顯示服務器狀態信息。
Pefconfig –e命令用於設置BMC硬件,該命令將從操作系統收集相應的信息,並對bmc進行設置,使得BMC能夠在有event時候報警(alert)。
Pefconfig –d命令將設置bmc不報警。
2.2遠程獲取服務器監控信息
遠程獲取服務器監控信息時,需要系統硬件支持ipmiV1.5和IPMIV2.0。獲取信息時,不需要在服務器上安裝其他軟件,只需要在監控的客戶端上安裝ipmi工具軟件,如ipmitool、ipmiutil或者freeipmi,並需要在相應命令中加入遠端服務器的名字或者地址。Ipmitool和ipmiutil可以通過LAN遠程監控系統,同時BMC中保存有一序列用戶名和密碼,通過LAN進行遠端訪問需要用戶名和密碼。
2.2.1使用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+協議(在IPMIV20中描述)來同新,RMCP+允許使用改經的認證方式和數據完整性檢查。Open端口用於本地監控系統使用的;Lan/lanplus通過網絡進行遠程監控。
遠程獲取服務器監控信息時,需要加上遠程服務器的地址。使用以下的命令格式:
ipmitool -H 10.6.77.249 -U root -P changeme -I lan command。其中-H表示後面跟的是服務器的地址,-U表示後面跟着用戶名,-P表示後面跟着用戶密碼,command與本地獲取信息相同。
2.2.2使用ipmiutil獲取遠程服務器信息
Ipmiutil的sensor命令格式如下:
Sensor -N nodename –U user –R passwd ,
其中-N後面跟的是被監控服務器名字,-U後是用戶名,-R後是用戶密碼。
Pefconfig -e -N nodename –U user –R passwd命令用於設置BMC硬件,該命令將從操作系統收集相應的信息,並對bmc進行設置,使得BMC能夠在有event時候報警。
Pefconfig -d -N nodename –U user –R passwd將不允許報警
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章