036、Linux下ipmitool命令
http://www.ibm.com/developerworks/cn/linux/l-ipmi/
http://my.oschina.net/davehe/blog/88801
1、IPMI(Intelligent Platform Management Interface): 即智能平臺管理接口是使硬件管理具備“智能化”的新一代通用接口標準。用戶可以利用 IPMI 監(jiān)視服務(wù)器的物理特征,如溫度、電壓、電扇工作狀態(tài)、電源供應(yīng)以及機箱***等。ipmi最大的優(yōu)勢在于它是獨立于CPU BIOS和OS的,所以用戶無論在開機還是關(guān)機的狀態(tài)下,只要接通電源就可以實現(xiàn)對服務(wù)器的監(jiān)控。ipmi是一種規(guī)范的標準,由美國英特爾、惠普(Hewlett-Packard)、NEC、美國戴爾電腦和SuperMicro等公司制定。新的版本是IPMI2.0(http://www.intel.com/design/servers/ipmi/)。其中最重要的物理部件就是BMC(Baseboard Management Controller),一種嵌入式管理微控制器,它相當于整個平臺管理的“大腦”,通過它ipmi可以監(jiān)控各個傳感器的數(shù)據(jù)并記錄各種事件的日志。
新版本的IPMI可以通過串口、Modem以及Lan等遠程環(huán)境管理服務(wù)器系統(tǒng)(包括遠程開關(guān)機),同時在系統(tǒng)發(fā)生錯誤時能自動發(fā)出警告。要對服務(wù)器進行IPMI管理,需要被監(jiān)控的系統(tǒng)具有支持IPMI的硬件設(shè)備。如果服務(wù)器具有底板管理控制器 (Baseboard Management Controller ,BMC),并且支持IPMI規(guī)范,則通過BMC與主機板上的不同傳感器通信來監(jiān)視系統(tǒng)是否有嚴重事件,并在某些參數(shù)超出其預(yù)置閾值時發(fā)出警報和日志事件。BMC具有以下功能:
(1)通過系統(tǒng)的串行端口進行訪問。
(2)故障日志記錄和SNMP警報發(fā)送。
(3)訪問系統(tǒng)事件日志 (System Event Log ,SEL) 和傳感器狀況。
(4)控制包括開機和關(guān)機。
(5)獨立于系統(tǒng)電源或工作狀態(tài)的支持。
(6)用于系統(tǒng)設(shè)置、基于文本公用程序和操作系統(tǒng)控制臺的文本控制臺重定向。
(7)使用LAN訪問Red Hat Enterprise Linux串行控制臺界面。
2、使用ipmi的先決條件: 想要實現(xiàn)對服務(wù)器的ipmi管理,必須在硬件、OS、管理工具等幾個方面都滿足。
(1)服務(wù)器硬件本身提供對ipmi的支持。
(2)目前IBM、HP、Dell和NEC等大多數(shù)廠商的服務(wù)器都支持IPMI,但并不是所有服務(wù)器都支持,所以應(yīng)該先通過產(chǎn)品手冊或在BIOS中確定服務(wù)器是否支持ipmi,也就是說服務(wù)器在主板上要具有BMC等嵌入式的管理微控制器。
(3)操作系統(tǒng)提供相應(yīng)的ipmi驅(qū)動。通過操作系統(tǒng)監(jiān)控服務(wù)器自身的ipmi信息時需要系統(tǒng)內(nèi)核提供相應(yīng)的支持,linux系統(tǒng)通過內(nèi)核對OpenIPMI(ipmi驅(qū)動)的支持來提供對ipmi的系統(tǒng)接口。
3、用IPMI管理工具對服務(wù)器進行管理: IPMI可以通過本地和遠程兩種方式來獲取被監(jiān)控服務(wù)器的監(jiān)測信息,兩種方式都需要相關(guān)的硬件,但是軟件的安裝和軟件命令使用稍微有所不同。常用的管理工具是ipmitool,在http://ipmitool.sourceforge.net/。Linux下需要先安裝OpenIPMI驅(qū)動并啟動它,在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驅(qū)動有ism, ms, lan, lanplus, rmcp+lan等,其中ms表示Microsoft的ipmi驅(qū)動。注意驅(qū)動必須安裝在服務(wù)器的OS中,管理工具可以安裝服務(wù)器上(本地管理),或者遠程的客戶端上(遠程管理)。
Linux上啟動OpenIPMI驅(qū)動模塊常用/etc/init.d/ipmi start。啟動ipmi驅(qū)動后,通過cat /proc/devices | grep ipmidev獲得設(shè)備號,比如得到的設(shè)備號是253,用mknod -m 600 /dev/ipmi0 c 253 0建立文件索引點。然后就可以在本地服務(wù)器上運行各種ipmi工具獲取相應(yīng)的服務(wù)器信息了。
4、使用ipmitool本地獲取信息。
ipmitool本地監(jiān)控使用命令: ipmitool –I open command,其中-I open表示使用OpenIPMI接口,Windows下則常用-I ms。command有以下項:
a) raw:發(fā)送一個原始的IPMI請求,并且打印回復(fù)信息。
b) Lan:配置網(wǎng)絡(luò)(lan)信道(channel)
c) chassis :查看底盤的狀態(tài)和設(shè)置電源
d) event:向BMC發(fā)送一個已經(jīng)定義的事件(event),可用于測試配置的SNMP是否成功
e) mc:查看MC(Management Contollor)狀態(tài)和各種允許的項
f) sdr:打印傳感器倉庫中的所有監(jiān)控項和從傳感器讀取到的值。
g) Sensor:打印詳細的傳感器信息。
h) Fru:打印內(nèi)建的Field Replaceable Unit (FRU)信息
i) Sel:打印 System Event Log (SEL)
j) Pef:設(shè)置 Platform Event Filtering (PEF),事件過濾平臺用于在監(jiān)控系統(tǒng)發(fā)現(xiàn)有event時候,用PEF中的策略進行事件過濾,然后看是否需要報警。
k) Sol/isol:用于配置通過串口的Lan進行監(jiān)控
l) User:設(shè)置BMC中用戶的信息 。
m) Channel:設(shè)置Management Controller信道。
ipmitool –I open sensor list命令可以獲取傳感器中的各種監(jiān)測值和該值的監(jiān)測閾值,包括(CPU溫度,電壓,風扇轉(zhuǎn)速,電源調(diào)制模塊溫度,電源電壓等信息)
ipmitool –I open sensor get “CPU0Temp”可以獲取ID為CPU0Temp監(jiān)測值,CPU0Temp是sensor的ID,服務(wù)器不同,ID表示也不同。
ipmitool –I open sensor thresh <id> <threshold> <setting>設(shè)置ID值等于id的監(jiān)測項的各種限制值。
ipmitool –I open chassis status查看底盤狀態(tài),其中包括了底盤電源信息,底盤工作狀態(tài)等
ipmitool –I open chassis restart_cause查看上次系統(tǒng)重啟的原因
ipmitool –I open chassis policy list 查看支持的底盤電源相關(guān)策略。
ipmitool –I open chassis power on啟動底盤,用此命令可以遠程開機
ipmitool –I open chassis power off關(guān)閉底盤,用此命令可以遠程開機
ipmitool –I open chassis power reset實現(xiàn)硬重啟,用此命令可以遠程開機
ipmi還可以設(shè)置系統(tǒng)啟動boot的設(shè)備,具體見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],設(shè)置bmc相應(yīng)的允許/禁止選項。
ipmitool-I open event 1 發(fā)送一個溫度過高的消息到System Event Log中,可以發(fā)送的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 打印現(xiàn)咱channel 1的信息 。
ipmitool -I open lan set 1 ipaddr 10.10.113.95設(shè)置channel 1 的地址為10.10.113.95
ipmitool -I open lan set 1 snmp public設(shè)置channel 1 上snmp的community為public。
ipmitool -I open lan set 1 access on設(shè)置channel 1允許訪問。
ipmitool -I open pef info打印Platform Event Filtering (pef)信息
ipmitool -I open pef status查看Platform Event Filtering (pef)狀態(tài)
ipmitool -I open pef policy查看Platform Event Filtering (pef)策略設(shè)置
ipmitool -I open sdr list fru 讀取fru信息并顯示。
備注:PEF由BMC廠商的FIRMWARE設(shè)置,ipmitool(V1.8.8)不能進行設(shè)置。
Dell 系統(tǒng)底板管理控制器 (BMC) 通過與主板上的不同傳感器通信來監(jiān)視系統(tǒng)是否有嚴重事件,并在某些參數(shù)超出其預(yù)置閾值時發(fā)出警報和日志事件。 BMC 支持工業(yè)標準的 Intelligent Platform Management Interface (IPMI) 協(xié)議,可以實現(xiàn)遠程配置、監(jiān)測和恢復(fù)系統(tǒng)。 BMC 提供以下功能:
通過系統(tǒng)的串行端口和集成 NIC 進行訪問
故障日志記錄和 SNMP 警報發(fā)送
訪問系統(tǒng)事件日志 (SEL) 和傳感器狀況
控制包括開機和關(guān)機在內(nèi)的系統(tǒng)功能
獨立于系統(tǒng)電源或工作狀態(tài)的支持
用于系統(tǒng)設(shè)置、基于文本公用程序和操作系統(tǒng)控制臺的文本控制臺重定向
使用 LAN 上串行 (SOL) 訪問 Linux Enterprise 服務(wù)器串行控制臺界面。
二,環(huán)境檢測
dell x9xx系列機器都支持ipmi 2.0協(xié)議,如果是在linux環(huán)境中,可以運行下面的命令來確認
[root@host ~]# dmidecode |sed -n '/IPMI/,+5p'
如果能看到IPMI信息,就說明支持ipmi,比如下面就是pe 2950 的輸出,注意Version 是2.0
IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 2.0
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000CA8 (I/O)
同時需要啟動ipmi服務(wù),centos 4 默認安裝了該服務(wù)執(zhí)行
#/etc/init.d/ipmi start
如果啟動成功就ok
注意:如果要通過網(wǎng)線來控制另一個機器的電源或者是bios重定向,需要滿足的條件是這兩個機器在同一個局域網(wǎng)或者vlan里面,所以在同一個機房,可能會有機器之間不能相互控制,因為不在同一個vlan或者局域網(wǎng)。
三,配置:
配置bmc可以有多種方法配置,比如開機時候按ctrl+E直接進入配置界面;或者是利用dell 的server admin (web界面)工具包配置,以及dell SDK光盤里面syscfg(CLI命令行)工具配置;還可以通過ipmitool工具進行配置,ipmitool是一個開源軟件,這是最方便的配置方 式。考慮到多數(shù)機器都是在機房,所以這里主要演示利用ipmitool進行配置的方法。 其他配置方式參考dell文檔光盤,有詳細的傻瓜化文檔。
1. 開啟ipmi 服務(wù)
#/etc/init.d/ipmi start
2. 編譯安裝ipmitool 工具
從http://ipmitool.sourceforge.net/ 下載最新穩(wěn)定版本,然后編譯安裝到/opt/app/ipmitool
,然后執(zhí)行該文件自動安裝.
3.具體的配置
ipmitool lan set <channel_no> ipsrc static
ipmitool lan set <channel_no> ipaddr x.x.x.x
ipmitool lan set <channel_no> netmask x.x.x.x
ipmitool lan set <channel_no> defgw ipaddr x.x.x.x
ipmitool bmc reset cold 重新加載下
dell和IBM的<channel_no>是1,hp的是2
#$ipmitool lan set 1 ipaddr 10.0.0.12
#$ipmitool lan set 1 netmask 255.255.255.0
#$ipmitool lan set 1 access on
#$ipmitool lan set 1 user
配置好網(wǎng)卡地址和訪問權(quán)限。
修改一下root用戶的密碼
#$ipmitool user list 1
#$ipmitool user set password 2 secpass
本機的設(shè)置就完成了。
四,測試
然后在局域網(wǎng)的另一個機器上安裝好ipmitool ,并且配置一個10.0.0.0/24網(wǎng)段內(nèi)的地址到該機器上。
比如
# ip a add 10.0.0.11/24 dev eth0
然后測試一下是否能ping 通 10.0.0.12
# ping 10.0.0.12
如果網(wǎng)絡(luò)通了,則開始下一步的操作
例如直接對服務(wù)器關(guān)機
#ipmitool -I lan -U root -P secpass -H 10.0.0.12 power off
開機
#ipmitool -I lan -U root -P secpass -H 10.0.0.12 power on
reset
#ipmitool -I lan -U root -P secpass -H 10.0.0.12 power reset
通過sol控制bios和查看linux啟動的輸出
#ipmitool -I lanplus -U root -P secpass -H 10.0.0.12 sol activate
輸入~+. 中斷鏈接,輸入~+? 查看幫助
參考文檔 http://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html
5、使用ipmitool獲取遠程服務(wù)器信息。
ipmitool命令需要通過相應(yīng)的interface來訪問BMC,在本地獲取信息時候采用的是-I open,即為OpenIPMI接口,IPMItool命令包含的接口有open、lan、lanplus。其中open是指的是OpenIPMI與BMC通信,lan是通過Ethernet LAN網(wǎng)用IPV4的udp協(xié)議與BMC通信。UDP的數(shù)據(jù)段包含了IPMI request/resoponse消息,消息具有一個IPMI session頭和RMCP頭。IPMI使用Remote Management Control Protocol (RMCP) 版本1支持操作系統(tǒng)關(guān)閉(pre-OS和OS-absent),RMCP把把數(shù)據(jù)發(fā)送到UDP的623端口。像lan接口一樣,lanplus同樣使用Ethernet LAN的UDP協(xié)議與BMC通信,但是lanplus使用rmcp+協(xié)議(在IPMIV2.0中描述)來通信,RMCP+允許使用改經(jīng)的認證方式和數(shù)據(jù)完整性檢查。Open端口用于本地監(jiān)控系統(tǒng)使用的;lan/lanplus通過網(wǎng)絡(luò)進行遠程監(jiān)控。
遠程獲取服務(wù)器監(jiān)控信息時,需要加上遠程服務(wù)器的地址。使用以下的命令格式:
ipmitool -H 10.6.77.249 -U root -P changeme -I lan command。
其中-H表示后面跟的是服務(wù)器的地址,-U表示后面跟著用戶名,-P表示后面跟著用戶密碼,command與本地獲取信息相同。
當提示:
[root@localhost ~]# ipmitool sdr
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No
such file or directory
Get Device ID command failed
Unable to open SDR for reading
需要添加如下:
unset HISTFILE
modprobe ipmi_watchdog
modprobe ipmi_poweroff
modprobe ipmi_devintf
modprobe ipmi_si
modprobe ipmi_msghandler
當添加ipmi_si時,提示:
FATAL: Error inserting ipmi_si (/lib/modules/2.6.9-5.ELsmp/kernel/drivers/char/ipmi/ipmi_si.ko): No such device
這是因為機器上沒有IPMI設(shè)備而出現(xiàn)的報錯。
轉(zhuǎn)載于:https://blog.51cto.com/cxj632840815/1235978
總結(jié)
以上是生活随笔為你收集整理的036、Linux下ipmitool命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos6.3下利用rsyslog+
- 下一篇: linux下svn客户端安装及环境配置